DEV Community

Cover image for I've been a dev for 11 years. 5 things I learned

Posted on • Updated on • Originally published at

I've been a dev for 11 years. 5 things I learned

I have been a software developer / engineer for the past 11 years. And here are 5 things that I learned.


Here is a little context:
I do not have a Ba / Bsc / Msc in Computer Science or Software Engineering. I got a Dip in Digital Media Design.

1. The only constant is change

Wait. I know.

You are going to stop reading and say WTF. This is so cliché!

Yeah. Unfortunately it is.

Simple example: Have you noticed how fast Angular gets a new release?

December 2016 when Angular 4 was released everyone cheered and ran with it trying to master it. By the time they "mastered" Angular 4, it was 2017.

Angular 5 got released on November 2017.

slam table

Seriously. That is how fast things change.

And we are not talking about simple upgrades. Each new iteration of Angular brings SIGNIFICANT updates!

So that bring me directly to my next point:

2. The very best skill to have: Being a fast learner

You can list out all kinds of coding languages, frameworks and methodologies on your CV. But all these are just tools.

If all you have is a hammer, everything looks like a nail

I have seen a lot of projects that does not benefit from React, but yet... React was chosen. Because it was the latest fanciest newest toy that everyone wants to play with.

Sometimes React is the answer, but sometimes Angular may provide a better fit? Or maybe Vue instead may bring the most value? Or maybe Meteor? Or Backbone? Or none of them?! Just write in plain vanilla Javascript or Typescript!


Well... That's the responsiblity of the Tech Lead or CTO. Let him decide what's best for the project.

But, to be honest. I have met A LOT of CTOs who knows jack shit about what Agile methodology means yet they are making the decision.

And this brings me to my third point

3. It's totally fine to admit that you don't know certain things

I am not sure why it is so hard to admit that you don't know a certain solution or implementation.



But some engineers, especially those who have a decade worth of experience, with a Msc in Comp Science from some fancy school... They just refuse to admit that they are not sure or they might need help. They refuse to raise their hand for help if they are unsure with certain build tools or process.

This have got to stop.

Because the only thing that is holding you back from progressing further and higher is your ego.

Don't let your ego stop you. If you don't know something, ask. Even if the person who you are asking from is a fresh graduate or a new joiner. It doesn't hurt to ask.

Hit you with some knowledge

I know that many developers prefer to figure things out on their own. Heck! That was how I learned. I kept on grinding and eventually I fixed the problem.

But do that on your own free time. If you are still grinding but the dateline is in a few days, I think you should call in the cavalry. At the very least, ask for direction. Ask if you are going the right way. It doesn't hurt.

Yeah we can really get consumed by the technology that we lost sight of the objective. The objective is simple: You are helping your employer make money.

This brings me to my next point.

4. Focus on the product, not on the technology

Technology just enables you to make that business transaction. But it is not what sells the business.

Always think in the business perspective. What function do you provide to value-add the business?

Let me give you a technical example that ties in with the business.

Example 1:
Cutting down loading time from 5 sec to 0.5 sec

That is a HUGE difference. It helps with:

  1. Customer experience

  2. Lowers visitors drop off / exit rate

  3. Increase possibility of transaction conversion

  4. Therefore more business == more revenue

Example 2:
Cutting down npm build script build time from 13 sec to 0.7 sec

This happened to me in one of my previous jobs. This project that I inherited used npm with browserify but it was so messy and clumsy that saving the file with cmd/ctrl + s each time triggers the build script which takes 10-13 sec to complete.

And how many times in a day do we press cmd/ctrl + s? Multiply that with the number of developers working? Multiply that with the cost of paying these developers? How many man-hours is spent just waiting for the npm build to finish running?


You are hired not just to write code. You are hired so that you help the company be more successful.

And sure, once in a while you sit and you wonder, can't I set up my own business?

And maybe you did. Maybe some friends do come up to you and ask if you are interested in their start up. And they will start pitching to you their ideas.

Lots and lots of ideas.

Which now ties on to my final point

5. Ideas are cheap. Execution is expensive

Everyone has an idea. But not everyone can execute it. And even lesser can execute it well.

I have heard it all.

We are going to be the Facebook equivalent for digital magazines!

We are going to be the Uber equivalent for part time teachers!

We are going to be like Google! But for X community!

The first few times when I hear an awesome idea, I did get excited. But eventually I get very jaded. And I realised that execution of these ideas are what's missing.

So don't be fazed to turn down an idea. Because there's more.

Let me give you some idea

And because execution is expensive, especially if you have the credentially to prove it, don't be afraid to value yourself equally. Do not discount yourself.

Sure, the stories of the 5 friends invited by Mark Zuckerberg have been circulating the internet like wildfire. So have the Jack Ma original sales pitch in 1999.

But please be wary, and have your BS detector turned up a notch.

The End!

Yup so those are the 5 important things that I have learned.

Ofcourse there are way more stuff that I realized, figured out, came across and learned in the past 11 years being a software engineer / developer. If you wish to reach out to me, feel free to drop me a comment! ^_^

Top comments (11)

vimmer9 profile image
Damir Franusic

You made me laugh with all those animated gifs 🤣. I'm fortunate enough to keep my distance from web development and the very mention of JS makes me cringe.

Number 3 in your list is my favourite type of horrible character trait. I am enraged by those sort of deflated bubbles of rotten knowledge, the so called know-it-all engineers.

If anyone of us were to know everything without the help of Google, we'd end up traumatised. It's not viable to expect a single person to keep up with all the advances and changes happening in the field of IT.

Entertaining article,

mdhilwan profile image

Glad you like it :)

my search is not like your search

steelwolf180 profile image
Max Ong Zong Bao

Hahaha I totally agree that ideas are cheap, execution is key especially when a person comes to me to pitch me a new idea.

colinlord profile image
Colin Lord

Thanks for taking the time to write this. Loved the gifs and there's a lot of wisdom in here!

remytesta profile image
Remy Testa

I like this kind of post thanks !

I liked this part :

Cutting down npm build script build time from 13 sec to 0.7 sec

I use yarn and it's more faster =)

mdhilwan profile image

Your most welcome :) Yeah I wish I can change my build process to Yarn but we use a private repo which only has "approved" build tools. So things are a bit limited.

mdhilwan profile image

Anyway glad you like the post :)

mdhilwan profile image

Confucious said,

Don't kill a mosquito with a cannon

The exact definition of over-engineering. Lol! :) Glad you liked it

iamsujon profile image
Sujon Reza

Thanks, it will be helpful

elmuerte profile image
Michiel Hendriks • Edited

The only constant is change

And in the end the change was constant.

I feel the more a thing changes, the less relevant it becomes.

kendyl93 profile image

Its great that you've shared your thoughts and experience ! It'll be helpful.