CTO School Meetup - Jan 2013 Becoming Better Technical Leader

download CTO School Meetup - Jan 2013   Becoming Better Technical Leader

If you can't read please download the document

Transcript of CTO School Meetup - Jan 2013 Becoming Better Technical Leader

CTO School MeetupJanuary 2013

Becoming a Better Technical Leaderby Jean Barmash

AgendaRole of the CTO / VPE / Tech Lead

Three Skill Areas

Technical

Process

Managerial

About Me: CTO / Head of Product / Only Developer @ 5 O'Clock Records

Service for Doctor's & Hospitals to manage medical records requests

Technology: Ruby on Rails / Heroku/ PostgreSQL

Previously:Technical Consulting- many projects, technologies, and business needs.

Managed teams up to 20 people

Trainer / Teacher

Software Architect

Developer on a Product Team

Public Speaker & Writer

Project & Product Management

CTO vs. VP EngSupport the business strategy of your business by formulating and executing technical strategy.

CTO - Technical Vision

Great CTOs usually cant manage their way out of a paper bag, but have huge vision, the ability to pull an all-nighter and crank out a rough prototype of the thing they are thinking about, have the unique ability to translate complex / abstract thoughts into simple English that a non-technical end-user can understand, and a willingness (or even desire) to get up in front of 1,000 people and talk about the latest greatest thing they are working on / thinking about. They are also perfectly happy to work collaboratively with the VP Eng while leaving the engineering team completely alone

VP Engineering Technical Execution

Process / management gods and goddesses totally focused on building and shipping products. Most of them are medium technical strong enough to stand up to the engineers they manage, but not necessarily the best coders on the team. A few were rock star developers; a few were non-programmers (i.e. anymore)

Source: Brad Feldhttp://www.feld.com/wp/archives/2007/10/cto-vs-vp-engineering.html

http://www.bothsidesofthetable.com/2010/04/19/want-to-know-the-difference-between-a-cto-and-a-vp-engineering/

CTO Role in Different Organizations

Infrastructure ManagerIT in a support function

External Facing TechnologistTechnology is used to provide products & services to customers / partners

Customer-Focused Technologist

Market research & key customer focus

Big ThinkerEvaluate how technology can be used to create new business models / products

Advanced technology, competitive assessments, prototyping

(Werner Vogels) http://www.allthingsdistributed.com/cto/

http://www.brixtonspa.com/Career/The_Role_of_the_CTO_4Models.pdf

CTO Focus as Company Grows http://www.socalcto.com/2007/12/acting-cto-role-in-start-up.html

Technical Role, But!Responsible for success of the company, not just technology

Strategy, Technical & Business

Participate in Sales

Partnership Discussions

Fund Raising

Build vs. Buy Decisions

General Leveling UpBuild a network. Learn from others

Self-assessment. Do you have any significant flaws?

Have somebody more senior assess you

Any gaps that are relevant to your company?

Mitigate knowledge gaps

Get involved in community

Get mentors / advisors

Performance is a discussion with co-workers

Three Key Skill AreasTechnical

Process / Operational

Leadership / Management / Executive

Note at CTO School Meetup, we strive to balance these out over time.

1. Technical SkillsT-Shaped Broad in many areas, and

Deep in a few

Expert-Level - Deep

CS 101 Data Structures, Algorithms

Chosen field of technology (Ruby, .NET, Java, Python, PHP, JavaScript)

OO / Functional Design

UI Technologies (HTML, CSS, Ajax Libraries)

Design & Software Architecture

1. Technical Skills - BroadSecurity Persistence OptionsCloud Architectures / HostingScalabilityCode QualityIntegration Options & ArchitecturesInfrastructure & Systems OperationsEtc.

Even More BroadUX & Usability

Design

Product Marketing

Metrics

System Administration

Other subject areas, i.e. marketing, sales, finance, etc.

Special Tech SkillsEnterprise Architecture

Facebook, Web, Mobile Platforms

Payments / Subscriptions Technologies

Content Management

SEO

Ad Platforms

Special Algorithms & Technologies

Hardware

