programmer growth mapcommon seen path
并不复杂，无非以下几种：技术型：初级工程师->中级工程师->高级工程师->架构师（技术专家）->技术总监->CTO管理型：工程师->项目组长->项目经理->项目总监->技术总监->CTO交叉型：初级工程师->中级工程师->项目经理->技术总监->CTO（此路线技术和管理交叉进行，每个阶段做的事情不固定）转行型：初级工程师->转行产品、设计、销售、运营等Junior Developer0-3 yearscan write simple programPreliminary understanding of an entire application lifecycleNot comfortable in all parts of app
Senior Developer4-10+ Years of ExperienceCan write complex applicationsGood Design Skill and familiar with Design patternDeep understanding of each part of an app and lifecycleCapable in writing every part of an appFast learning skill to get things done
Business Expertwork close on product:
watch close on data:Almost same program skills as a Senior DeveloperVery good at communication and understandingDeep understanding of the lifecycle of an appKnow how and why in both business and techChallenge yourself and others ,often ask why and chase for a better way
Growth HackerBusiness Expert & Senior Developer & Data AnalysisLive with dataAb testHave the guts Deciding not to doAlways providing idea or better ideasGood at script programmingGood at tools to improve efficiency
the skill of growth hacker
A growth hacker should be familiar with or have a background in as many of these categories as possible:Product ManagementAdvertising, SEMUsabilityViral MarketingSEOCoding, Databases & SQLWeb design & UXCopywritingAnalitycsEmail marketing
What's a fullstack developer?
Why -- Is it better to be a full-stack developer?
It’s more about having an understanding in each of the areas above, to communicate intelligently between team members
and to be a good asset if the situation needs it.Devops: Dev + OpsSimilar to fullstack, it means some skillset of different field -- especially in CI/CD
in today's cutting edge tech, simply can work with such skillset by the help of IaaS
Architect7-10+ Years of ExperienceSame program skills as a Senior Developerknow more than 2 or 3 program languages and tech stacksDeep understanding of Network, Ops, and the whole computer systemHave great experience in handling high concurrency & high stability service
Manager / LeaderIt's more that Senior Developer, which need more about soft skillA good team playerGood GTD skillSame program skills as a Senior DeveloperLeadership: good at bring all developer together to divide and conquerVery good at communication to all people(upper & peer & subordinate) and understandingExtroverts is preferredAgile skill
Agile experience needed
Senior Leader / CTOSame skill as Manager / LeaderLead team work for the same directionProblem solverAlways self driving & encouragingFocus on people, CultureGood at Risk management, PlanningDeem projects as business (ROI)keep coding and commit to the side parts of the projects
CTO skillset required from quota
CEOnot that yet, TBChow to reach the top in a quicker wayThe best way to get it is to teach itLearn by DoingLearn by Following a masterLearn by Improving, ResearchLearn by Teaching (less input , more output)Little Yellow DuckWrite your side projectsKeep blogging / taking notes/ summaryKeep doing the above.
ConclusionSenior leaders are never born naturally. They are made（骨干是折腾出来的）. It takes practice to be good about it.
career path of a programmer
If you want to Learn something, Teach it