Traits of Successful Software Developers
Working in a team¶
- Don’t malign bad code
- Don’t malign yourself
- Be reliable
- Be approachable
- Work with good people
- Make your own code easy to review
Managing Projects¶
- Break the project up into chunks
- Finish things
- Minimizing WIP
- Do uncertain things first
- Write tools
- Write good tools
Writing Code¶
- Close slack
- Use a timer
- Don’t worry
- Never do anything clever unless you have to.
- Think in terms of interfaces/contracts
- Be paranoid about what could go wrong
- Make your decisions easy to reverse
- The quickest way to write code is to not write it at all
Summary:¶
Working in a Team:
- Avoid criticizing bad code and focus on constructive feedback.
- Avoid self-deprecation and have confidence in your abilities.
- Be dependable and fulfill your commitments.
- Be approachable and open to collaboration with others.
- Surround yourself with competent and positive teammates.
- Write code that is easy for others to review and understand.
Managing Projects:
- Divide projects into manageable chunks for better organization.
- Prioritize completing tasks to avoid accumulating unfinished work.
- Limit work in progress to maintain focus and productivity.
- Tackle uncertain or challenging tasks first to address potential obstacles.
- Develop tools and scripts to streamline workflows.
- Create high-quality tools that enhance efficiency and effectiveness.
Writing Code:
- Minimize distractions by closing communication channels like Slack.
- Utilize timers to enhance time management and maintain productivity.
- Avoid unnecessary worry and focus on problem-solving.
- Embrace simplicity and avoid overly complex solutions unless necessary.
- Design code with clear interfaces and well-defined contracts.
- Adopt a cautious mindset and anticipate potential issues.
- Make decisions reversible to facilitate flexibility and adaptability.
- Explore alternatives to writing code when possible to achieve desired outcomes more efficiently.
source video by Robert Heaton