DEV Community

Cover image for Top 9 Lessons learned in 12 years as a software developer.
Ankur Tyagi
Ankur Tyagi

Posted on • Originally published at theankurtyagi.com

Top 9 Lessons learned in 12 years as a software developer.

I completed 12 years as a software developer this month.

Few honest takeaways about my experience with the job and the software engineering industry.

I completed 12 years as a software developer last week.

Few honest takeaways about my experience with the job and the software engineering industry.

A Thread... pic.twitter.com/DKz3lSnsHa

— Ankur💻🎧💪 (@TheAnkurTyagi) August 16, 2021

1. No one can stop you when you master the basics

  • You can start with any technology you want.

But if you’re struggling, take a pause & restart your tech journey.

  • Remember all new & fancy frameworks are based on the basics.

  • Master basics you can code in anything.


2. “What's more important to you: Quantity or Quality?”

  • Your answer might be: it depends.

But until you do an experiment in your core areas, how do you actually know about the quality.

Go & take calculative risk & be the change.


3. Professional Relationship (Create your bridges)

  • We all are humans behind code

It’s also about making connections & professional relationships

  • Don't just always consume, help others as much as possible, time will return the favor

  • Don't burn your bridges, Always create


4. Years of experience won’t make you qualified for a job.

  • Everyone looks for a genuine experience

  • People have different learning curves.

The only time we get a chance to be qualified is when we act.

Don't stay in your comfort zone. Look outside, world is moving faster.

“To be an expert in a field that changes from one day to the next is akin to placing your hand in a running river; you can trap a small bit of water for the moment, but once you lift your hand again the river rushes on”

Kelly Ripley Feller


5. Coding game is really challenging

  • There are no short cuts.

  • You need to find a balance between coding & your health.

  • Coding is mentally demanding.

  • Depression is a real thing, always look for help.

  • Look for mentorship, Talk your best friends.

Job security is a myth.


6. Always be a team player

"We win as a team, we lose a team."

  • Software development is a team game.

  • You need to act & take responsibility as per your role.


7. Always respect diversity

  • Everyone talks about diversity.

Sometimes humans talk a good game, but don't follow through on their promises.

"A diverse IT team is an asset that can help to drive innovation."

People of different backgrounds can have ideas for new products and services that would be of interest to a broad audience or even a niche sector.

Those are good business reasons for seeking a diverse workforce.

However, there's an even better reason, and it's a human reason.


8. Don't try to learn everything, YOU can't.

  • Find your NICHE, Master that one

  • Look for another area, again master that one & so on.


9. Follow the T-Shaped approach.

I made the mistake of trying to diversify too early in my career.

My mind became scrambled by trying to learn too many different things at once and I wasn’t seeing results anywhere.

Don’t rush through the early stages, take your time to pick one thing you want to pursue and learn as much as you can about it.

It’s far better to be great at one thing than mediocre in 10.

A T-shaped developer has deep knowledge/skills in one area and a broad base of general supporting knowledge/skills.


Thanks for reading.

If you’re a regular reader, thank you, you’re a big part of the reason I’ve been able to share my life/career experiences with you.

"Don't miss out" Follow your mentor on Twitter 👉 TheAnkurTyagi

You can buy me a beer if you feel generous. BUY Me a Beer.

Latest comments (26)

Collapse
 
ashleyjsheridan profile image
Ashley Sheridan

Really great points, and I think #8 can really tie in with #3, those bridges you're building are with teammates too, and a good team should have a spread of skills. There's no shame in not knowing everything, and it's a good thing to ask for help from someone more experienced with that thing. I've been developing in a professional capacity for just over 15 years, and as a hobby for about a decade more than that. The more I learn, the more I find that I don't know. This is a vast field, impossible for any one person to know it all. But a healthy spread of knowledge, coupled with knowing when to ask for help, that's what will get a good developer into the realms of a really good developer.

The only thing I might disagree on is the diversification (#9). I think that's one of those "it depends" situations. A jack of all trades is a master of none, but oftentimes better than a master of one, as the saying goes. I'll agree that spreading yourself too thin too early is probably not a good approach, but learning a bit about all of your surrounding fields can really help. But, that should be tempered by learning the basics first as you rightly point out. Learning a dozen different JS frameworks/libraries won't help if you don't know semantic HTML or basic accessibility, for example.

But great post, thank you.

Collapse
 
emmanuilsb profile image
Emmanuil B.

Thanks for the great advice.
As a developer in their first job, this is just what I need.

Collapse
 
jairneto1 profile image
Jair Neto

Thank you for sharing your expertise Ankur, I'm new in this Dev environment ant It's very important to have some opinions from guys that are in this field for such a long time.

Collapse
 
saramon profile image
saramon

one thing i've noticed in my journey as a developer is that revisiting my code after a year or so and refactoring is one of the best way to learn and gives you trust that you are getting better. which also gives you confidence in your abilities.

Collapse
 
hisyamzayd profile image
Hisyam Zayd

i really should do this

Collapse
 
nikosne profile image
NikosNe

Very nice and insightful. One question: what do you mean by "the basics"? Is it algorithms and data structures? Is it mastering some low(er) level technology before moving to higher level? People tend to have different takes on this I believe 😊

Collapse
 
rowand72 profile image
David Rowan III

Great advice.

Collapse
 
falk_maria_zeitsprung profile image
Martin Schenk

👏👏👏👍

Collapse
 
rolfstreefkerk profile image
Rolf Streefkerk

Number 7 imo should read as, diverse in knowledge. Hence one of the core reasons the Agile way of working has been found to be very effective by mixing different disciplines it gives you the optimal pool of knowledge to solve the actual issues instead of the perceived issues.

Collapse
 
zippcodder profile image
Deon Rich

Very useful insight! Looking forward do more posts like this.

Collapse
 
mathsena profile image
Matheus Sena

Great Article.
We need more articles like this, for some beginners it's hard to find a way into programming and it's always good to hear stories from experts in the field.

Collapse
 
breero profile image
Bree Owen

Thank you for the advice. I’m a super beginner programmer just starting out. I appreciate your advice and will take it to heart, it makes a lot of sense. In this overwhelming world it’s hard to choose one thing so I appreciate your kind words.

Collapse
 
chinedumonyema profile image
Chinedum Onyema

Thanks for sharing

Collapse
 
safinghoghabori profile image
Safin Ghoghabori • Edited

One of the biggest things i would like to ask please elaborate on it:

Do one need to do masters after bachelors?
if someone has done BCA then do they need to pursue master i.e. MCA?
Does it make sense in futher promotions?
Does degree matters ?

Thanks in advance!

Collapse
 
eljayadobe profile image
Eljay-Adobe

Aye! Jibes with my experience as well.

I'm glad you mentioned the social aspect of programming. Software development is a collaborative social activity. Social skills are important, because programmers will be interacting with managers, quality assurance engineers, technical writers, user experience designers, customers, and other programmers. Be kind. Be nice. Be helpful. Be forgiving.

Work/life balance is important. Because programming is so enjoyable, it is very easy to fall into imbalance.

"Job security is a myth." Aye! It's comfortable to feel secure. But it's an illusion. The first time that horse is shot out from under you, it's traumatic. The second time, meh, not really a big deal.

I've been programming since 1976.

Collapse
 
jindeveloper profile image
Jin Vincent Necesario

Thanks Ankur.