Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * How to Become a Better Software Developer: A Handbook on Personal Performance
- ** Mindset
- *** 10k hours => 1 year-ish
- *** Passion
- *** Performance distribution
- .
- *** 8 characteristics
- .
- ** Measure
- *** No single way to measure performance (points?)
- *** subjective and relative
- *** The best way to assess a developer’s performance is to measure their growth over time
- *** “If your continuously evaluating your progress and making changes, then your performance will improve.”
- *** Runner example
- *** The process:
- 1. Define a way to measure your performance
- 2. Measure your performance
- 3. Set a goal
- 4. Continue to measure and compare performance over time
- 5. Identify and test new strategies for improving performance
- 6. Once you’ve reached your goal, repeat
- *** Personal time tracking
- **** A lot of opinions
- **** Time for mesaure performance is not always right
- **** Pick one KPI (points?, time?, user stories acepted?, pomodoros?) and measure it => is personal
- ** Mastering fundamentals
- I can build a pendulum in my garage. But, that doesn’t mean that I understand the physics.
- 1. Engineering fundamentals
- * Algorithms
- * Abstraction
- * Isolation
- * Databases
- 2. Language/framework fundamentals
- *** complexity growth
- e.g. Machine Learning
- **
- ** Exercises for Improvement
- *** fundamentals vs practice-learn
- Fundamentals are–well–fundamental.
- But, knowing the underlying components of programming != being a good engineer.
- “I think we are in an industry of continuous learning and if you are not learning then you’re not going to be performant,”
- “I think if they can genuinely say they learnt something (not superficially) then they should be happy about it.”
- “Learn, learn, learn. Read books, try new things, fail and try again.
- Stay abreast of the latest technology, watch conference videos (they are free).
- I can’t stress enough how things change so fast in our industry if you are not learning you’ll be left behind.”
- said Etienne Tremblay.
- *** Focused thinking
- we concentrate on a particular problem or question and actively try to come to a solution
- *** Diffuse thinking
- we let the idea incubate in sort of a latent or passive thinking mode–we’re not actively concentrating on it,
- but it remains somewhere in the back of our minds and we continue to look for solutions or patterns
- *** Side projects
- 1. Teaches you to add value (not just write code)
- 2. Pushes you to take action
- 3. Improves focus
- 4. Rewards perseverance
- 5. Makes you more empathetic
- *** Read other people’s code
- ** Solidifying Knowledge
- *** Use interleaving to learn new concepts
- * Dont study a topic for too long
- * Mix topics
- * Start again from other perspective or order
- *** Teach what you’ve learned to others
- .
- ** Teamwork
- “We don’t want heroes on the team”, wrote Hundhausen,
- “unless those heroes are sharing their knowledge, pairing up, being respectful to others, and not command- and-controlling the work.”
- *** Successfull team (MIT 2012)
- 1. Equal contribution from every member of the team
- 2. The team shares a lot of energy
- 3. Team members communicate directly with each other
- 4. The team conducts back-channel conversations
- 5. The members explore the outside world and report their findings back to the team
- *** Understanding your strengths (and weaknesses)
- Understand and communicate your strengths
- Understand and communicate your weaknesses
- Understand the strengths and weaknesses of others on your team
Add Comment
Please, Sign In to add comment