Hello, dear Dev.to community. I need to get some things off my chest, so here I am, hoping to share something useful with young IT professionals. Over my career, I’ve gone through freelancing, internships, corporate jobs, career changes, and even launching my own SaaS (a story for another time…). I’ve made countless mistakes and learned some painful lessons. Here are 5 important things I wish I had known 10 years ago.
1. Consistency is Key
There was a time when I doubted everything I did – quality, choices, from direction to tech stack. I switched between technologies, considered quitting what I was doing, and changing careers again. This led to a lack of confidence in my skills, and I often felt deeply demotivated. Add freelancing income and general introversion to the mix – I didn’t even have anyone more experienced to consult to gauge my progress. It was tough – at that time, I mainly built WordPress sites. If I had spent the time wasted on doubts and indecision focusing on one career path, I would have achieved much more, much faster. Choose a path and stick to it – it will yield more results than a broad spectrum of mediocrely developed skills, especially at the start.
This also applies to finding your first job. If you can’t land your dream job or any IT job at first, it’s not the end. Yes, it might take months – even years! But if you feel that IT is your place – keep digging in that spot. Find temporary work to stay afloat. Find cheaper housing, live with your parents if you have to. Buy inexpensive and healthy food (hint: the more protein you eat, the less hungry you feel throughout the day). If you systematically dedicate time to development and job hunting – you will succeed.
2. You will struggle and not understand things – and that’s normal (and it will get better over time, but not completely)
Over time, it will get easier, but the struggle never fully disappears. I skipped classes in university, leaving gaps in my fundamental knowledge of computer science that experience didn’t fill. But that’s not the most important thing. The most important thing is that in your work, you will have gaps in knowledge. Maybe not in a specific job, role, or project – you can learn a project thoroughly, especially if you work on it long enough. But it’s normal not to know certain things about your profession in general. You don’t need to know every processor architecture ever created; a system architect doesn’t need to know specific testing tools. You don’t need to know every Amazon service inside out to create a robust testing system. It’s normal.
3. Don’t cling to a Bad Job
Sometimes you end up in a bad job. Recognizing a bad job is simple – at the end of the day, you want to wrap yourself in a blanket and hide in a corner, and most importantly, there’s no one at work you can talk to about improving the situation. Bad jobs can have various causes – sometimes it’s the team, sometimes the management, sometimes it’s you – not a fit for the role, a hiring mistake, and that’s okay. What’s not okay is clinging to that job. There can be many reasons – no safety net, no suitable alternative, no confidence that a new job will come… and you decide to wait. Wait, endure, drag it out until you burn out completely or are explicitly shown the door, despite your efforts. This can happen at any stage of your career, and you must never let it reach the extreme. If you feel something is wrong, you’re probably right. If you feel a burning desire not to go to work – something is wrong. Cut those ties, or you’ll burn out or grow roots in a bad place for weeks, months, even years, without the strength to change anything. And when the breaking point comes, you’ll face it even more depleted.
4. Frequently changing jobs can be beneficial, but not for everyone
I still see recommendations for beginner programmers: change jobs more often. This way, they say, you’ll gain more experience. A year here, six months there, and in three or four years, you’re as experienced as a senior. This can work. But it’s not for everyone.
People differ in how they can concentrate and maintain attention. If you don’t have focus issues, you can easily work for several years in one place and learn all the processes thoroughly – this will increase your value in the current company and give you stories to tell in future interviews. People underestimate deep understanding, but many positions and companies value it.
Job hopping is also useful, but it can be beneficial for people who struggle to maintain attention when the task is understood. For these people, when surprises at work run out or nearly run out, the job becomes routine, and they might start sabotaging it. If you feel something like this – it might be your case, and you need to jump from the familiar to the unknown. Again and again. Over time, such people become super adaptive specialists, for whom neither a new language nor a new field is a hindrance.
It’s important to recognize in time what suits you personally.
5. Don’t miss opportunities, even if they seem small or insignificant
A career in test automation changed my life for the better. This opportunity was always in front of me. I thought about trying it more than once, even started learning something but dropped it – I thought testing wasn’t serious, and it was bad idea to switch to testing after several years of web development (haha). It turned out I could build a serious career in this field without significant effort. Switching from bar work to web development was a much bigger effort for me.
The same goes for jobs to support yourself. My first web development job earned me $50. I made two WordPress sites – one for $30 and one for $20. It was not bad since I was learning from scratch. All my previous work experience was mostly behind a bar. Though I positioned myself (mostly in my head) as a web developer, I took any job – from writing texts to editing images. My largest single earnings in the first 2-3 years of freelancing were Photoshop editing several thousand movie posters. Three days and three sleepless nights of almost nonstop work earned me $500 – a fantastic result for those times.
And one more thing: Jargon and Abstractions
Much of what you read, listen to, and do can be so confusing and complicated that it becomes white noise. Sometimes one incomprehensible thing flows into another, leaving an unpleasant mark and a sense of limitation. But that’s normal! Once you start untangling the knots of abstractions and realizing what lies behind the terms and jargon, everything quickly falls into place. It may seem like this tangle has no end, but it doesn’t – sooner or later, you’ll understand everything (or almost everything).
Practically, programming forums and technical podcasts helped me a lot. I just read and listened to everything, googling every unknown word and term. At some point, this leads to dozens and hundreds of tabs in browsers on your phone and computer, but eventually, this flow starts to shrink. With each new read tab, you become smarter and more confident in your knowledge, even if it doesn’t seem so for a long time.
I hope this note will be helpful and inspire someone not to fear changes, to seek their place, and not to give up at the first difficulties. Remember, every path is unique, and it’s important to find your own, following your interests, aspirations, and paying attention to your feelings. Everything will work out, but still, good luck.