DEV Community

Cover image for To Junior Developers
Mateusz Charytoniuk
Mateusz Charytoniuk

Posted on

To Junior Developers

I have 15 years of experience, coded in various languages, and solved multiple problems. I started my career when being a software developer was a hot commodity.

Looking at what is happening around us, I have to say a few things, and I will stay realistic. Things may sound harsh, but it's better than divulging in some copium.

Don't Do Coding Bootcamps

Just don't. You will not land a job after three months of learning how to code. Why? You won't know how to code in that amount of time, and it's impossible.

In the golden years, when the bootcamp craze was starting, I worked in a company that recruited many junior devs from bootcamps. Then they realized most of those people could barely set up a project and were able to write simple http controllers slowly. That's too little to call yourself a developer. They tried to educate them more by leaving them with a dedicated senior dev answering their questions (kind of a dedicated mentor). After learning something, several people took that opportunity and left the job for something else with a slightly better salary. Management wasn't pleased. Then, the layoffs started.

What most people in such a position did? Most of them were focused on keeping the job, "selling themselves" better and trying to impress their bosses. Nobody focused on actually learning how to code better. Also, if you try to impress someone with small talk / fast talk, it only shows that you have no skills and feel uncertain.

Conclusion? Coding bootcamps / coding schools promised them six-figure jobs after a few months of learning, which is a plain scam. Then, most people couldn't cope with that or coped in a non-productive way. Don't be like that. Spend more time on learning, and do not expect others to push the knowledge on you.

How AI Affects Jobs?

When I started 15 years ago, entering the job market as a junior developer with very little knowledge was possible.

Now, to start a job, you need to be better than ChatGPT, plain and simple. Why would anyone hire a junior if an AI can do the same amount of job in a shorter time and about 100x cheaper?

That means the entry point is higher. Previously, you could start as a junior, then get a salary rise every several months, and slowly climb to senior.

Now, you can't. First, you won't land a job, and if you do, you already have to be at least a developer because you are competing with an AI.

Conclusion? No good way to alleviate that. You should try releasing your apps and other digital products instead. It sounds harsh, but it might be easier than landing a job. Also, your app / digital product might start to earn something.

Be Independent

If you land a coding job, be independent. Ask only a few questions about how to do things in the tech stack. People may tell you at first that there are no wrong questions, but in practice, there are. You should figure out most things by yourself.

Why?

Let's say the company hires a senior dev for $10k/month and a junior dev for $2k/month. Suppose junior dev takes away 2 hours daily (25% of senior developer time) to solve every issue they meet. In that case, the business loses $2.5k/month of senior developer time and ALSO has to pay $2k/month to a junior dev. So the business LOSES $4.5k/month by hiring you.

What do you think is going to happen? Yes, I saw people fired over this. Some businesses are prepared for onboarding juniors, but those are few and far between.

Also, only expect others to teach you something. You have to own your education. That doesn't mean people won't help you, but don't do that to the point that it hinders others' work.

Coding Courses Won't Help You (The Way You Think)

What will then? Coding. Code a lot. Don't pay for another course or another 'inspirational example for beginners' - most of them are worth nothing. Trust me, even if you feel down, the best you can do is to make something - any project, app, website. It will give you much more value than staying in the permanent beginner/learning mindset.

The really useful skill is to learn how to learn from the framework / programming language documentation directly and not relying on processed knowledge.

Focus On One Thing

Technology changes fast; each month, new frameworks and libraries are emerging. There is always a temptation to switch technologies, but you will only learn a little this way. I guarantee you will bring a lot more value as a good vanilla JS developer than a JS developer who barely knows the eight most popular frameworks.

To Sum Up

Focus on producing good, maintainable code fast, stay independent, and learn by doing.

The substance is what the current market is missing the most.

Top comments (110)

Collapse
 
scofieldidehen profile image
Scofield Idehen

You know, I always look at becoming a developer kind of videos on YouTube with disdain.

I figure a long time ago there was just clickbait.

Do your learning yourself, fail a lot and if by chance you have a senior who gives you a helping hand.

