DEV Community

Cover image for To Junior Developers

To Junior Developers

Mateusz Charytoniuk on November 16, 2023

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 ...
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
 
__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
 
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
 
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
 
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
 
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
 
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
 
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.

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
 
spo0q profile image
spO0q • 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
 
harry_farmer profile image
Harry Farmer • Edited

Love this couldn't agree more with this post! I found there is two or three apps which I've built that I spend most of my time talking about, either in interviews or when discussing similar problems with other developers.

We learn so much better by 'doing' and teaching than the more passive medium of watching others code via courses (thought they do have their place when starting). :)

Collapse
 
reinhart1010 profile image
Reinhart Previano K. • Edited

Hi, I wrote The Recycled Developer series last year and found this to be another good article.

I know some (aka. those who build influencer profile) are running and persuading companies with style, like, "we build The Ultimate MVP for your project" (Twitter profile), yet I still wanted to see how those real influencers get into the reality of tech jobs or businesses. Like this.

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.

Does those bootcamp people attempted to recommend those seniors with "Top 10 Visual Studio Code Extensions"-things while those people are just liking to use specific tools like Vim on Linux tiling WM desktops? Or more into argumenting the coding style to use so-called "recommended patterns/libraries/frameworks" taught in bootcamps?

Collapse
 
rezthedev profile image
Rez the Dev

I must say I am one of the lucky one's who did earn a position within a company after a completing a coding bootcamp within a three months. Though I must say I did have 2 years of prior experience of building web applications in php back in early 2000's when clan gaming websites was popular... It was a hobby that I build web applications for gaming communities.

After coding bootcamp I did get an interview by luck but it was not just because I had certification, the fact that the company needed a web developer who also had 15 years of field experience in their industry is what really helped.

I spent 3 hours of my day outside the dev job on side projects and learning further to improve my skills... When I started in this position in February, it was okay code writing from what a senior dev told me, so I asked for pointers where I could improve. I was given the information on what I needed to focus and where to research. I took that to heart and dove head first into videos, documentation, and reading books to improve myself.

A bootcamp does teach a mass amount of information that you will only remember at the current time to get a passing grade but because you are cramming so much and not constantly practicing you will forget. I am still new to this field and have so much to learn even senior dev's are still learning with 30 years of experience.

I truly believe this is one profession that even with ten thousand hours under your belt you can never truly be a master of since the technology is always changing. Since that is the case I picked a couple of areas of expertise to focus on not to become a master at but proficient, precise, and accurate when writing.

Collapse
 
aodennison profile image
Andrew Dennison

Let's say the company hires a senior dev for $10k/month and a junior dev for $2k/month.

Made up numbers don't enhance your example. May be these numbers are realistic somewhere, but not in my experience.

If you want to use unrealistic numbers which are easy to grasp, then assign them to fictional roles or roles like graduate student and professor, where there is a huge disparity.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

They are not made up, but may be anecdotal evidence. To back those up: you can go through job boards like nofluffjobs.com/ (theyprovide salary ranges) and compare junior positions and senior positions. At the moment of writing this, the junior positions start from $1000/month and senior positions go up to ~20k USD / month.

Collapse
 
aodennison profile image
Andrew Dennison

I stand corrected. Feel free to delete my post. It is a distraction from your main points.

Collapse
 
im_monis profile image
Monis Khan

Well I did a bootcamp (Masai school) for 7 months (9 x 9 x 6) and I am glad I did it

I got a job as soon as I got out of there

I must say their structured curriculum and mentorship has helped me in a great way

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I am happy that you managed to find a good bootcamp. The amount of time you mentioned sounds more reasonable

Collapse
 
lipelourenco profile image
Felipe Lourenco • Edited

Actually, great advice!

I had the luck to learn coding while not needing to do it. I worked as business analyst and learned python to "automate the boring stuff", per to say. As time went on, I got more "bold" and got involved with databases, web scrapping, deploying my programs, version controlling them... you name it.

