10 Lessons Learned in 10 Years as a Web Developer
Having worked in a few different companies over my career, some marketing agencies, some software houses, I’ve picked up a few habits along the way that have made me a better developer.
1. Write reusable code
Nothing makes me happier than when I have to update someone else’s code to find out it’s written it in a reusable way.
This involves foresight by the programmer asking questions such as:
- Is the bit of text/code used in multiple places?
- Can I write a reusable function that will solve multiple issues across the application?
- Am I going to come back to the web application and spend hours changing the piece of code in 10+ different places?
I ask myself these questions whenever I’m coding on a large project, and now it’s so ingrained I get a buzz when I create something reusable.
2. Share what you know
Nurture a world of problem solvers.
I’ve seen senior developers when asked to solve an issue by a more junior or newer developer vanish, only to return declaring the issue is fixed and then saying nothing more.
I’ve found that spending a couples minutes explaining what happened and how it can be fixed, not only enhanced the other person’s skill set but helped build a more knowledgeable team to deal with future problems.
3. Make your life easier
Try and do it right the first time.
This may sound simple enough, but it’s amazing how many times a developer might cut corners to get something done only to be stung when it doesn’t work properly, or needs changing slightly.
You may think it’s the quickest way, but is it the best way of doing it?
It helps me to think about the ‘weight of time’. The less time you spend thinking and creating an elegant solution, the more time you spend fixing the problems it will nearly always create.
4. Try different languages
Become a more rounded developer.
As I had used PHP most of my adult life, I wanted to try something new. I’d heard some pretty nifty things about NodeJS, and I decided to rewrite my current WordPress website using it.
I coded my own REST API to pull the data into a MongoDB, creating a headless CMS.
My website is now lightning fast, and I also learned about some cool functions in the process — stuff that PHP just couldn’t do.
It opened my eyes to new ways of doing things.
5. Be mindful of plugins/extensions
Invest the time to write your own functionality as it will pay you back eventually.
If you use WordPress, NodeJS, or any other framework/CMS where extensions can be installed, you will be well aware they can save you a lot of time.
However, sometimes they can break your website, or you may spend time integrating them but have to pay when you want extra features, or they just fancy removing the free tier on a whim (which happened to me!).
If you don’t have the skills in house to write you’re own, then downloading a plugin/extension might be your only option, but if you can, it’s well worth investing in it as it can save you a bucket load of time later down the line, even if it feels like a slog in the beginning.
6. Test your code…thoroughly
Test it, and test it again.
If your coding awesomeness will eventually make it to the client, or onto the world wide web, it needs to be solid. Even if you have an employed tester, try and get to the problems before they do.
Testing as thoroughly as possible before handing your code over to any stakeholder will save so much time in the long run, earn you some respect as a competent programmer and have a plethora of other positive effects from happier clients to the possibility of earning more work through word of mouth referrals.
There’s also plenty of testing methodologies out there such as unit testing, integration testing, system testing, acceptance testing. Do some Googling and find one that fits your needs.
7. Be a problem solver
Being a good programmer, in my opinion, is being able to solve problems.
We all get stuck on things, of course, we do, but this isn’t the point I am trying to make.
I have seen developers hit problems and come to me asking me for help (which is totally fine) but then a couple of days later, they come to me with the same problem, or they know how it works but can’t solve the problem, and heading to Google is just too much for them.
Learn to solve problems; you don’t even need to be that good at coding (I’m certainly not) but when it comes to solving problems, I’m your man.
8. Use GIT
Invaluable if you’re working in a team, and worthwhile if you’re working solo.
Not only is your codebase stored up in the cloud, but you’re able to also switch between projects on the same code base without holding other work back. This is known as branching — where you effectively make a copy of your entire code from a master branch, work on it, and then merge it back into master.
When working in teams, you can both work off the same branch, constantly merging each other's code, and then merging the full body of work into the main branch when you are finished.
9. Be open to ideas
There will always be somebody who will know (or think they know) more about a subject than you.
In programming, there are often multiple ways to tackle a problem, so being open to listening to others and taking different approaches to your code.
Code reviews are a great idea if you can ever find the time to have them. Look at each other's code and talk about how you would’ve done it — you might learn something new.
10. And lastly, if you’re not happy, find something else
Web Development can be very stressful, and it’s certainly worth taking a step back and asking yourself if you’re happy.
I’ve seen many developers hit burn-out and want to jack it in completely, I know, I did, but here I am still doing it.
This could absolutely happen in any job, but as a programmer, there is a certain standard you cannot let slip as it can negatively affect the team or the relationship with the client. With great power comes great responsibility.
It’s not easy finding a new career, but if you really aren’t happy, maybe it’s time to make a change.
To me, coding is about a lot more than just writing code; it’s about mindset and methodology.
You don’t need to be good at coding to be a good developer, you just have to be a problem solver, and if you can do that, you’ll easily succeed.
Thoughts? Opinions? What do you think? What lessons have you learned in your developer life? Leave a comment below and share your thoughts.