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.

Top comments (26)

Collapse
 
gdenn profile image
Dennis Groß (he/him)

Great advice Ankur. I may code for around 10 years now but only reach 5 years as a professional. But I already can see that many of your points are really important.

If there is one thing that I would add than I'd say "built simple solutions". People, especially after the gained some programming experience, tend to overbuilt solutions. Or they try to impress with their coding knowledge.

But believe me that, you can spot a good programmer quite fast when you look at how simple the code is.

Collapse
 
tyaga001 profile image
Ankur Tyagi

Simple is the best. No need of those fancy one liners as long as it's understood & working fine.

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
 
jonrandy profile image
Jon Randy 🎖️

Agree with most of this. Coming up on 26 years myself, maybe I should take the time to write some stuff

Collapse
 
tyaga001 profile image
Ankur Tyagi

Absolutely, Jon, Please share your experience with us. Your experience might help many people out here, That's how I started last year & I can see many people getting benefits out of my journey. It's always good to see people share their experience.

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
 
mistval profile image
Randall

I especially like #1. After enough practice you get to a point where you know how to "build things" and don't need handholding. Good insights!

Collapse
 
tyaga001 profile image
Ankur Tyagi

Thank you

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
 
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
 
avinashvagh profile image
Avinash Vagh

Thank you sir🔥 it's nice journey.

Collapse
 
tyaga001 profile image
Ankur Tyagi

Welcome Avinash

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
 
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 😊