As I was not a developer, people taught I was a genius for having learning all that by just googling it + trial & error. We are talking about 2015 (the year I began with VBA). That was cool and motivating as F.

Going in the same direction as the author: just find something real that you have to do and just do it. Go figure things out, go make mistakes, go structure your project in a sh*tty way just to know later that it sucked and you should do it better next time, and on, and on...

Collapse
 
aodennison profile image
Andrew Dennison

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.

I understand the point you are trying to make, but asking for help only costs the company the incremental cost of my distracted mentor.

Unless my work is so bad that it gets thrown away I am delivering $2.5K of work / week, whether I ask for help or not. Hopefully with my mentor's help that is much less likely to happen and I am actually more productive.

The example has its limits. If 5 minutes of your mentor's time saves you a week's worth of work, most reasonable managers would fault you and your mentor for wasting your time by trying to be independent. Working on the wrong thing for weeks will get you fired.

If you don't know who to ask for access, trying to guess a password is not a good use of your time. It may also cause the sec. folks more work responding to an apparent break in attempt.

Learning to ask the most junior person for help is a skill in itself. You wouldn't ask the CEO for directions to the bathroom. I have seen some junior devs ask the most senior person, because they always know the answer.

Be considerate of your mentor's time. Offer to do tasks that she finds boring, that you can do without supervision.

Smart managers assign a buddy to a new employee for the first 30 days. That way junior is only interrupting one person for the simplest questions. If junior keeps asking the same question, it is obvious.

I had one new employee ask me the unix command for listing files in a directory. 'ls -ltr'. His 'muscle-memory' was to ask me 5-10 times everyday, no matter what I was doing. I finally told my boss I was working from home until I got my work done. When I came back several weeks later, junior had learned ' ls -ltr' all by himself.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I totally agree, I wish every business would have smart managers, dedicated mentors and a lot of patience towards juniors.

Collapse
 
fr0z3nrebel profile image
John Adams • Edited

Yeah, the boot camp advertising has gotten a bit excessive, and full of tales that almost never exist. But, I fit against the grain here, because I graduated from a bootcamp, and I've been a successful, highly praised software engineer for a few years now. I believe a person's drive is more important than what they know, because the problems that need solved are going to evolve every day. And like you said, with AI, those problems are only going to get more difficult. The fundamentals are most important, not what language you know or what you can do with it. You also have to be able to grow and adapt quickly.

Thanks for posting this. I enjoyed the read and agree with most of what you have said.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Thank you. I wasn't sure how people will react to this article, but I just had to put it out there. A lot is going on, but I still believe there is lots to be done in software engineering for all of us.

Collapse
 
lico profile image
SeongKuk Han

I'm still a junior developer. Although I understand what you said, however, it's a bit different from my opinions. Of course, it would be different as everyone has their own perspective.

  • Don't Do Coding Bootcamps
    I understand your point of view. In some advertisements for coding bootcamps, they promise salary and jobs don't make sense. If someone comes to think of it a little bit, it would be obvious. There are tons of talents struggling to get a position out there. But a bootcamp can be a good option for people like me. I don't have any titles like university or prizes from competitions or something else. Graduating from a bootcamp is like a certificate for me, and in fact, there are people trying to help people, of course as you said, some of them may be not passionate about it but there are people who really want even a little bit of help. Besides a course, you should be working hard and code a lot. This is the fact never be changed but the point is that coding bootcamps is a good option for some people.

  • Be Independent
    Yes, it's very true and I think if somebody keeps working as a developer, at the end of the day, they will be independent. The way I see it, it's inevitable. Anyway, I don't understand the loss part you compared with salaries. That's what they do. If a senior developer trains 10 junior developers as 4k/month people from 2k/month. It ends up helping the company. I think this is a problem these days. Hiring entry developers with 5+ experience jokes came out of this I think. No, everything can't be calculated as money. There are always people around the world who are better than us and earn much less money. It doesn't mean putting all effort into teaching them, some of them may need some help to be glow.

Collapse
 
andrelabbe profile image
Andre Labbe

