To Be a Better Programmer In 6 Steps ..By Charles William



To Be a Better Programmer In 6 Steps


Coding is an evolving discipline. That’s often what draws people to it – aside from the opportunity to work with some of the biggest companies in the world – but it also means that those in the industry need to constantly look forward. It’s not enough to get to grips with the most in-demand languages. If you want to advance in your career, you need to start thinking about how you can become a better programmer all-round, and these six steps are a good start.

1. Use the Feynman Technique

The Feynman Technique is a mental model named after Nobel Prize-winning physicist Richard Feynman.
It essentially boils down to identifying gaps in your knowledge by imagining you had to teach a concept in a classroom using simple language and analogies (much in the spirit of this subreddit).
When you identify the gaps, return to your books or whatever source of knowledge you rely on to teach yourself the aspects you’re less familiar with.
Then, just rinse and repeat, and suddenly you’re a lot more confident executing code because you have a stronger core understanding of it.
You can contribute to forums such as Stack Overflow to also employ the Feynman Technique. By answering questions and viewing the answers others provide, you will develop a deeper understanding of what you do.

2. Improve your soft skills

Soft skills may seem to be the total antithesis of programming (which is sometimes a central point of its appeal) but they are vital for your professional development.
If you’re able to communicate with clients and superiors alike in an accessible manner, as well as present yourself and your ideas pleasantly and engagingly, you’ll find that many aspects of your professional life suddenly become easier.
If you’re worried that your soft skills are lacking, luckily they can be learned.

3. ‘Don’t be afraid to break things’

This advice comes from Mike Lewis, one of the many developers and programming experts who contributed to Kevlin Henney’s excellent 97 Things Every Programmer Should Know.
“Everyone with industry experience has undoubtedly worked on a project where the codebase was precarious at best,” Lewis explained.

4. Write code three times

Writing code has been compared to writing a novel and, just like in novel writing, you should never tout your first draft as your finished product.
By the time you finish writing code the first time, sure, it’ll work, but will it work well? It may be functional, but will it be elegant? If you aspire to elegance (which you should), try writing code three times.
Think of your first time writing as a proof of concept, your second time as you make it work and your third time as you making it work correctly.

5. Write lots of code in general

‘Practise, practice, practice’ is not a maxim isolated to the programming world, and for good reason. Coding is a skill like any other, and so the best way to improve professionally as a coder is to write a lot of code.
You can use GitHub to display your projects and then have other developers critique your work and provide guidance on how to approach things differently.
Then, compile your best projects into an impressive portfolio that will go a long way towards building your profile.
You can attend hackathons or join a pair-programming mentorship program to hone your skills.
Consider contributing to open-source communities as a way to both build connections within your field as well as gain insight into the ways people approach problems that differ from your own.

6. Do unit testing

Unit testing can often strike fear and dread into the hearts of developers, but using it to design your code can ensure that every component of your work functions exactly how you intended.
As Steve Sanderson points out, programmers should not approach unit testing as if it’s a way to find bugs; just because components work independently doesn’t mean they’re compatible.
Unit testing is a key component of the test-driven design. It makes the whole process a bit more time-consuming, which can be fuel to the fire if you’re already panicking about a fast-approaching deadline, but the result is better-quality code that demonstrates your attention to detail



Comments