#the theory of Retirement age of engineer is 35 years old (Japanese engineers pessimistically talk about this ) ##1st phase
- before service is rolled out
- you develop the code of service by yourself
- the thing that you must do is only developing your service
- though you are working 16hours per day, you are not tired because you only are programing. it's fun.
- you spend all time to develop your service
- you enjoy almighty feeling because you impelement all thing from infrastructure layer to software layer a.k.a full-stack engineer
##2nd phase
- after service is rolled out
- you must do ops(e.g. user support). so your developing speed is slow down
- you start to hire engineer
- not-programing tasks(e.g. arrange spec, code review) are increasing a little bit
- but you are still main engineer
- you do all of code review, release product and merge code
- you grasp the overall development and the detail development
##3rd phase
- Getting the situation of your service on track, you are hiring lots of engineers
- but there is no personnel management system. so you must spend many time to operate the hiring and to interview.
- you must spend lots time to code-review
- the queue that you review code often became a bottleneck
- you start delegation of authority of code-review, merge and release
- though you grasp the overall your system, but you dont grasp some parts of whole your system.
- the engineer who is better than you at the point of engineering is joined. and you dont understand some part of code that the good engineer implements.
- but you only grasp the core of your system, so you can keep your identity as engineer by updating/modifying/fixingbug about the core.
- At same time, new hired engineer often gets angly about your initisl implementation.
- yet the codes that you wrote remains more than half of whole codes
##4th phase
- you gradually became that you can not grasp the situation of each engineers. so you start 1on1, you start the assessment of an employee's performance.
- you must spend many time management tasks(e.g. 1on1, assessment of emoloyee's performance)
- the time that you can spend for programing is decreasing very much
- the bottleneck that you cause (e.g. waiting your review) occurs high frequency.
- in the some case, the implementation that you dont understand appears
- When you off guard, the part that you can't understand appear about whole architecture
- the code that you wrote go getting small
- you gradually go lost confidence as engineer
- the part that you can grasp is too small and the part is only your identity as engineer
- when your member asks you about spec of code, you teach a lie because you mistake to understand the code.
- the frequency of mistaking like it is increasing. and you lost the identity of engineer.
##5th phase
- in addition to 4th term, you must spend almost time to arrange each departments, to make documents to report and to manage your team.
- you became not to able to catch up the situation of system. and you became the man that you tell who grasp blablebla. like a pointer man.
- junior engineer points out your code that you write after a long interval without mercy. you lose your confidence for engineering
- or perhaps, you realize only that you prove your value by doing management
- but the road of management is not easy.