Yes, many years ago, the way of working was far to be what it is now. I could say I come from a world which does not exist.
I am not a Dev in a pure sense of the term, more a sysadmin and I do coding since there days you cannot do without.. But the same does apply!
I also agree, these days the bar to start any job is far more higher than years ago.
I have seen 'job description' for 'junior' and I can assure you the 'junior' needs to know his stuff pretty well. Basically the employer will not babysit you!
Anyway this apart, Any training as boot camp, courses or else are not the magic bullet. Theory is one thing, but practice is another. The Real word is not like text book, far from it!

Yes, they will/might give you some good bases to start of and obviously learn the basic, but it will not make you an expert.
To be an expert, this is down to you and only you.
As stated, create projects big or small, if the idea is good you can even publish it on Apple Store or Google Play or else.
This will built your portfolio of what you have done so far and this will also give you experience.
This is the same for any job. It does not have to be 'coding' related.

One last thing, you will never stop to learn or have to learn. What you knew yesterday will be obsolete tomorrow. This will still be relevant when you will be going up the food chain. Even when you will be a so call 'senior' you will still have to learn....

Yes, these days AI is everywhere.
I would say this, not only the juniors have to be worried, after all every one is in the same boat from junior to senior.
Do you need 3 seniors or 2 seniors, 1 junior and AI?
Bottom line it is all down to cost.

Collapse
 
lexiebkm profile image
Alexander B.K.

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

I am glad you mentioned this thing.

Collapse
 
ferd35 profile image
Adf

I just joined to say that this is definitely harsh to some people. It is harsh to me.

Book camps worked for me. However, they do not work for everyone.

I came to IT via a boot camp, but it was for Data Engineering and not Software Engineering. Soon after finishing it, I started working at a Fortune 100 company as even less than a junior, just doing busy work (for a data team) unrelated to my DE skills. Less than 3 years later, I was promoted to Senior and to lead the team of the other DE (Juniors and Seniors), all of whom have several times the amount of experience that I do, even the Juniors. The application still works, and all my colleagues respect me so I guess I am not messing up too much. I do feel like I do not deserve the title and would maybe pass as mid-level somewhere else.

Many of my classmates in the boot camp did not do so well, however. I know of some looking for jobs 3 years later and trying other boot camps. Other students near the top of the cohort are doing fine, working at Apple and similar companies. I was class valedictorian, but did not try FANG because interviews scare me. I ended up at a company slightly more aligned with what I studied in College -- a different engineering Master degree.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I think we should share things how they really are, so everyone can make an informed decisions. If getting a job in the industry takes several years - it's better to be prepared for that upfront rather than to believe marketing promises and just waste few months to no effect.

Collapse
 
bourourou_omar profile image
Omar bourourou

Well your words are very logical and realistic.
As a junior like me, what is the most effective way to learn, knowing that I follow a course with a video set and after every video there are practical applications.
Is that enough?...

Collapse
 
luisrpavanelli profile image
Luis Renan Pavanello

Thank you for your words, I’m in dev area was no more than two years by myself try to get a job, I’m self taught I know that one moment the opportunity will come, I will consider everything that you told

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I wish you all the best. Stay strong!

Collapse
 
goldenekpendu profile image
goldenekpendu

I really love this honest post. I watched so many videos of developer roadmaps, promising exciting career and salaries.

But in reality, it's very different.
Thanks a lot for sharing

Collapse
 
danmcjan profile image
Bob

Thanks for the direct, no bs opinion on becoming a developer.

Could I get an opinion on my route as its really difficult to know If what we do is the best path.
So I'm studying a IT bacholors degree with a focus on web development.
I'm doing this as a distance learning part time course with the UKs Open university.

A lot of the focus is understanding the core technologies and principles. Virtual machines, operating system architectures. Some Linux management. Networking infrastructure, cyber security, ethical principles. And for coding itself we study python, javascript, java, php, html and even web content management systems. Some of thse listed are future modules I plan on completing as part of the structured course.

This is expensive but I the uk higher education is accessible with good student loans that are manageable.

