2. Agenda
• Role of the CTO / VPE / Tech Lead
• Three Skill Areas
Technical
Process
Managerial
3. 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
4. CTO vs. VP Eng
Support the business strategy of your business by formulating and executing technical
strategy.
CTO - Technical Vision
• “Great CTO’s usually can’t 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 Feld
http://www.feld.com/wp/archives/2007/10/cto-vs-vp-engineering.html
6. CTO Role in Different
Organizations
Infrastructure Manager
– IT in a support function
• External Facing Technologist
– Technology is used to provide products & services to
customers / partners
– Customer-Focused Technologist
– Market research & key customer focus
• Big Thinker
– Evaluate how technology can be used to create new
business models / products
– Advanced technology, competitive assessments,
prototyping
7. CTO Focus as Company Grows
http://www.socalcto.com/2007/12/acting-cto-role-in-start-up.html
8. 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
9. General Leveling Up
• Build 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
10. Three Key Skill Areas
• Technical
• Process / Operational
• Leadership / Management / Executive
• Note – at CTO School Meetup, we strive to balance these out over
time.
11. 1. Technical Skills
• T-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
•
13. Even More Broad
• UX & Usability
• Design
• Product Marketing
• Metrics
• System Administration
• Other subject areas, i.e. marketing, sales,
finance, etc.
14. Special Tech Skills
• Enterprise Architecture
• Facebook, Web, Mobile Platforms
• Payments / Subscriptions Technologies
• Content Management
• SEO
• Ad Platforms
• Special Algorithms & Technologies
• Hardware
15. 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?
16. 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
•
17. 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)
19. Improving Process Skills
This 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
20. 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.
21. Resources
http://www.randsinrepose.com/archives/2013/01/01/the_process_myth.html
Kanban - David Anderson
Principles of Product development flow - Don Reinertsen
Continuous Delivery by Jez Humble and Dave Farley
Extreme Programming
The Goal
Article:Facebook Release Process Http://Www.Businessweek.Com/
Articles/2012-10-04/Facebook-The-Making-Of-1-Billion-Users
The lean startup - Eric Ries
Running Lean - Ash Maurya
Agile Estimating & Planning by Mike Cohn
Product Strategy for High Technology Companies by Michael E Mcgrath
Inspired by Marty Cagan
Agile Software Requirements by Dean Leffingwell
Software Product Management and Pricing by Hans-Bernd Kittlaus and Peter N Clough
Subject to Change by Peter Merholz and Brandon Schauer
Release It! Design and Deploy Production-Ready Software by Michael T Nygard
Growing Software by Louis Testa
22. 3. Leadership / Management Skills
• Depend 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
23. Your role
• Your 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
24. Being Part of Executive Team
• Think 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
25. Improving as Manager
• Focus 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?
26. 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.
27. Improving as a Leader
• Non-technical skills become more and more
important
Communication
Mentoring
Networking
Emotional Intelligence
Persuasion
Motivation
Public Speaking
Writing
28. Resources
• LifeLabsNewYork.com
Various classes that improve Emotional Intelligence
• Center for Creative Leadership
http://www.ccl.org/Leadership/
• Manager Tools Podcast
http://www.manager-tools.com/podcasts/manager-tools
http://www.manager-tools.com/downloadable-forms
• Joel Spolsky – 3 Management Methods
http://www.joelonsoftware.com/items/2006/08/07.
html
29. Resources - Books
Managing Humans
The Mythical man month" is a must read - if only for historical context
Presentation Zen Design by Garr Reynolds
Culture - 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 patterns
Management 3.0 - http://www.amazon.com/Management-3-0-Developers-Developing-
Addison-Wesley/dp/0321712471
Interviewing - Http://Www.Joelonsoftware.Com/Articles/GuerrillaInterviewing3.Html
Book - 5 Dysfunctions of a Team
REWORK - http://www.amazon.com/Rework-ebook/dp/B002MUAJ2A/
30. More on Executive Skills
• Review 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
31. Skills Conclusion
• Make 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 what’s most important
for you right now