Blog / tips
user photo

What I learned so far as a software developer

Published on
· 5 min read
tips

This is something I'll update whenever I learn something interesting. I've developed software for over 2 years now, both professionally and as a hobby. Here are some lessons I learned along the way.

Summary

  1. Readability takes precedence over optimization
  2. Set a reasonable pace
  3. Practice makes perfect
  4. It's impossible to know everything
  5. There is always someone to learn from
  6. Take breaks whenever needed

1. Readability takes precedence over optimization

There was a time I felt so clever to write highly optimized code that ran as fast as possible. Whenever I revisited this code after a long while, I had no clue what I did back then anymore. It always took me a good portion of my time to get back into the code before doing the work I actually came for. More often than not, those optimizations were unnecessary. that doesn't make any sense Code should first and foremost be written for humans to read and understand. If you believe that a certain code path might be a performance bottleneck, then test it. Add metrics to measure the execution time for the paths in question and analyze them later.

2. Set a reasonable pace

There was a time I wasn't patient, and I still suffer from this sometimes. It regularly takes time to solve a bug or complete a feature. And often, learning something new takes longer than anticipated. When I feel the need to be in a hurry, I should ask myself what the reason for it is. I could finish this tomorrow or the day after tomorrow and focus on issues I know I can fix until my brain starts clicking. Sometimes I am confronted with something completely new. It takes time to come up with an idea. The more experience I get, the better I become at dealing with such situations. Now I try to stay patient and not put myself under pressure. I work better when I can stay calm and organize my thoughts to develop an idea. And it will definitely benefit my mental health. It can be the most difficult thing on earth to not pressure myself, and I won't always keep myself from doing it. That's okay. I should still do my best to prevent myself from doing it, though. It can harm me for a long time.

3. Practice makes perfect

Doing something consistently over and over again helps me become proficient. It's not about spending all of my mental energy in just one sitting, but constantly doing it over a long period of time. Repetition is what makes me better at what I do. If it's something I rarely use I would have to search the web to find out how to use it, otherwise, if it is something I use on a daily basis I could probably do it with my hands behind my back. This is my brain slowly learning patterns and saving them.

4. It's impossible to know everything

Especially at the beginning, I thought I could learn everything for a good portion of my developer career. But each time I learned something new, a whole new world of other concepts and techniques opened up. It may seem tempting to try and learn it all, but it's a never-ending endeavor. There will always be another library or framework and another cool thing I could also learn. The only thing that happens is that I would slowly start to burn out because I never seem to reach my goal.

chris farley knows everything Better to just settle on what I know well and learn on-demand when I really need to learn it. This keeps me sane and my motivation up. It's possible to be effective without knowing everything and I use this to my advantage, learning along the way when necessary.

5. There is always someone to learn from

Technology is such a large field that you'll never learn everything. Other developers have learned different things than me. This puts them at a knowledge advantage in certain things. My colleagues might be better at backend, CSS, or low-level stuff while I have my own strengths. I could learn from them, and they can learn from me. This is never something I should be jealous about or take to my heart. It's actually awesome that I could make connections to people that can enrich my knowledge. I get years of experience I could profit from to increase my knowledge and I also get years of failure to learn from, so I don't have to make the same mistakes.

6. Take breaks whenever needed

My brain will need frequent breaks. A break helps it recharge and process the information it previously consumed. I basically enable it to catch up. Maybe I should do something completely different instead of just coding such as getting a cup of coffee, taking a short walk, or any activity that allows me to leave my computer. a frog relaxing on a lily pad I notice how my performance degrades more and more before I take any breaks. After I return from it, I notice that I'm back at it and can perform again until my next break. There were times I didn't take care of breaks because I wanted to get my stuff done. It turns out I would have finished way faster if I would've let my brain rest for a little every once in a while.

A good rule of thumb is at least a 5-minute break each hour and a longer one of up to 30 minutes after 4 hours. I should just listen to my body and adjust my breaks accordingly. When I begin to feel tired, my performance will degrade and have problems concentrating which means I should take that break.