So my question is, is this a good path into developing? (I'm 43 years old and won't be finished studying till I'm 45-47)

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

I never finished college, I am self taught; I only took some math university courses like mathematical analysis, algebra etc but that’s all, so I can’t give you an advice on what courses to pick when it comes to programming. I started learning how to code when I was 12 out of pure passion and I landed my first job at 18.

To be honest I think the future of programming will require languages with asynchronous features, so there will be a hard times for php community unless it transitions to async php extensions like Swoole or Roadrunner. This is because despite all the optimizations php scripts have a cold start (start and die with each request essentially) and serving ML models or even complex graphql schema becomes not feasible - again, unless PHP community embraces async. So I’d keep that in mind with PHP.

Python, Java and CMSes are fine but I think those are solved problems (systems like CMS). For the sake of education it’s fine.

What I find the most important in the modern market is the ability to mix technologies together, integrate with various services, performance and security - quality overall. The concept of making a product that consists just of PHP / Django / Java backend and some JS framework on the front is dated now. And in several years with all the AI advancements? Hard to say

Collapse
 
huynhtn profile image
Huynh Nguyen

This is a good read. I actually found this inspirational. I think I notice early on the missing gap with coding bootcamp. Still I continue teaching myself after. I think I learned more exploring on my own than bootcamp. Thank you for the reading

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I really hope this post helps someone. I sympathize with junior developers. It wasn't easy for me in the beginning, and I can see it can be at least double as hard for people who want to start now. The gap to jump to start the career is wider than before, but if that's what inspires you then I think it's totally worth it.

Collapse
 
smitroshin profile image
Serghei Mitroshin

It sounds very legit.

But, the reality is that a bootcamp course is better than nothing, just for experience.
If you'll say to the junior, just learn and write code by yourself — that's nothing for him.
He is not competent enough just to figure out where to start from, which information he should learn at which step. And to be honest, I can't imagine how hard it's to be junior these days. It's really hard to navigate through these crap of different smart terms and technologies.

So for sure, there is no such thing like — become developer from 0 to senior in three months :D

But in the same time, for growing up, all the instruments that you found are good if they are useful.

Collapse
 
tuturado profile image
Alef de Paula

Your article was very good, and I agree with everything you said, I'm trying for a JR position at the moment, because I think I already have the skills for it, so I really enjoyed reading your work, congratulations!

Collapse
 
xucian profile image
xucian

I can add: do personal projects, small and many, not big and few.
you'll learn REALLY fast. 11y of dev here, most of it on personal stuff. employers care about what you know. it's pretty easy actually, people make it complicate with all these resumes and stuff

Collapse
 
daliusbeckjr profile image
Dalius Beck jr

Thank you for sharing your experience! I really needed this as much as the next guy

Collapse
 
rabiulislam007 profile image
Md Rabi Ul Uslam

Really good article for junior developers.

Collapse
 
indipirate profile image
Nayeem Ahmed

Enlightining 👍🏻

Collapse
 
sandros94 profile image
Sandros94

I loved this writeup so much that I decided to finally do my first one.

Thank you so much.

Collapse
 
doreen970 profile image
DoreenNangira

You nailed it man! This is what every beginner needs to know.

Collapse
 
gfrosh08 profile image
Gideon Onyegbula

I really appreciate this advice man. None of my dev friends told me this!

Collapse
 
fumez profile image
fumzy123

Thanks for this. It really helped.

Collapse
 
farzaadweb profile image
Farzad Farzanehnya

Thank you for sharing your experiences.

Collapse
 
micheleawada profile image
Michele Awada

this is so accurate.
Bootcamps arent needed
tutorials waste time(docs on top)
code instead of anything else to get better at coding
dont switch langs to often

Collapse
 
uyiidehen3 profile image
Uyi Idehen

I learn by checking peoples source codes
eg android and by reading books and practice. is it enough?

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Well, in the market you will be judged only by results, like recent projects or recent work experience, or what you managed to deliver that brings value. If what you are doing is enough for you to produce such results then I think yes

Collapse
 
gnugautama profile image
Agung Utama

Thank you for this article

Collapse
 
nitropian profile image
nitropian

That is actually great advice and I'm glad I got similar advice when I started learning to code. I am actually a career changer, starting my first job as a junior fullstack dev in 2 weeks. Before I found the junior position, I have been learning for around a year and was lucky enough to have supportive experienced mentor and friends with lots of experience in Tech. Their advice was very similar to yours, which is why I did not attend a coding bootcamp. Instead I focused on understanding the basics the best way I could, did codewars and worked on projects (which actually helped me get the first job in the current tough market). I know that I still have lots to learn so I'm working on that :) Good article and advice!

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I am happy to see positive reactions. I started scrolling through dev.to, X and I think there is too much BS like "here is how I earned $100k in a month by writing 5 lines of code" or "those 5 simple tricks will land you a job" etc. Unfortunately such mentality started to corrupt the coding scene recently. I think some push-back is necessary.