Don't abuse it.

That's my rule, I believe when I fail at something, I learn something.

To juniors figuring things out.

Best of luck.

Collapse
 
seandinan profile image
Sean Dinan

When I was first getting back into web development back in 2015/2016, one of the ways I made myself a "curriculum" of sorts was by going through a bunch of those videos, blog posts, reddit posts, etc and making a list of the things that came up most frequently. I figured those would be the most important stuff.

So I think those sorts of resources can be useful, but shouldn't be viewed in a bubble. One "Top 10 things" video is likely hype words & clickbait, but viewed as part of a larger picture can be helpful.

Sidenote:
Did some searching & I think this video was one of the most useful to me back then. Worth a quick albeit outdated shout-out :)

Collapse
 
oneminch profile image
Dawit

Well said. That's been my approach recently.

Collapse
 
syxaxis profile image
George Johnson • Edited

As someone who's worked in the IT industry for over 35 years now, starting when I was ( junior admin at age 16! ) I can say that this is pretty damn good, if slightly harsh reality , of IT life in general. I'm sysadmin\DBA with coding skills, I've been coding since I was 9 years old back in 1981 and it takes a certain type of person to work in IT, a certain mindset and not everyone can cut it.

If you want to get on and survive in IT, you gotta get real experience, companies and interviews will revolve around problems that companies have experienced. Well over half the situations I put forward in interviews to potentials have been real world scenarios and some of them have been downright weird.

Companies will cut you a little slack but you better ready to hit the ground running like a hell, they won't wait while you spend 6 months getting up to scratch on something you bullshitted in the interview, they will dump you with hard problems and probation periods are only 3 months tops, if you don't perform then you're out.

Time was when I first started in the 1990s that anyone could get into IT, many did and they were bloody useless as they didn't have the mindset. I started when I was 9 years old when no one had computers at home, then people got PCs and all my classmates at school wanted to go into IT when i left school, many did, hated it and left after a few years as they couldn't hack it as it's damn hard.

The only thing I can say is find real world problems, read, learn from forums, code every minute you can, play with tech every minute you can spare and you will go some way towards gaining the experience you need to survive.

It can be done at junior levels, still a lot of legacy companies that will get you started but they will expect you to put in your own time, your own money to make it happen.

Collapse
 
astriskit profile image
H S

nicely put;

Collapse
 
peterwitham profile image
Peter Witham

First, yes, the post sounds harsh to some readers, I'm sure. But we need posts like this that tell the story of what it's like to work in the industry rather than the sales pitch.

There are no shortcuts unless you are naturally highly talented. It requires hard work and dedication bordering on extreme to get started on the path with a good chance of success.

I've lost count of how many years I've been doing this, but it's over 30, I'm sure. And most of it has been a struggle; even now, I have those days, and that's just part of the job.

I agree you can ask too many questions, but I also believe in mentoring. Part of that has to be knowing when to tell someone they would benefit from figuring a problem out themselves as part of their learning process.

I also agree that the entry-level has become a lot harder than when I started. If I was starting today, I'm not sure I could meet them all.

Thanks for putting this out there as a harsh dose of reality.

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

I've been a professional developer for almost 30 years (writing code for 40), and broadly agree with all of this

Collapse
 
maggierm88 profile image
Maggie Martin

I went to a coding bootcamp in 2014. It was 12 weeks, and was probably week 10 or 11, while building my final project in Angular Js, that things actually 'clicked' for me. I had great tutors.

I was promised 'career help' but didnt get any feedback from the person in charge of this part of the program. At least they sent me a couple leads, one of which was my first freelance project. But after that, I was on my own. I got a couple interviews, but I wasn't really able to answer any of the programming questions they asked me. My mind went blank.

I ended up talking to temp agencies who again, got me a gig building a website for a small business. I believe I also found a UX consultant gig on Craigslist of all places. I took whatever I could get as a freelancer, slowly figuring stuff out on my own if i needed to. I had no salaried magic junior developer role, at one point i got a part time job as a web developer 'intern' that paid like 16/hr. The boss at that job actually sent me even more freelance leads, as he had just had a kid and didnt have time anymore. After about a year and a half of freelancing, I finally got a decent, salaried junior dev role.

