As I consider myself as a generalist in a software development context, let’s discuss in a thread what I think software developers should work on to improve their fundamentals. This thread 🧵 will mostly target entry & intermediate developers #CodeNewbies #100DaysOfCode
1. When you face a technical problem, trying to bluff your way out of it and code right away isn’t in your best interest. Software developers are deep thinkers and we try to find optimal solutions to issues. Take a breath and take it easy
There’s no need to rush in and find a solution that “works”. Take a piece of paper and try to see what you do have control on in your given situation and what you don’t understand. From there, break down in smaller problems what you have no control over.
Even if you don’t find a solution, going to a more senior developer with that kind of work shows that you were grinding and made a terrific job. If that happens, try to capture how you manage to solve your problem during your pairing session and learn from it
2. Take more time to understand how the tools you have access to work.

For instance, I’m used to see developers that have go-to collection type without putting some thought into it. Where this becomes bothersome is when you try to copycat internal implementations.
It’s not about the amount of information that you have in your head, but rather what you can do with it. By learning the fundamental purpose of each of your tools, you will quickly see where they apply in a new context. Many might apply so you will have to use your best judgement
3. Learning a bunch of programming languages shallowly won’t lead anywhere. Having a bunch of programming languages and frameworks on your resume won’t make recruiters call you. It’s better that you focus on a small subset of technologies
You’ll be able to show you know a lot about your chosen technical stack. It makes it easier to be updated on a smaller set also of course. In the end, you won’t have to keep that much in memory for interview questions if it comes to that.
4. Software developers are great problem solver
The thing about problem solving, like any other thing, you get better through deliberate practice. Let’s be clear, don’t ruin your personal time and only do software development until you’re sick of it.
Here, I’m talking about being able to take some dedicated time to practice problem solving. This relates somehow to #2. By going on problem solving platform (i.e HackerRank, LeetCode, CodeWars), you learn quite a lot and you get better than you used to be!
5. Having passion projects is an amazing way to stay in love with software development. You may find yourself stagnant at your workplace or use technologies that you don’t specifically enjoy. Building a project from the ground up with technologies you love will do great things
for you. You get to solve an entire new class of problems that you wouldn’t find at work. You also get to build your baby by your own rules. It’s a good place to learn new technologies at your own pace, if you want to leverage the opportunity
You can follow @KAvignon.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.