On January 15th, 2023, I celebrated 8 years of working in IT as a software developer. I began my journey in India and eventually ended up in Norway. Time flew by and situations changed quickly.
It has been an incredible experience working in the IT industry as a software engineer. For the last 8 years, I have been working as a Business Intelligence (BI) Developer.
I started working for IT consulting companies in India and eventually moved to Norway. I worked for 2 years in India and 4 years in Norway as a BI Consultant. For the last two years, I have been working for product-based companies as a BI Developer.
I have gained experience across industries and continents, from logistics (supply chain management), and telecommunication to consumer banking.
I strongly believe in gaining hands-on experience before discussing it publicly. I have seen 15-year-olds talking about “how to do financial planning in your 30s” on Instagram Reels. Crazy, right?
That’s why probably, I waited 8 years to write this article. I hope my experience in IT as a developer can provide you with some value.
15 Valuable Lessons I have learned as a Developer
1. You will never know EVERYTHING
No matter if you call yourself a junior, senior, or even an expert in your field, never say that you know everything. It is better to adopt the philosophy of knowing nothing than to sound arrogant or overconfident.
Technology is growing at an unprecedented rate, making it almost impossible to keep up with everything. It doesn’t matter how many years of experience you have; there will always be people who know more or less than you.
I can’t emphasize this point enough without quoting my favorite saying:
“When you say I know everything is a disrespect to God.”
2. Start Small and Then Extend
Many young developers, new to the corporate world, have ambitious dreams of creating something big and innovative.
However, most of the time, these dreams fail to come to fruition because they try to take on too much without understanding the fundamentals. While it may work for a few, it is a rare case.
It is important to start small.
- If you want to learn C programming, start by learning how to print “Hello World” in C.
- If you want to learn Python, start by learning how to print “Hello World” in Python.
Don’t try to build a game in Python without even knowing how to write two lines of code that print “Hello World”.
Remember: start small, not slow.
People often confuse the two. Iteration is key to becoming a good developer. Once you are comfortable with the basics, you can gradually extend your knowledge. At the end, you will be surprised by how much you have achieved.
3. Make One Change at a time
Imagine yourself working on multiple projects, each of which requires changes to multiple things. The rule is never to make two different changes to the same code or application simultaneously.
Doing so takes a lot of time to investigate when errors or bugs are reported. It’s a nightmare to find the root cause.
It’s even worse when multiple people have worked on the same code but on different requirements at the same time. Your code versioning software may not be of help in some scenarios.
That’s why, when there are interconnected change requirements, you should work on one project, one requirement, and one change—at a time.
4. There will always be bugs
No matter how many software testers have tested the solution, there will always be small or big bugs. The most common bugs that don’t get caught during testing are scenario-based bugs.
Sometimes there is a specific situation you didn’t even think of before causes the error in production. All you have to do is be ready to do the investigation and find the solution on those bugs.
It’s important to accept this reality, and not be afraid of any bugs. There are always solutions to fix them, you just need to address them correctly. If you can’t find the solution, check with your seniors.
If nothing works, clearly inform your project manager as soon as possible. When giving updates on the progress, be sure to communicate clearly and critically.
5. There is nothing called as perfect code.
Today’s perfect code is tomorrow’s trash. Don’t wait for someone else to tell you this secret.
You can cross verify that by yourself. Just go and open that code you wrote a year ago. You’ll find plenty of things you can improve and write better now.
The knowledge we have today and the technology we have now is always less than what we’ll have tomorrow. So don’t focus too much on perfection. Have a mindset of sprinting.
If you keep trying to make your code perfect, you won’t be able to finish it on time. The only solution I suggest is to split the work into pieces. Prioritize one task at a time and try to make it as close to perfect as possible within the allocated time, then move on to the next one.
This is how you can finish your work on time without sacrificing quality by writing code that is as close to perfect as possible.
6. Communicate concise and clear
Communication is essential. As a developer, communication is key in understanding the project requirements, finding the ideal solution, and delivering the results.
Always keep a clear and open communication line with the stakeholders and team members. Be proactive and take the initiative to ask questions and discuss solutions.
Even if you feel like you know the answer, never assume and think twice before giving any solution.
Invest your time and energy mastering email communication. It’s an essential tool in business. Writing emails well can help you build relationships, communicate effectively, and be more productive.
You have to make sure to keep everyone informed of the progress, changes, and decisions. Lastly, never forget to document everything.
7. Document everything
Writing documentation is an integral and important part of the software development life cycle. The better and quicker you write it, the easier it is to get approvals.
Documentation should start with a change proposal and include planning, design, architecture, and testing. System documentation is also necessary to move from one stage to the next, and finally close the project.
If you take part in a hackathon or any competition, documentation is also an important factor getting considered.
In general, it’s always a good idea to keep records. These documented notes can help you revise any logic you built a year ago, teach your team members, or facilitate knowledge transfer.
Software is incomplete without adequate documentation.
People are constantly changing, but the company, department, team, and solution you’re working on remain the same.
To ensure that any application, solution, or code is not dependent on any specific person, hence documentation processes should be followed strictly.
You need to improve your skills, become more comfortable with writing technical documentation.
8. Keep Learning
Since I began my IT journey in 2015, I have worked on Windows, AIX, Linux, and now Cloud. In just 8 years, I have transformed my skills across four major operating systems. New technologies are evolving rapidly, and it’s important to keep up.
It’s no surprise that everyone knows the benefits of learning, but many people stay in their comfort zone and ignore the learning part.
Life is all about learning new things, no matter your profession. If you don’t keep learning, your skills will become outdated.
In this ever-changing technological world, it’s dangerous to stop learning new skills. You never know when you’ll need them.
Keep learning to stay ahead of the curve.
9. Ask for help
Need help? Don’t hesitate to ask!
Everyone needs help from time to time, and it’s nothing to be ashamed of. Reach out to relevant people and get the support you need.
As discussed earlier, you’ll never know everything and that’s okay. When you’re stuck, find the right person to connect with and ask your query.
If you’re completely stuck, inform your project manager or boss. Good leaders understand this and will help you find the people and resources you need.
10. Appreciate Others
Don’t expect from others the same way you expect from yourself. Try not to set unrealistic expectations.
Appreciate your team members every time they deliver something. Showing gratitude for their hard work and dedication is essential for creating a positive work environment.
Acknowledging their efforts, no matter how small, can help to boost morale and foster collaboration.
Never underestimate the power of a good network. Good connections with colleagues, mentors, and clients can open up doors that would have otherwise remained closed.
It’s important to build relationships and trust with the people you work with. If you have a good team, you can expect to get better outcomes.
You must take the time to thank your team members for their contributions and recognize their achievements. Doing so will help to build a strong, unified team.
A simple “thank you” or “great work, (name)” can make a world of difference. Showing an appreciation can brighten someone’s day and make them feel valued. So let’s take the time to appreciate others.
5 Personal Principles
11. Family First
Always follow the family first principle. It should be the number one priority. You must ensure that your family members are taken care of and that their needs are met.
Working in IT can be stressful, and it’s important to take the time to rest, relax, and recharge. You should practice self-care by getting enough sleep, eating healthy, and exercising regularly.
You can also make sure to take time off to do things you enjoy and to spend time with your loved ones.
12. Work on Side Hustle
Nothing is more dangerous than relying solely on one source of income. That’s why it’s important to have a side business. You don’t need to build a multi-billion dollar company, something small that can pay your bills is more than enough.
The best way to start a side hustle is to identify what you like to do in your free time. It could be reading, writing, playing games, speaking, exercising, etc.
Zoom in to find the opportunity to capitalize on those activities. You don’t need to have 100 different things to build a side hustle, just one is enough.
13. Big NO to office politics
People often gossip and engage in office politics to get a 1% raise or a promotion. To stay in the boss’s good graces, people do terrible things.
You can always choose to leave instead of playing politics. If I find myself in the same situation, I’d always choose to move on.
Engaging in office politics is morally, ethically, and fundamentally wrong. Don’t be complicit in your own actions.
14. No bad words
No matter how poorly you were treated in your previous company, never speak ill of your ex-employers, managers, or colleagues. Life is a full of circle. You never know when you’ll cross paths again.
I’m not suggesting you forget the experience, but it’s always important to be mindful of what you say, especially when you’re leaving or have already left those people behind.
15. Learn Writing: Share everything you know
I’m a fan of writing, and an even bigger fan of sharing my knowledge. People who intentionally withhold information are the most despicable and close-minded. They lack transparency and disregard other points of view.
They can’t win any battle —neither professional not personal. I’ve seen people holding back their knowledge out of fear of being left behind by other team members, but the truth is they’re already behind by miles.
I follow this strategy:
- Learn, Do, Share.
- Learn, Do, Share.
- Learn, Do, Share.
I’ll never compromise my principles. This blog is also part of it. I don’t need to write articles and share my knowledge, but I choose to do so willingly.
Writing is enjoyable and straightforward. Documenting your professional skills by taking a few minutes each day to write about what you’re learning and doing can be a beneficial ritual. Not only will it help others, but it will also benefit you greatly.
Technical writing offers numerous advantages, both for the developer and the reader. It helps the writer to communicate complex ideas in a clear and concise manner, while providing the reader with a comprehensive understanding of the subject matter.
Benefits of Technical Writing
- Recognize as an expert publicly
- Improve clear thinking
- Skillset upgrade
- Get better at documentation
How to get started with technical writing?
I would highly recommend to have a personal blog which requires a small investment. Getting started with writing doesn’t have to be expensive.
You can begin writing with no investment at all on platforms like Medium, Hashnode, or Dev.to. Alternatively, you could invest in setting up a personal blog.
Whichever route you choose, you’ll be on your way to becoming a technical writer!
Simple Steps to Follow:
- Create a blog.
- Gather ideas for articles.
- Do thorough research on one idea.
- Draft your article.
- Edit, rewrite, and finalize it the next day.
- Publish it on your blog.
- Bonus: Share it on social media.
The process is straightforward and easy. The only issue you may face is maintaining consistency.
At first, repeating the simple process over and over may seem challenging. But believe me, once it becomes a habit, it’s hard to break.
Wishing you the best of luck with your writing!
That’s everything about my 8 years of journey in IT. Thank you for taking the time to read this.
If you enjoyed this article, you may also like my short-form content on Twitter. Follow me on Twitter (@imayurj) for more!
If you want to build career in Business Intelligence or data analytics, then check out this free blog on SAS programming.