I can only speak from my experience. They really pushed how to 'think as a developer' at my coding bootcamp and even if I struggled to spin up a web app on my own from scratch at that time, I remember watching how my teacher worked through problems. How he referenced documentation. (This was 2014, so no GPT to rely on)

I had to work hard after my bootcamp to figure things out on my own in order to eventually get a good developer job. I know some people have better luck. Later on I have also worked with a lot of junior developers who were never taught or succeeded at working/thinking like a developer, or got too flustered in order to learn themselves. Most of them didn't last long at the job. They needed their hand held constantly. While in the beginning I did need help for example with things like getting my dev environment set up on a specific project initially, or asking about specific error messages to my teammates, my goal was to only ask for help after I've spent half a day/a day on an issue.

Maybe the issue is, like you kind of touched on, lack of good code schools. At my old job we struggled alot to get junior devs, and a guy we hired who took a code school course was by far the best. He had also tons of prior work experience. I think there are definitely certain profiles that do well at coding bootcamps. The one I attended actually interviewed us to determine if we would be a good fit, so I believe not everyone who 'signed up' would necessarily get into the course.

Collapse
 
skywalkerd99 profile image
Pap. I. FY

I was wondering where were the seniors and experienced devs on this platform. After jumping on quite a few articles about unreliable AI services and troublesome practices, I gotta say this is a pretty fresh and much needed bowl of fresh air. Keep spreading the golden information.

Collapse
 
__junaidshah profile image
Junaid

I agree to most of your points , especially to not ask a ton of questions
When you ask fewer questions - you tend to put pressure on yourself and ultimately learn better by yourself then asking a senior who might or might not make you understand how he fixed that problem .

But at the same time i think juniors should learn from there seniors either by code reviews or by talking to them every now and then to get the right mindset for enhancing there career.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

Yes, they should. But it shouldn't be done excessively during working hours.

Reverse the situation - imagine you have your own deadlines at work, you are behind schedule, boss is on your head, you want to finish job on time, because you have to bring your kid home from the kindergarden, and someone stands over you and asks how to make a blog post controller (or something else that is really simple). It would be infinitely frustrating.

How to do this elegantly:

  • During the day, make a written list of issues/questions. First, try to figure them out yourself even if it takes more time.
  • Be open about it with your colleagues. Ask them if they can spare you an hour after work.
  • Buy them a beer/coffe/whatever and just sit down somewhere and go through issues.

This way everyone is happy, you earned much respect ^ We are all people, we face essentially the same life problems no matter the seniority level.

Collapse
 
__junaidshah profile image
Junaid

Some companies though encourage seniors to spare some time to help there juniors but yeah i agree not all companies can be so open to it.

Collapse
 
artxe2 profile image
Yeom suyun

In fact, I have worked with a colleague who was at a level where it was faster for me to just do the entire job myself than to teach them something.
In order to learn a job, you have to go to a company, but there are surprisingly many people who go to a company like they go to a school and do not show any intention of learning anything beyond that.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Yeah. This is another sad point. On one hand everyone tells you β€œyou have to support juniors, give them time to learn from mistakes”, but when you do, the same people are like β€œwHy Is EvErYtHiNg TaKiNg So LoNg”. :D No good way out of that

Collapse
 
moopet profile image
Ben Sinclair

I think we've all been there, but let's be fair: with any technology you're familiar with and your colleague isn't, regardless of their skill level, you'd be faster doing it all yourself.

That doesn't matter. If you can teach them how to do it, you won't have to do it the next time, or the time after that. If they're a decent learner, and you're a decent teacher, that's how it's supposed to work.

Collapse
 
sergo profile image
Sergo

Thank you. I trying to become a web developer over two years (started in 2022). But it is not so easy. And I have some background of another languages (vba, delphi/pascal, java, ahk).
But I believe I will become a good web-developer and can gain some money to solve my problems. Thank you for sharing your thoughts πŸ™

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Yes, its not easy, the overall situation is harsher than before, but don't give up. I believe there are still lots of things we can achieve in the programming field. :)

