Mistakes I made as a software engineer (developer)...
— Ankur💻🎧💪 (@TheAnkurTyagi) May 1, 2021
A Thread... pic.twitter.com/xUiF38vhlU
It’s okay to screw up — that’s how you learn and grow. But, be sure to learn from past mistakes.
Every software engineer has their own quirks.
I assumed that documentation is not needed.
Biggest mistake ever.
Create a Wiki/Confluence page for your project and write down everything.
For e.g.
If your project requires access to a database, write down the how-to setup on the Wiki page.
You’ll be very happy when a new teammate joins and you point them to the Wiki page with everything written down.
I give up too soon.
We’re all victims of giving up too soon — after all, it’s much easier to just give up.
But you know a developer accomplished many impossible things by doing, and not by giving up.
This reminds me of a famous quote from Steve Jobs.
“I’m convinced that about half of what separates successful entrepreneurs from the non-successful ones is pure perseverance.” — Steve Jobs
Next time you get a really difficult task, sit back, think, and try to break the challenge into smaller parts.
I say yes to temporary solutions.
I tend to use such a trick just to evade a particular task's complete implementation or to meet up deadlines.
Remember: there is no such thing as a temporary code.
Adding code to your application, consider that it can stay there forever.
I assumed code review criteria are good enough.
In the routine everyday development process, it becomes a great challenge to determine how good the code.
Do you support a regular code review or are you limited to the fact that it works as expected?
Ask these questions next time you review a PR.
- Is it easy enough to test the resulting code?
- Can this code be scaled vertically well?
- Is it simple to come up with a name for a certain method or a variable?
- How many methods do you need to redefine?
I assumed complex algorithms always result in a better solution.
How to avoid this:
I have only one piece of advice to give you, which has worked for me ever since I’ve understood how the real world & tech work.
Start simple.
There’s no point in complicating things upfront.
I promote the wrong people.
I assumed a developer is good at their work, they will become good leaders or managers.
Not all good developers are great leaders.
Managing a team is not easy.
It requires proper training to become a coach or mentor.
Whether you are a newcomer in the world of development or you just want to become better.
Times change, technology may become obsolete but your learning should never stop.
The only real mistake is the one from which we learn nothing.
~ John Powell
That's it for today & Thanks for reading.
I have recently written a book for developer growth & shared my 11+ years of experience.
If you are serious to grow as a developer.
Grab the book now for just $20 The Prime Guide
Join 100+ developers who already bought & growing better.
Top comments (7)
+1 for great doers != Great managers. Man management is a rare and underrated skill and needs lots of training and support, especially in software. Many of us code because we like the consist response and we don't handle variation and random results very well
Great article. I keep this:
That is so true. Even if you consider a refactor in the future. If the code is not scalable, it could be hard.
Thank you
Nice one.. thanks!
welcome
Saying yes to temporary solutions.
Forgetting to document
It is reality, I am finishing my degree and I have run into all that on the way.