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.
Top comments (61)
There's no guarantee anything you do will ever make you "succeed" and I worry that this outlook is dangerous. It's "Disney thinking" - hard work will make you rich and respected (and possibly royalty; their movies are quite misleading).
The problem is that when you don't succeed, the logical inference is that you didn't work hard enough - you're lazy, or defective somehow. And since the majority of us won't get that golden dream, it's extremely unhealthy to hold this belief in the long term.
"Disney Thinking" is a nice metaphor I must say, distills to the point.
I think the main issue is how many define success, usually success is defined as an end goal that needs to be achieved, and it can be quite damaging.
Anyone who is reading this, remember anything from which you either learn, unlearn, or learn that this thing doesn't interest you is a success.
Yep, exactly this type of 'toxic positivity' got me into downward spiral of 'more work -> less energy -> still not succeeding -> more work -> less energy -> still not succeeding' until there was no more energy left. I was asking myself 'how should I put in more energy when there is nothing left? and I still can't make it!'... go straight into Burnout... do not go over 'Start', don't take any money.
Well said.
But learn to Pivot. There are loads of successful professionals out there, few of whom will tell you they didn't work hard and didn't analyze and then adjust. Know when.
Quite. There're all sorts of factors out there dragging you away from the so called success, like the industry you're in and the persons you're working with. Being positive is vital, but understanding the environment is also a must-do.
Luck is always the factor in some or the other way.
As someone coming up on just over 35 years in the IT biz, what's helped me survive is being a "jack of all trades", stay flexible and adaptable, close to #5.
If something calls to you and you feel it's something you want to work with then do it, even if it becomes a dead end and you have to walk away then you will have expanded your experience. I must have coded in close on 30 languages, used operating systems people under 30 have probably never even heard of, let alone will ever work on. Everything I've ever worked on from my first micro at age 9 in 1981, to messing around with my first PC in 1986 as a teen, right up to literally today working on Terraform with AWS and Azure, it's all just constant experience and exposure. I love working on certain things, automation is my "safe zone go-to" when I need to just chill at work and still get something done but I almost never say "no" to anything.
Just see everything you do as expanding your experience. It's the reason my manager has let go of many people but kept me and a colleague I've known for 25 years now, the second our manager says, "Guys could you take a look at....", me and my mate will be off and trying to out do each other on who can learn the nifitiest tricks about whatever it is! Even if it gets canned 3 weeks later, so what, we learned something.
I quite like your mindset ("Jack of all trades")
+1. Your client is human. Learn how to speak with human. Many beginner only focus to sharpen their technical skill. Well, it's good, but for long terms career you should sharpen your softskill
Thank you , this is truly pro content.
@vorniches ,Thanks for posting your experience. Its been a year as backend developer and I can co-relate most of the things. Specially these words.
Your blog gives me hope to continue, thanks ❤️
I'd add one advice, especially for people in USA. Don't do overhours. Never. If your "full day" is 8 hours, then after 8 hours turn off your computer and do something else, whatever you like to do in a spare time. In two years the only people who will remember that you did overhours will be your kids (or family in general).
Why USA? Well, because of stuff I seen on social media so I may have a false view, but it seems that in USA there is a mindset "put more hours -> earn more". No. If it works in some countries then it can work everywhere, just be assertive and don't look at your colleagues who maybe do overhours. It's their problem. It's easier on home office but I can't relate because I never did overhours (I'm a software developer with almost 10 years of experience).
6.) If you sign a contract as consultant developer, make sure that there is a clause that regulates payout/benefits if your efforts are used during a sales process. Otherwise all the benefits will go to the sales person while you're the one doing the actual job.
But you’re getting paid for your efforts leading up to the sales right? Never heard of this clause, been a consultant for 15 years. Interesting idea tho :)
Thanks for sharing.
Point#3 has been my worst career mistake: staying too long at a stagnated job hoping and praying for things to change without any action on my part.
Thank you for sharing 🙏🏿
Some comments may only be visible to logged-in visitors. Sign in to view all comments.