Self Assessment

What key technology areas are you good at?

What are you OK at?

What do you not know that is a potential liability?

Want to have good working understanding of key areas, such as performance, scaling, monitoring, infrastructure, security, maintainability.

What technologies have relevance to what you do?

How do you improve?

Do you know how you learn best?

Read a lot, experiment

Prototypes, Spikes

Meetups, Conferences (attend, speak, or volunteer)

Contribute to Open Source, Blog

Get a brain trust group going, esp similar technologies

Get a Technical Advisor or Mentor

If you manage a team, you can focus learning as a team by assigning research topics to your reports.

Personal technology radar (http://www.thoughtworks.com/radar)

Make a plan for things you should learn over the next six months

Some Resources - Books

Highscalability.com

Pragmatic Programmer

Solving Enterprise Applications Performance Puzzles: Queuing Models to the Rescue

SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST by Thomas Erl

Seven language in seven weeks

Seven databases in seven weeks

The Art of Scalability by Martin L Abbott and Michael T Fisher

Enterprise Software Delivery by Alan W. Brown

Scalable Internet Architecture by Theo Schlossangle

Managing Software Debt by Chris Sterling

The Datacenter as a Computer by Luiz Barroso and Urs Holzle (available online for free)

2. Process Skills Software Development Life Cycle

Agile, Kanban, Lean, Scrum

Source Control & Build Tools

Issue Tracking

Quality Assurance

Security Processes

Project Management

Estimation

Usability / UX

Product Management

Improving Process SkillsThis is where interacting with other people becomes hugely important Agile Meetups / Conferences

Certifications (i.e. Scrum)

Continuing Education Courses (i.e. Project Management)

Self-learning - books (Code Complete), Podcasts

Have you been part of a full SDLC?

Experiment & Learn

Process Changes with Team Size As team size or composition changes, the process will change correspondingly.

Detecting inflection points when a process that worked before stops working is very important.

It's always a balancing act.

Resourceshttp://www.randsinrepose.com/archives/2013/01/01/the_process_myth.htmlKanban - David AndersonPrinciples of Product development flow - Don ReinertsenContinuous Delivery by Jez Humble and Dave FarleyExtreme ProgrammingThe GoalArticle:Facebook Release Process Http://Www.Businessweek.Com/Articles/2012-10-04/Facebook-The-Making-Of-1-Billion-UsersThe lean startup - Eric RiesRunning Lean - Ash MauryaAgile Estimating & Planning by Mike CohnProduct Strategy for High Technology Companies by Michael E McgrathInspired by Marty CaganAgile Software Requirements by Dean LeffingwellSoftware Product Management and Pricing by Hans-Bernd Kittlaus and Peter N CloughSubject to Change by Peter Merholz and Brandon SchauerRelease It! Design and Deploy Production-Ready Software by Michael T NygardGrowing Software by Louis Testa

3. Leadership / Management SkillsDepend on Company Stage / Size

Lead Through Doing / Example

Lead Through Others

Lead By Vision

Setting Technical Direction

Recruiting & Growing Teams

Managing People, including Remote

Mentoring & Growing People

Motivating

Public Speaking

Writing

Your roleYour role becomes supporting, mentoring

The job is to make sure the team is effective, and to remove roadblocks to productivity

Have a relationship with your report, know what they care about, where they want to go

Help them grow into where they want to go.

A lot of it has to do with focus, but there are specific techniques and skills you need to develop

Being Part of Executive TeamThink in terms of the company, not technology

Offer Technical Options

Resource Planning

Educate the other executives about technology capabilities, processes, etc.

Input on short and long-term business vision, strategies and plans;

Help define business priorities

Different from lone executor, your job is to make the company successful.

Improving as ManagerFocus starts shifting on people skills and emotional intelligence

Your concern is the team, and growing individuals

Can you leave for a week without major disruption?

Different from lone executor, your job is to make the company successful.

How do you grow your people?Is your team good enough to function without you?

Have a growth plan for everybody (even if informal)

Setup internal mentoring program

Code reviews great way to pass on technology knowledge.

Improving as a LeaderNon-technical skills become more and more important

Communication

Mentoring

Networking

Emotional Intelligence

Persuasion

Motivation

Public Speaking

Writing

Different from lone executor, your job is to make the company successful.

ResourcesLifeLabsNewYork.com

Various classes that improve Emotional Intelligence

Center for Creative Leadershiphttp://www.ccl.org/Leadership/

Manager Tools Podcasthttp://www.manager-tools.com/podcasts/manager-tools

http://www.manager-tools.com/downloadable-forms

Joel Spolsky 3 Management Methodshttp://www.joelonsoftware.com/items/2006/08/07.html

Different from lone executor, your job is to make the company successful.

Resources - BooksManaging Humans The Mythical man month" is a must read - if only for historical contextPresentation Zen Design by Garr ReynoldsCulture - http://www.slideshare.net/reed2001/culture-1798664 newcdn.flamehaus.com/Valve_Handbook_LowRes.pdf* Managing Humans http://www.amazon.com/Managing-Humans-Humorous-Software-Engineering/dp/1430243147* Mythical Man-Month http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959* Leading Lean Software Development http://www.amazon.com/Leading-Lean-Software-Development-Results/dp/0321620704* Peopleware: productive projects and teams http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439* Why Managing Sucks and How to Fix it http://www.gorowe.com/Apprenticeship patternsManagement 3.0 - http://www.amazon.com/Management-3-0-Developers-Developing-Addison-Wesley/dp/0321712471Interviewing - Http://Www.Joelonsoftware.Com/Articles/GuerrillaInterviewing3.HtmlBook - 5 Dysfunctions of a TeamREWORK - http://www.amazon.com/Rework-ebook/dp/B002MUAJ2A/Different from lone executor, your job is to make the company successful.

More on Executive SkillsReview and influence the product road map,

Review / provide input on some investor presentation materials, business proposals

Participate in new business, partnership or investor meetings on a limited basis,

Business practices that will help to derive greatest short-term and long-term value from the technical team and other resources.

http://socalcto.blogspot.com/2007/12/acting-cto-role-in-start-up.html

Skills ConclusionMake a plan for your own growth, esp important to you and your company

Start with what's both important to you and to your company

Different priorities compete with each other.

ALL are important

Difficult to make short-term vs. long-term tradeoffs

Effective Time Management is essential

Make sure you know whats most important for you right now

Resourceshttp://www.feld.com/wp/archives/2007/10/cto-vs-vp-engineering.html

http://www.startuplessonslearned.com/2008/09/what-does-startup-cto-actually-do.html

http://pmarca-archive.posterous.com/the-pmarca-guide-to-startups-part-8-hiring-ma

http://www.joelonsoftware.com

http://mitchellashley.typepad.com/the_converging_network/2007/10/cto-and-vp-engi.html

http://www.bothsidesofthetable.com/2010/04/19/want-to-know-the-difference-between-a-cto-and-a-vp-engineering/

http://www.quora.com/Engineering-Management/What-are-the-most-important-qualities-in-a-great-VP-of-Engineering-for-a-consumer-Web-business

http://littletutorials.com/2008/07/07/success-as-technical-lead/

http://stackoverflow.com/questions/833897/what-makes-a-good-technical-team-lead

http://stackoverflow.com/questions/79896/what-else-does-one-need-on-top-of-programming-skills-to-be-a-good-technical-lead

http://stackoverflow.com/questions/465560/most-important-non-technical-skill-youve-acquired

http://stackoverflow.com/questions/246585/what-is-the-most-important-thing-to-do-for-a-new-technical-manager-or-lead

http://codemonkeyism.com/startup-cto/

http://www.allthingsdistributed.com/cto/

http://www.amazon.com/CTO-Job-Manual-Leadership-Technology/dp/1587623676

http://www.brixtonspa.com/Career/The_Role_of_the_CTO_4Models.pdf

http://www.modelbenders.com/papers/CTOStrategy_SmithR.pdf

Click to edit the title text format

Click to edit the title text format

Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline Level

Click to edit the title text format