It doesn't matter if you never went beyond building simple apps, have no degree in Computer Science or can barely remember the last time you touched an algorithm. You can use these simple secrets to escape the junior/mid-level dev minefield, unstuck your career and instantly pump up your salary.
In the last 12 months CodeWithDragos has helped 40+ ambitious developers earn over $772.441 worth in promotions and pay raises from new positions - in the backend and the frontend - all across Europe, from Berlin to London.
Our mentees work for international tech companies around the world - Twilio, GetYourGuide, Bitwala and a few other dozen internationally renowned companies.
In the process, we have learned that technical mastery, that is, the proper understanding of software development is the secret to getting access to the best jobs and making on average 30% more.
Here are a few of the ways CodeWithDragos uses to help our clients build insanely successful software careers and become industry leaders.
If you are an ambitious coder, programmer or software developer, many of them will surely benefit you as well.
1. What really makes you get ahead as a developer
Programmers must know how to program. Nor how to tweet, not how to read from Stackoverflow, but how to code. Software Development is a highly technical field, and knowledge is power.
Knowledge of the fundamentals, knowledge of your specialization (frontend, backend) and general knowledge of software development. Regardless of the technology, regardless of the country, the fastest way to get ahead is technical expertise.
From Anindita De in the UK to Akua in Berlin, the one most effective thing particularly when trying to get out of the junior/mid-level rank was building a strong technical foundation. That means between others getting the basic right: API Design, Cloud and Testing are like the boring people at the party that actually pay for their tickets. Make sure you befriend them.
2. You can switch jobs, but not salaries
With recruiters hitting your inbox just because your job title is Software Developer, it might be tempting to jump boats quickly. But, job-hooping without drastically improving your skills, is sacrificing long term career growth for quick money.
What’s more, the salary increase we saw when switching jobs fast was almost negligible if we take into account the cost of job switching(notice period + probation + time to next promotion).
As a rule of thumb unless the pay increase is between 25% to 30% it does not pay off to switch jobs unless you find yourself in a critical situation. Instant gratification in software development is a recipe for failure, not success. If you want it now, you will most likely never have it. Long term success comes from strategy and focus, not randomly jumping around.
3. The most common mistakes made by beginners
Probably the biggest mistake we see developers make, especially the rookie ones are trying to learn everything. Developers are addicted to the latest fizzy fuzzy framework just out of the open-source furnace.
This addiction is perpetuated by sites like Udemy, where you can buy a course a dime. If I had one penny for each Udemy course I bought... But, starting 15 different courses is taking 15 different steps in 15 different directions.
In reality, focus pays off. In our experience, developers that stick to things and understand the fundamentals well, come up even stronger when dealing with new frameworks, as they become more adaptable to change.
If you’d like me to coach you to help you go from coder to engineer with a step-by-step action-wise plan, get on a 45 minutes call and let’s chat.
4. You should code for money, not for passion
What did you just say? There is a lot of shaming of developers that sound driven by money, I know. Either by peers or companies, they interview for. Well, screw that.
There is no shaming on late night deployments, long hours, nonexistent pay raises, and free beer and soda that only make you sick. I am not telling you to be greedy, but never feel guilty when it comes to negotiating for your worth. Or leaving a company because you want to make more so you can move into that dream house or buy the latest gadgets.
No, it is not going to be easy. To negotiate well, you need to be in a position of power. To be in a position of power, you need to be in demand. To be in demand you need to… If you read this article with absolute focus, not like that last Udemy course you skipped through, then you will already know the answer to that.
5. Monkey see monkey do, monkey fails code challenge
With sensational headlines such as “from dog walker to software engineer in 12 weeks”, we are at a point in the industry where everyone that binge watches JavaScript for beginners on Youtube calls themselves an expert.
The “monkey see monkey do” culture popularized by the “free” courses (Youtube is not free, is a time-sucking vampire ) and mediocrity is running high. Yet, barely seeing things does not translate to expertise. You can watch Game Of Thrones as much as you want, does not mean you will learn how to govern a country(or your village).
In other words, just because you theoretically know about something, doesn't mean you can apply it when building software or in a technical interview. The list of buzzwords listed on your CV is not an indicator of ability. In the real world, monkey must know why things happen, so monkey can actually write code to fix it.
6. Exactly how to plan your technical growth
The phrase we recall the most from our interviews with more than 250 developers that applied to our program was “I lack a plan”. What’s worse, many developers we talked to, delegated this responsibility entirely to their company.
But your interest as a software developer is not always your employer’s interest. Yet, developers that had a plan even before joining our program, achieve their goals 45% faster than their less organized counterparts.
So how can you come up with a plan for yourself? I could write a PhD about this topic. For now, you can keep it simple, look into the future let’s say 12 months from now. Reverse engineer what you would like to achieve and boil it down to the specifics.
If you’d like me to coach you to achieve the same amazing results our mentees are achieving in their software engineering careers, click here and book a 45 minutes FREE initial consultation with me.
7. Open-source bragging rights and working for free (or for status)
Against all popular belief, a GitHub profile, contributions to open source or social media followers are almost irrelevant when it comes to getting paid properly for your skills.
We actually see a negative correlation between the time you spend on social media and a developer’s salary. And though open source works in some cases(there are always exceptions), it is mostly with outliers.
The most highly paid developers we worked with were solving deep dark problems buried in fizzy requirements and legacy code. Think about it. What is easier, deciphering decades-old code, aligning with non-tech people all under tight deadlines or hacking the weekend fixing some GitHub issue?
Fixing dirty, nasty code pays off, and it pays off generously. Once again, using your coding skills to solve real problems in the real world away from the noisy crowd is what will get you the salary you deserve.
8. How to get paid what you deserve (and even more)
In software development, you make the most money not by writing a blog, not by making youtube tutorials about the same 5 libraries everyone knows, not by tweeting, and not by refurbishing some boilerplate and calling it open source.
You make the most money writing good freaking software. Tadaaa. Quite a surprise huh? Now take a look in the mirror and ask yourself, in the last month how much time did you invest in learning how to write better software? Social media does not count. Surfing the web does not count.
Just like a basketball player if you want to get good with the ball. It is time on court that matters. Make writing software the main thing. Because it is the main thing.
9. A technical “tool kit” to keep you out of trouble
What did you have for breakfast 17 days ago? What was that critical issue in the sprint 6 months ago? You might be able to answer these questions, but by all means, they aren't easy (unless you always have the same thing for breakfast, which you actually should.). Human memory fails all the time.
This is why using predefined recipes when faced with a technical challenge is betting on you remembering that damn breakfast. You don’t need to memorize 1000 data structures, problems, or algorithms. What you need is a process. Just like the mechanic uses a physical tool kit to fix hundreds of different cars, you should use one, a mental one.
At CodeWithDragos we dived deep into the ocean of tutorials and articles and we could not find any that could work in the messy real world of technical interviews. So we went ahead and built one for our customers. It is simple, it is sexy, it has 5 steps and most importantly, it works.
10. Why startups are the worst place to start as a developer
Spaghetti code, long nights, lack of structure and growth, no senior people around you to mentor you. If you are looking to start your developer career on the pole position you might want to stay away from the ‘next big thing’ that will probably never happen.
Leaving aside some select places and all the media glorification of startups, the reality is they are pretty bad places to get started in software. Young inexperienced founders selling the best thing since sliced bread is a very nice story for newspapers.
In reality, the developer had to spend long and lonely nights building what the ‘hustlers’ promised. Not so sexy anymore, right?
All the software developers we worked with preferred established companies as a starting point. The more experienced the developer, the more they demanded working for companies with mature engineering cultures.
11. They say they hire for potential but they hire for ability instead
Managers don’t want to take any additional risk. There is already a lot of risk in building software. Why bet success on a fresh newbie? Ever wondered where the ‘3 years experienced junior’ job offers come from? Now, it is easy to blame them.
But, imagine you are a manager with a tight deadline. Would you hire yourself? I bet you would think about it, at least twice. A good attitude is nice to have, skills are a must. So you better pass their finger bleeding tech challenge.
Don’t join the complainers, work on your skills. You will still get rejected, ghosted and ignored. Yet each test will make you a better dev. At CodeWithDragos we observed it takes around 3 to 5 code challenges for the average developer to get up to speed.
The only way for you to approach these challenges without your heart plunging out of your chest is by having a process. This is why CodeWithDragos has developed a 6 steps method that enables any developer to overperform when faced with such a challenge.
If you’d like me to coach you to help you go from coder to engineer with a step-by-step action-wise plan, get on a 45 minutes call and let’s chat.
12. Why the ‘community' got it all wrong
Go ahead and google “best books for software developers”. You will find everything, from clean code to design patterns. With so much focus on the theoretical aspect of software development, the software community forgot something.
Even if we program computers, we are still human. Most software development books dive deep into the theoretical aspects of being a developer. In our work we found out mindset, motivation, discipline and planning are as important for long term success. Clean code, clean architecture and working software are by-products of discipline, consistency and hard work.
Widely neglected, developers forget that high performance in their applications comes from the high performance of their bodies and brains. Remember, the quality of your code is as high as the quality of your thinking.
13. A secret trick to sell yourself (even if you are just another introvert)
Unless your coding skills help someone solve painful problems, you will be just a hobbyist or an artist at best. Nothing wrong with that, but if you want to feed yourself with something more than hackathon pizzas you better find someone with big problems and big pockets (don’t forget the pockets please).
Remember the people you can help the most are not on Twitter, GitHub or Stackoverflow. They are out in the real world, having real problems. To our surprise and not so, the most efficient way to land high paying opportunities for the developers we worked with was to centre all efforts on a highly optimized CV and LinkedIn profile.
One of our mentees keeps getting 5 to 7 calls a week even 3 months after landing a highly paid senior position. What are their secrets? Too many to count.
If I were to give you only one precious hint, treat your CV and Linkedin profile with the precision of a surgeon. Besides your coding skills, they are your most important assets, even down the road when you are past the mid/senior level.
14. What you must never miss in your dev CV
After personally writing more than 40 CVs that passed the insane checks at top tech companies I can tell you might be doing it all wrong. Most developers do their CV the same way they would cook soup. Add some things, and then add some more until they feel it is about right.
In the process, they forget the only thing that matters, the key to a good dev CV. That is relevancy. If your CV is awesome but is not relevant, it will be awesomely ignored. Being relevant means doing the necessary research and focusing on what you know best. Merely stating what you have been doing in your last job is not enough.
Dig deeper, add numbers, be explicit and don’t be afraid to compliment yourself. Keep colours, formatting and fancy glitter out. Opt for simplicity and attention to detail. Afterwards, proofread it like crazy. You don’t get a second chance to make a great first impression.
15. Success has no flavour
You want to know what our most successful mentees do that allows them to excel and consistently land the best opportunities out there? I was curious. Actually, I was damn curious. The top 10% of the software developers we worked with got salary increases as big as 35%.
And guess what, they all had a nasty thing in common. Yes, regardless of their domain (frontend, backend) they all had a technology-agnostic understanding of software development. That means understanding things beyond technologies, frameworks and languages.
If you’d like me to coach you to master your craft as a software developer, book a call with me to hear about my coaching program.
16. The Ultimate Weapon For The Code Interview
With the quality of the interviews as good as the quality of JS answers on Stack overflow, if you are spending more than a few hours on a code challenge you are already starting on the wrong foot.
The truth is the tech lead or senior developer that you will send the assignment to will spend around 3 minutes reviewing your work, and given the lack of guidelines on what exactly they understand by “clean code”, you are playing a guessing game.
We got the game to a whole new level by building a highly structured process and eliminating inefficiency (such as writing/coding thighs again and again). This increased effectiveness in some cases by a factor of 10.
Tech interviews are broken, don’t hate the player, hate the game.
17. How to predict the future, your future
Every day as a developer you are making a decision. A decision about what you should learn next. You go out there in the wild, check social media, check google and maybe ask your friends. You then decide to learn something.
But, this sophisticated type of herd thinking is not bringing you the results you want. Why? Simple. Anonymous benefactors on Google, Stackoverflow and your dear friends don’t know what you are good at and what you struggle with.
So how can they give you a proper direction? At best, you will get a random recommendation or a solution built for the masses. And that's the last thing you want in order to excel.
To predict what you should learn next, you must look into the past, your past. You must spend time sharpening that axe. For example, learning Kubernetes when you are still shaky in JavaScript will only aggravate your gaps.
First, you must cover the basics. Instead of scrolling online and looking at what is the hottest thing out there, you should first look at your own skills and understand what is the next best spot to improve. To predict the future, look into the past.
18. Success is replicable
At CodeWithDragos we found out that core principles that made developers we worked with so insanely successful can be applied to anyone. So far we applied this system together with 40+ software developers all over the world. An example: one of the developers that recently joined the program, reached his target position and salary in the 4th week of the program.
And his background was not even 100% related to traditional web development. Our Software Elite System™ built by veterans in the field of software development and battle-tested 12 months incorporates all the principles mentioned above to help you as an amphibious developer with the ultimate weapon to success in this highly competitive field.
It brings sophistication through simplicity and helps you build long-lasting confidence in your technical skills as well as mastery of the craft of coding.
19. What to do when you don’t feel like coding
Let’s start by breaking taboos. Even the best developers out there, the little Zuckembergs, the wizards have times when they just don’t feel like coding. I won’t say, I feel you. Take a break. Don’t forget, if you are still in the junior/mid-level rank, you have a long way to go until you get the chance to get a break. Right now I have to be honest, you can’t really afford one.
Plus, the sooner you are in the journey and the more you stop, the more you start doubting the whole thing and think, oh this crazy journey that might not even be for you. So what should you do when you don’t feel like it anymore, but have to do it anyway?
Let me share a little trick from an old cat that has been at the coding game for a while now. When you don’t feel like coding you need to keep pushing. But not until you break down in front of your code editor. You need to push for let’s say one more hour.
What the greats know is that sometimes your brain is playing tricks on you. And sometimes that hour will be the most productive thing you ever did(sometimes that hour can create an outstanding piece of code or an article like this one).
If after one hour you still feel like the screen is melting your eyes, then close the damn laptop and go outside.
My proposition to you
In the last months, I have built a whole team of specialized software training experts. We burned the midnight oil, we talked to other dev friends, we talked to their bosses.
We gained years of experience in the process, but I can’t write it all here. This is why I recorded a little video where I go much more in-depth on how the system works.
You can watch it here for free.
In it you will learn:
- The Biggest Mistake Most Software Developers Are Making When It Comes To Their Technical Growth and Earning More The
- Three Things That Highly Paid Programmers Use To Build Extreme Confidence In Their Technical Skills
- The Proven “4-Step-System” That Will Help You And Put Your Dev Career On Autopilot And How You Can Use It Right Now
Click here now to watch the free video!
Best of success!💪
Dragos Nedelcu
P.S. Like many others you might crave unfiltered advice about what it really takes to build long-lasting confidence in your technical skills, become an expert developer and make more money. If you want to feed your brain, then I invite you to follow me on LinkedIn or Twitter :) I will make sure to keep delivering you fresh pieces of wisdom straight from the trenches of software development. I will also make you get off your but and take action from time to time.
Top comments (6)
Must read for every developer serious about getting ahead.
Nothing like inconvenient truths. Thank you for this article!
Your style of writing is entertaining! Loved your words about Twitter and YouTube 🐒
I'm starting my career as a developer with a startup and not an established company from tomorrow. The main reason for this was because companies disregarded me from the beginning because I wasn't a CS guy ( materials engg graduate), but the startup recognized what I was capable of.
Congrats, hope it will turn out fine for you :)
This is a great article! Thank you, it really helped!
Some comments have been hidden by the post's author - find out more