Make the most out of every opportunity
As developers we tend to fantasize about things like working on dream projects, using the tech we love, and working with like-minded people. However, things don’t always go as planned, but maybe that’s a good thing.
Let’s find out why.
In this blog, I’ll talk about my journey through the world of IT. I’ll go over different periods, challenges, and obstacles I faced, and the lessons learned to help you achieve your goals and make better decisions.
Early Days
For those who didn’t know, I’m a self-taught developer.
I experienced programming first in elementary school through Basic, Turbo Pascal, and EMCO WinNC in high school, and a little bit of video game modding before I started chasing my professional career.
Like many developers, I learned the most by surfing on the internet. And by going solo it was very difficult to pick a career path, so I had to decide on what to go for:
- What is popular
- What I can learn quickly
- What is in high demand
I was always a big tech nerd, the one who sets big milestones ahead with no intention of slowing down, and thought that I’d carry that same passion to my everyday job. I used to work with smaller groups of people and then I found myself in an enterprise company with several hundred employees working with a completely different tech stack that I’m used to.
I wanted to learn all the things that were hyped, like Serverless, Firebase, DevOps, CI/CD, and the idea of learning something completely different, something not mainstream, and starting from scratch again was depressing for me to say the least.
Being naive and reckless, I chose to work 8 hours a day on what my job wanted me to be, and then when I came home, I’d learn the things I was excited about.
Not only that I had a serious burnout, but I also developed heavy resistance towards my job. I perceived it as something I disliked, and I couldn’t wait to get away from it. This kind of behavior led me to fall short of colleagues with similar skills.
A couple of months go by, a colleague jumps in to support me, helps me get out of a rut, and offers some courses for me to watch and I decide to take his advice.
Generally, I was afraid that someone would find out I was not cut out for my role and I did not feel comfortable working with the tech.
But when this colleague came in and said “I see that you struggle with this, so you should study that”
and when I learned it, all of a sudden that fear and discomfort started to fade away.
I thought to myself, It’s not as bad as I imagined.
Chasing the i̶m̶a̶g̶e̶ Opportunities
Opportunities come in different ways and at different times and not always in the way we hoped for.
Looking back, I had the opportunity to learn and become better at something I knew nothing about, learn from people who were experienced in the field, as well as get valuable career experience.
Even if it wasn’t the role I was looking for, it was by no means a downside. But because I was so attached to that image in my mind of what I wanted to be, I didn’t see the opportunity that was right in front of me. It was only when I realized that I started to adapt and push beyond expectations.
As a developer, it’s very easy to wander off and get lost in the world of possibilities. My best advice is to hold on tight and focus on the step in front of you. Take notes from more experienced colleagues, and study primarily the things necessary to complete tasks more efficiently.
Impose challenges. Take risks and responsibilities. Ask for feedback. Take your time.
If you want to get uncommon skills, face your fears, be open-minded, good listener, creative, determined and when there is a will, there is a way.
Going up the Ladder
We should always strive for something greater. As a junior dev, I was lucky enough to be surrounded by plenty of more experienced developers who were willing to support me. Growing up as a developer I felt the same responsibility.
People recognize when someone is invested, committed, ambitious, and willing to take the initiative, then they start perceiving you as a leader.
At the same time, you can recognize the opportunity to step up, either due to bad circumstances, or if the team lacks experience, or if you simply want to evolve your career.
Here are a few ways to demonstrate your leadership skills:
- Take the initiative
- Make decisions that have an impact
- Mentor junior colleagues
- Demonstrate skill in a practical field
- Be there for your teammates
Try being a leader that you want to be led by, that people trust, can look up to, and are happy to collaborate with.
When you see an opportunity presenting itself, go for it.
Building a Dream project
So I started to work on another project. The system was very old and the tech used was outdated. Code quality was poor and no one bothered with it. It was a nightmare to maintain and once again not a type of project I was excited about.
I wanted to make cool things and this time instead of dreaming about it, I just did it. I was able to spot the gaps in the process and tried to figure out what to improve. I consulted with people who have been working on a project for years, we wrote the ideas on a piece of paper and started checking the boxes one by one.
The focus was on:
- Rethinking how we put the pieces together
- Setting tools that help to maintain the project
- Code quality & code reviews
- Testing quality
- Documentation, etc.
We focused on improving these few specialized areas at first, then we gradually moved towards improving the bigger things, as well as teaching others the skills they need to complete tasks with efficiency.
Make no mistake, I was sweating, but I was also learning along the way.
And when you take something that everyone uses and improve it, you’d be surprised how many people welcome you with open arms.
If you want to improve something, if you want to build something big, start with where you are, with what you have and try to solve the existing problems.
Beyond Code
Whether you’re developing a video game, a travel agency, a real-estate project, or similar, try to learn about the business parts of the project. Having a greater scope of a project you’re working on will give you more context, help get involved at the meetings, and make work easier.
Being a developer is a demanding process that requires patience, creativity, solving equations, applying coding practices, and automating tasks, but to be proficient sometimes you need to think beyond mashing the keyboard.
Throughout my developer career, I discovered that companies value individuals who are interested in the project, both from technical and business perspectives. This dual expertise can open up opportunities for career advancement and leadership roles and is what gives application architects a key role in projects.
Decision-making, good communication, quality assurance, understanding business demands, the architecture, knowing how different processes communicate, what areas to improve, what to watch out for, where to look for the problem, etc. give you an edge in excelling in IT.
>>>>>>>>>>> Think outside the box. <<<<<<<<<<<
Know Your Worth
If you have low self-esteem or suffer from imposter syndrome as many developers do, it’s very hard to recognize the value you bring to the company. As soon as you figure out what you’re capable of, you’ll start to think differently.
I used to be in a circle of people where I was undermined, and treated with as little dignity as possible, by coworkers and as soon I found the confidence to leave and carve my path, things started changing. I went to the interview at another company and smashed it.
Then it dawned on me that I’m pretty good at this.
If you’re not been fairly treated, compensated or for any other reason that you feel uncomfortable at the project, the best choice is to talk about it with your superior and the second best is to leave.
Work with those who value your opinion and effort.
Summary
This was a brief look into the series of unexpected events throughout my developer career.
- Did things turn out the way I was hoping? — No.
- Do I regret today? — No.
- Could I have done things better? — Yes!
Of course, this is not limited just to people in IT. It applies to pretty much anything, sports, social life, health, etc. If things don’t go as planned, maybe there is a benefit in that as well.
Sometimes you have to take a leap of faith and see where it takes you.
No doubt there will be pitfalls, you’ll make mistakes, but you’ll get experience and then you put a smile on your face and try again.
When I think of the future, I always see myself as a student. There are so many gaps I have to fill, so many things I want to try and learn and I want to share that experience with everyone else.
Speaking of opportunities, I want to announce that I’m expanding my blog to Dev.To as well. The plan is to write shorter articles that target specific things. And I’ve just published my first article there:
The rest of the content will be published here on Medium as usual.
Follow me on Medium or Twitter to stay up to date with my content.