Collapse
 
overflow profile image
overFlow

This is great. I have never heard or read anyone challenging these youtube videos and and posts about learning to "be a web developer in one month" or "learn a language in week".
I have been at this since 2021. And i am getting better everyday and hacktoberfest pushed me over the fence and now I'm learning things I did not want to learn but I see how important it is to learn them. Especially if I wanna get to do PR's and contribute to others work. I had to learn about modules, request and imports and exports. and am still learning.

I remember I only just wanted to learn JavaScript ONLY! But now I'm looking at Nodejs and React then python!!!!

I really think it needs to be emphasised to new students that it's gonna take some time.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Good! :D I think if you go on with that path you will stop thinking on the level of programming languages and start thinking about problems / solutions. It won't matter to you what programming language you will use (because they are all really similar in essence) - you will start to think in general patterns and algorithms instead - but this kind of mentality takes years to achieve.

Collapse
 
overflow profile image
overFlow

thank you very much for the response.
Please tell me what do you mean by general patterns and algorithms?
is there a link or a particular book or a particular subject matter that can lead me in the right direction?
Thanx

Thread Thread
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

There are lots of books (for example β€œ Introduction to Algorithms” by Thomas Cormen and others), but you also need to gain practical experience.

It’s not like you can read about it. It’s kind of the same as reading about weightlifting - yes it will help, but it won’t give you much benefit overall. You have to read the rules but then you just spend most the time on training, not reading (unless you are a researcher, but that’s another story).

What I am trying to say is - when you start doing something (when you are a beginner) it takes a lot of time, to progress you have to rebuild the code from scratch multiple times because it gets too tangled up. So you just build, destroy, build, destroy.

With more experience you are able to take something broken and repair it. To do so you need to know many projects and common issues and have a good intuition. The only way to train your intuition is through experience. After coding for few thousands of hours, when you are given a problem to solve the first thing that comes to your mind won’t be β€œwhat language and tech stack do i use?” but rather β€œwhat is the simplest way to solve this/how to straighten this situation?”, and tech stack becomes secondary.

Hard to explain, but I hope I managed to convey the message :)

Thread Thread
 
overflow profile image
overFlow

statusCode==200.
1000% percent. i know to read and practice and read and practice ad infinitum.
Coding is definetly a hands on craft.
I just lately realised that the concepts are kinda the same it is just the application of it and the syntax that is different but its almost all the same with the same little concepts like if/else and loops. lol!!!
I'm definitely gonna check out the book.
After hacktoberFest I am finding myself on the dark side.
Just yesterday I was looking at a book called :" hackers delight" ; By Henry S. Warren, Jr.
It has algorithms and mathematical stuff. It is something I am gonna really look into one of these days. very soon.

Thanks.

Collapse
 
natescode profile image
Nathan Hedglin

"Don't Do Coding Bootcamps
Just don't. You will not land a job after three months of learning how to code.*

As a bootcamp instructor, I agree. I'm realistic with my students that a bootcamp can be a helpful but it is just that. It definitely shouldn't be where someone starts.

Those that come to the bootcamp without any prior coding experience are almost guaranteed to fail.

Collapse
 
madk81 profile image
Jorge

This is it. The "dont do bootcamps" advice was rubbing me the wrong way. Bootcamps can be a great help as long as those who do them already have a certain experience, and they know they really want to work in programming.

Assuming everyone who does them is just being blindsided by the "makes 6 figures" adverts and is not cut out for the job, is just dumb. But bootcamp bashing seems to be the trend today....

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I am not trying to be against the efforts to achieve something. I just see how much harm the marketing and false promises can do. The clue is to take ownership of your learning process. I also think most people want to get into this trade just for the easy money and not to push the technologies further, not to help others through products, not to invent something - and boot camps promote this kind of mentality which also corrupts the trade.

Thread Thread
 
micheleawada profile image
Michele Awada

yea i think the worst offender is codecademys ads and how they make it seem so easy to get a high paying job