Collapse
 
thedigitalwill profile image
Will Davis • Edited

As someone who is currently in the same position, I will give my 2 cents. I recently graduated from a coding bootcamp in August, & even though we went over foundational & some advanced topics (scope, hoisting, if/else statements, & restful api’s to name a few), I knew when it was over I wasn’t ready for a developer role, even at the junior level. The main skill that I’m thankful I learned (besides coding foundations), was how to “think like a developer”

Boot camps help lay the foundation to become a skilled developer, but it’s really on the individual developer to take their learning into their own hands after. The development industry (& the digital space as a whole) is built for self-learners/starters, & those who are willing to put in that “free” time studying and working on personal/freelance projects are the ones who will ultimately succeed.

As for myself, I’m still building on my own, becoming more grounded in the foundations of JavaScript before I even think about touching React. I agree that the independent route is the way to go, not only for solving problems on your own , but building your own digital products as well & not waiting for a job for you to use your development skills. Also, being an independent thinker & problem solver will benefit anyone in situations besides being a developer.

Thread Thread
 
nitropian profile image
nitropian

Yeah, I was lucky enough to have a mentor - senior programmer, that helped me with the basics and told which concepts I need to understand really well at the beginning. If I would not have such support, I would probably have attended some more structured course at the beginning as well, in order for someone to explain the basics and give the beginning of my learning some structure.

Just as with learning a foreign language, sometimes it's better when someone can lay out the foundation for you. Then you know in which direction to go and what to google. I think that bootcamps can be a great start, just as any other course, however most people simply need more time with the basics. And in today's job market the promises of finding an awesome job after just few months are just not realistic or achievable for very few.

I can recommend the Harvard CS50 course (available for free on EDX). It helped me gain a wider frame of reference while thinking about coding problems.

I wish you good luck on your learning journey!

Collapse
 
rahilka profile image
Rahilka Simonova

Great points, thanks for sharing!

Collapse
 
valkraidy profile image
Val Kraidy

Great insight

Collapse
 
kimzinc profile image
Kimutai

Thank you so much , I have read your article and I agree with you.

Collapse
 
abhimanyut0800 profile image
Abi

I respectfully disagree with your initial statement. I am currently pursuing a path of self-learning to become a developer, and I am not alone in this journey. Many developers, including those working at multinational corporations, have successfully forged their careers through self-learning.

However, it's important to acknowledge that there are individuals who face challenges in realizing their full potential within the structured environment of bootcamps. Each person's journey is unique, and various paths can lead to success in the field of development.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

I am not bashing the efforts, just the false promises that boot camps give and the attitude to the programming they promote (lowest effort possible, just for the money)

Collapse
 
abhimanyut0800 profile image
Abi

Yeah, it's all about the students bringing the hustle and grind. The more effort and hard work they pour in, the cooler their journey to success becomes.

Collapse
 
kehoecj profile image
Clayton Kehoe

This is great - the “Be Independent” section is so important for jr devs. I’m teaching my kids to code now and I’m trying to establish independent problem solving because it’s so important for developers

