Welcome!
Welcome to Developing Skills - Skills for Developers looking to develop their careers.
This week we have:
Tip of the week: Writing a Super Power for Software Developers
Book of the week: 97 Things Every Programmer Should Know
Shares of the week: Stop being a Junior, Legacy Code Rocks and Strong Opinions, Weakly Held is BAD!
Tip of The Week: Writing is a Super Power for Software Developers
Once you reach a reasonable level of technical skill. Enough to do your current day to day job without much difficulty, then your promotion and ability to progress will be determined by your soft skills and in particular your communication skills.
Writing is a huge part of that. Here are six reasons why writing is so important for software developers:
You will write every day. You’ll write emails, chat messages, code reviews, bug reports, requirements or user stories, ADRs, design documents, API documentation, ops documentation and let’s not forget CODE!
The increasingly global nature of work means written communication is ever more important. Our colleagues many be working in a different timezone, and might not share the same first language as us, making clear written communication extremely valuable to avoid confusion and re-work. This is even more important now more of us work remotely and asynchronously.
The ability to communicate complex topics and ideas will set you apart from your peers. Being able to explain to a non-technical person the impact and cost of their request will improve the team’s experience working with non-technical parts of the business.
Writing will help you find your next job. Your CV/Resume is a key piece of writing that sells your skills and aptitudes, when applying for a job. Public writing like blog posts, social media posts, books, and even contributions to open source can make you stand out and have recruiters and companies knocking on your door.
Learning to write effectively and persuasively will help you increase your influence and impact. The more influence and impact you have, the further your career advancement within your current organisation.
Code is writing - yes we’re back to point 1! Code is read 8-10 times more often than it’s written, so clear writing leads to clear readable and maintainable code. Developers maintaining the code in the future will thank you. And from my experience, the developer who thanks you 6-12 months from now is often you!
If you want a quick guide to writing on LinkedIn, I recently shared 12 steps to writing on LinkedIn as a Software Developer.
Want to Level Up Your Coding Skills?
I believe the best way to do this is to build real-world applications. For that reason I write a weekly newsletter sharing Coding Challenges.
The coding challenges are all designed to walk you through the process of creating an application and to be less than 8 hours work.
Each challenge has you focus on building real-world software rather than toy applications or algorithms and data structures.
You can tackle the challenges in the programming language of your choice. You can even tackle them in several different languages if you prefer.
You can see the challenges and subscribe on the Coding Challenges SubStack.
Book of The Week: 97 Things Every Programmer Should Know
97 Things Every Programmer Should Know is a collection of short essays by a number of different authors.
That makes it a short book, that is easy to dip in and out of. Size however isn’t everything, there are some pearls of wisdom in the book making it one every programmer should read.
My top three picks are:
The Boy Scout Rule - adapted to code by Uncle Bob is “Always check a module in cleaner than when you checked it out.”
Beauty Is in Simplicity - beautiful code is simple code. Each individual part is kept simple with simple responsibilities and simple relationships with the other parts of the system.
Write Code as If You Had to Support It for the Rest of Your Life - Yes! See point 6 in why writing is a super power for software developers!
As a bonus 97 Things Every Programmer Should Know is freely available as a GitBook
Share(s) of the Week:
Legacy Code Rocks! - a community around legacy code! I firmly believe you’ll never be a great developer if you’ve never maintained code!
Strong Opinions Loosely Held Might be the Worst Idea in Tech
Great advice and awesome shares, John. I absolutely LOVE the strong opinions weakly held one you linked. Fantastic advice in there