Collapse
 
engineershawn profile image
Engineer Shawn

I have about 5 years under my belt as a Full-Stack Software Engineer and I actually went thru a boot camp. So, I can validate everything @mcharytoniuk is saying. First off the bootcamps are designed for one thing. To pump out so called, Software Developers, and pump out ALOT of them. Not only is it so fast paced it's hard to keep up but just as soon as you think your getting the hang on Promises or Async functions, BAMB, your off to a new subject, and now what you thought you knew about promises or Async functions is now forgotten...

And this post was no where near harsh. If any reader thinks what @mcharytoniuk said was harsh, well then let me put the lemon juice on it, then stop reading this, sell your computer, and forget all about ever being a software developer or engineer because this career path is not for everyone. There will be times when you think the code has its own brain, can think cognitively and is just fucking with you just so he can tell his byte or node friends later. But that's not the case. There will be times where the code is working perfectly. Then it just breaks and you have no freaking clue why, oh and then it just magically fixes itself and all is well in the world, meanwhile your having a headbutting contest with your keyboard as you think about taking a shotgun to the entire server. Lmao. True story.

It is hard work and not physically but mentally. It will test your mental like crazy. You just have to practice, practice, learn, practice, learn, learn oh and learn and...... Oh yeah. Learn some more. Trial and error. But here is probably the best tip I can give anyone and yes this is what I do.

My father told me when I was a kid, "If you can't explain it simply, then you do not understand it well enough. If you want to master something, teach it"

That stuck with me to this day. What this means is. Learn how to code, how the syntax works, how the tech stack works, LEARN IT and then create yourself notes. Then teach it to yourself as if you are talking to a student. When you hear yourself explaining to yourself out loud how something works. Your brain grasps what your saying because you are saying or teaching it to yourself in a way YOU will understand it lol. It's a mystery how the mind works. But all in all great, great article Mr @mcharytoniuk.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

I was once on the other end of the process - the company I was in hired juniors by the bunch. Code schools often say that they guarantee employment / help you with landing a job. In practice they just sell a bunch of resumes - about $300 for 10 resumes, alongside your personal data to whatever business asks for them - again, this is a general rule, there might be some good coding schools, but most operate like that. If anyone wants to - check if out - pose as a recruiter and just ask any code school to buy a set resumes - you might be surprised.

How high is the chance of starting a successful career like that - knowing that someone just bought your resume with several others and you do not stand out in any way? It's almost a random chance. Of course, there will be exceptions but as a general rune, I don't know.

Collapse
 
robole profile image
Rob OLeary • Edited

Pre-YouTube, there was books with titles in the form of Learn how to program in X in Y days. This has been with us a long time. It is preying on people's interest for a straightforward fast track to a job. Thanks for writing the post. I had an overlap of experience helping junior developers too

Collapse
 
po0q profile image
pO0q πŸ¦„ • Edited

Such a great read. People underestimate this problematic, and I think it might even apply to "intermediate devs."

I love what you said about "wrong questions," cause I don't read that everywhere and it's undeniably true. It does not mean you can't ask questions but people will definitely assess your level of expertise and your ability to figure it out by yourself, and it's quite fair.

IMHO, it's not a bad thing in the end even if I understand this can be considered as a threat to a certain extent. You know the classic "threats vs. opportunities."

Collapse
 
zevrant profile image
zevrant

I agree with this whole heartedly, for the most part.

Fresh out of college, i found coding boot camps useful more for what to learn rather than teach this to me now.

I woud always hire someone eager to learn and capable of learning than someone who is naturally 'good at coding'. Most of my job over the last decade was just translating design principles into a working application via a most secure and efficient means. Being able to code has always been secondary.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

True. I also did not want to devalue someone's efforts when writing about bootcamps. I instead wanted to show, at least to some degree, how much harm can make unquestioningly believing in code camps, or code schools promises.

I am just fully aware how huge an investment in a bootcamp or a coding course can be and people should be aware that it is just a beginning of a really hard road, especially in today's market - not an instant guarantee of six-figures job or some other lies like that.

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more