Collapse
 
adesoji1 profile image
Adesoji1 • Edited

This is my best post of the year. my mentor has been teaching me AWS for about 5 months and he told me he wants me to have solid understanding of cloudskills and we won't be done until to years later/ he said during this learning phase, i shouldn't even make attempt to apply for any job yet. some people are just in a hurry

Collapse
 
ericyd profile image
Eric Yancey Dauenhauer

There's some reasonable advice here but I strongly disagree that you shouldn't be asking questions as a junior. If you (as a senior dev) or your company isn't willing to spend time developing resources, then don't post a junior position. Juniors need to ask questions. It is also in our collective best interest to cultivate junior developers. Unless companies put in resources to develop future generations, we will not have any seniors to hire. It's like when companies don't offer good maternity leave; don't you want humanity to thrive? Sometimes it takes a little personal sacrifice.

I believe the author is trying to be helpful with this advice, but I'd much rather read a piece that challenges this mindset, rather than tacitly approving it by claiming it is inevitable.

Collapse
 
thinh79 profile image
Thịnh Bùi

Thank you for your insightful article.

The example you provided about the cost implications of hiring junior developers versus senior developers was particularly enlightening.

It offered a fresh perspective that I hadn’t considered before.

Collapse
 
kedzior_io profile image
Artur Kedzior

Your arguments resonate a lot.

Bootcamps - they sort of give you some necessary knowledge, but the real experience comes from building something that is actually used by someone, dealing with real-world problems.

Coding Gurus - I was actually surprised to find that many of the guys out there teaching sometimes do not have a good understanding of what they are talking about. Just yesterday, I got into a weird discussion about the differences in Server-Side Rendering (SSR) between the React and Blazor worlds.

Vanilla JS - This was the first thing I learned in the frontend world, and after mastering it, I was able to jump into any framework/library out there and either stick with it or abandon it quickly.

Collapse
 
tqbit profile image
tq-bit

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

this

Collapse
 
jacubblin profile image
Jacub

A sober look at things is a rare occurrence on the internet these days, that's true. Lots of cinnamon lattes and no seriousness.

At the same time, the author's competence, even taking into account probably good intentions, is doubtful.

The article is written very one-sidedly from the perspective of some mythical coder with 15 - 20 - 30 years of experience, but at the same time, it reeks of the classic mistakes of a very superficial coder, not an engineer. Writing code, more code, even more code... Well, it's the logic of a very narrowly educated specialist, harmful logic.

Code is a very small part of an engineer's work. Only an idiot who doesn't understand how and why a tool is needed will compete with GPT. Go ahead, screw in screws faster than a power drill. Good luck. They really won't hire you if all you can do is write code. You will be hired for your ability to think, analyze, model, and solve problems. This requires knowledge of a bunch of other things. The only thing the author is accidentally right about is that yes, you can't cram a 6-year program into someone in 3 months.

Going and writing code without understanding what you're doing and why is just as stupid advice as going to plant magic beans.

You won't get into the industry with knowledge of PHP (sorry author, but to put the words PHP and programming in the same sentence is an insult), that's a fact. Now people with knowledge of algorithms, statistics and analysis, logic, and lots of interesting things like Markov chains and topology will get in there, not to compete with GPT, but to understand how and why such systems are needed and what to do with them. Most people will never have enough brains and patience for this.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

That is true, you shouldn't code for the sake of coding, but I said it under the assumption that the final goal is to understand the underlying patterns and systems; just getting better at software delivery - there is no other way than to practice and to implement what you already know - so the sooner one starts to get into something practical the better. For example, Google had all the knowledge required to create ChatGPT - they invented transformers, but it was OpenAI who just implemented that and pushed the product to market.

So you can either take on bootcamp after bootcamp, course after course and stay in the same place, or you can learn something - practice it, learn more, practice more - rinse and repeat.

I disagree on PHP, I really like it and I think it's fantastic for prototyping and integrating services. With recent developments and async extensions it has a good change of staying relevant. I also respect PHP community.

