TL;DR style notes from articles I read today. I share these every weekday in my newsletter. You can sign up here to get these straight to your inbox.
Good developers are smart, not clever
- Smart developers keep it simple. “Good code is like a joke. If it has to be explained, it is not a good one.”
- They know when to improve code and they have clarity on the reasons behind doing it.
- They start by searching for solutions that are already present in the code, before starting to write new code.
- They are pragmatic. They don’t get enamored by tricks.
- They don’t believe in the promises of perfect shortcuts. They understand the tradeoffs.
- They are never shy to ask questions.
“Programming is not like being in the CIA, you don’t get credit for being sneaky.” - Steve McConnell
Full post here, 6 mins read
Programmers: make yourself replaceable
IMO, making yourself replaceable is the only way to scale up in a career.
- In the quest to be irreplaceable, developers end up stagnating in their careers.
- You damage relationships with colleagues by hoarding information.
- It leaves you pinned and isolated.
- As there is no replacement for you in your current role, you won’t get considered for other opportunities.
- To grow, you must constantly strive to make yourself replaceable.
- Use best practices from open-source even in your closed-source software by creating files with examples, explanations, and conventions so that your teammates can contribute easily.
- Share responsibility & access by rotating on-call jobs.
- Share knowledge and learn together with teammates.
- Push for using new and different technologies in new projects.
- Keep learning how to use new tools, technologies & practices, and actively identify pain points to resolve.
Full post here, 6 mins read
Strategies for long projects
- Budget your time well and tune up your attitude to succeed at long-term projects.
- Stay optimistic, even when it seems irrational.
- Expect the unexpected, and take your time to respond to new developments or information.
- Document your progress daily.
- Expect some regression with a new team as group dynamics take time to settle.
- Invest time in the early stages to develop tools that save you time later.
- Reframe your early efforts to build a memory base you can draw on during times of adversity.
- Be a fierce guardian of your own time and prioritize long-term projects.
Full post here, 8 mins read