CTO School Meetup - Jan 2013 Becoming Better Technical Leader
CTO School MeetupJanuary 2013 Becoming a Better Technical Leader by Jean Barmash
Agenda• Role of the CTO / VPE / Tech Lead• Three Skill Areas Technical Process Managerial
About Me:• CTO / Head of Product / Only Developer @ 5 OClock Records – Service for Doctors & 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 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
CTO Role in DifferentOrganizationsInfrastructure 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
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 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
Three Key Skill Areas• Technical• Process / Operational• Leadership / Management / Executive• Note – at CTO School Meetup, we strive to balance these out over time.
Even More Broad• UX & Usability• Design• Product Marketing• Metrics• System Administration• Other subject areas, i.e. marketing, sales, finance, etc.
Special Tech Skills• Enterprise 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 peoplebecomes 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 SizeAs team size or composition changes, theprocess will change correspondingly.Detecting inflection points when a process thatworked before stops working is very important.Its 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 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
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
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
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?
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 Leader• Non-technical skills become more and more important Communication Mentoring Networking Emotional Intelligence Persuasion Motivation Public Speaking Writing
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
Resources - BooksManaging HumansThe 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/
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
Skills Conclusion• Make a plan for your own growth, esp important to you and your company Start with whats 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