I try not to diminish people, I think everyone has brains for this; the entry point is just higher than ever - but not because someone is dumb - the market is flooded.

Also I am not mythical, this is my GitHub profile: github.com/distantmagic
My LinkedIn: linkedin.com/in/mateusz-charytoniuk/

^ You can check me out

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
pengeszikra profile image
Peter Vivo

Maybe junior developer hired for legacy stuff which is does not want to maintanence senior developer. So some specific domain knowledge will help.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

Maybe - but getting into legacy projects with bad codebase is really hard. Usually in such projects you have to do LOTS of debugging - touching one things always breaks something else, etc - be prepared for lots of stress and missed deadlines.

The other drawback is people will start associate you with bad projects, hard problems etc. It's too easy to get stuck as "that guy who works only with old and sh***y stuff" - unfortunately most people are short-sighted. Kind of sticky, will be hard to get out of that perception, but it's better than nothing.

Honestly, if I'd have to start in the current market I would have no idea what to do. It's hard to land a job with no experience and to become a senior it takes a few/several years of coding several hours a day. I think there would be no other choice than to do that essentially for free, by coding your own projects.

Collapse
 
not_an_ai profile image
George

To any Junior Dev please... ignore this trash post. Only real bit is: there is no guarantee you will land a job after a bootcamp but nothing is impossible. You are your own limit so keep learning and improving and not in all companies you will have shitty colleagues that won't help you, there is always people happy to share knowledge.

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk

Yes, that’s what I’m trying to say. Market is over saturated, most businesses are not ready, or not willing to take in juniors. They should take all of that into account and prepare better, not just give up on their current job, dive in into some random boot camp and hope for the best.

Collapse
 
termokop profile image
Yurii Hruba

Thanks for inspiration 🙂. It is exactly what I trying to do. But people told me that I need certificates to get a job... So, I got some of them. Just for ✅. And continue work on my own projects.
Let's see what will be)
Thanks again 😊

Collapse
 
aodennison profile image
Andrew Dennison

Honesty is somewhat underrated lately, but it is essential to working in a team. If you make a mistake and then lie about it, those trying to help fix your mistake will waste time if they don't have the facts. No one will care that you are ashamed or afraid of losing your job.

I saw a DBA delete some data in production and then lie about it. Not only is that immoral, it wastes people time. Most of all it reveals the DBA's stupidity for thinking there aren't logs which track everything. He wasn't fired for being incompetent, but for wasting the time of others. He was gone the same day, and no one thought it was unfair.
You won't get fired for one mistake, but you will for two when one is a lie.

Collapse
 
sirdave001 profile image
Lucas David

This is so true. It so evident that experience taught you this. Thanks so much.

Theres one phrase I've always kept close to head, 'those who knows doesn't want to teach it'.

Collapse
 
uname0 profile image
Vilian

Can you elaborate on what you mean by your last sentence - "The substance is what the current market is missing the most." ?

Collapse
 
stefanmoore profile image
Stefan Moore

Thanks for the post. I'm not a developer but I'm taking what you've said as well as below and applying towards a career in the cloud. Thanks to all on your opinions.

Collapse
 
uname0 profile image
Vilian

Can you elaborate on what you mean by your last sentence - "The substance is what the current market is missing the most."?

Collapse
 
mcharytoniuk profile image
Mateusz Charytoniuk • Edited

I think that we have too many fancy certificates, titles, too many people motivated just by just money and too little people willing to experiment, take risks and create. Also too often behind a crafted job history stands nothing of value.

Collapse
 
jrrs1982 profile image
Jeremy Smith

Amen!

Collapse
 
aatmaj profile image
Aatmaj

Thanks for sharing...

Collapse
 
makonere profile image
Kevin

I support this

Collapse
 
josef2021 profile image
Josef

40% is well said vs 60% trash 🗑️.

Collapse
 
smilebootyvikki03 profile image
vandhanaKumar

Cool.

Some comments have been hidden by the post's author - find out more