Two years of working and constantly learning as a software developer, has thought me some valuable lessons I would like to share with you here.
After 2 years of dealing with so many challenges in the field, I would say the challenges of learning to code was like being a blindfolded swordsman who has to fight an army of samurai. Only, I somehow managed to make some samurai friends! Nevertheless, there were times I would feel completely lost and disappointed.
When I think about the things I was struggling with to do one year ago, I can say I am so distant from that place. I mean, things that would seem a challenge back then, is a child’s play now! It feels like I moved a long distance since then! Two years of working and learning as a software developer, has thought me quite a few valuable lessons and I would like to share them with you here. They will help you to have a rather pleasant and smooth journey as a software developer.
Git; The software developers’ Katana
Learn and use Git before you have to! I postponed this one and I can’t say I don’t regret the decision. Git makes your coding and your life easier substantially.
Now I am in love with Git and can’t live without it. I use it in not just my web applications, but for tracking changes in many other activities. And that includes this very article too! I use Git to keep track of my articles, my notes and whatever I am able to. I would go so far as to say the best time for learning Git is probably today!

If you imagine yourself as a Samurai, Git could probably be your second Katana sword! Like this Japanese man here on the book cover! Sorry, but I really like the cover designs of Manning books!
Don’t work too much, or it backfires on you
Don’t pass your limits too much. If you have a bug, be relaxed and know that it may take more time than you expect to. If you exhaust yourself, it doesn’t mean you find the solution sooner! If you don’t take some rest when you need to, it can backfire! Meaning it could postpone finding the solution! The reason behind this, I believe, is that when you are exhausted, your mind tend to be locked and unable to go back and see the bigger picture. Take some rest for optimum performance.
There has been quite a few times I’ve had a bug and I couldn’t let myself sleep before solving them. No surprise, usually I would fail and eventually forced to sleep. Guess what, many times the bug would turn out to have a really simple solution when my mind was refreshed on the next day.
So, please let bug fixes to arrive on the morrow if they will to.
Those are some good points, I like the one related to fixing bug, it’s so true.
Motivated me to learn Git, thought I’m not a developer or something. You know, tracking your notes, text documents, etc. is fun and can be quite productive.