19

I started learning web development by myself, over the internet. So far I've learned HTML, CSS, Javascript, JQuery, React including Hooks & Redux, Node, Express, MongoDB & Mongoose and PostgreSQL. I invested over a year learning all of this, and while I'm still a beginner, and was definitely ready to learn much more, I was feeling like I accomplished something so far.

Apparently not.

I looked up some jobs (just to see where I'm positioned for now), both full time, in companies, and part-time/freelance. I haven't found one single job I'm qualified for. Not one. Overall I literally never earned a single cent from coding, but I always figured I wasn't ready yet.

Now it's hard for me to believe that there is nobody out there who needs a guy who can work with both front-end and back-end, even if he is just a beginner.

I know a bunch of examples of young kids and teens who get into coding and few months later they're already making hundreds of bucks, while I literally couldn't afford even a beer.

I feel like I wasted all this time and energy.

What could I be doing wrong, and what's the secret to getting an actual job and a salary with this?

Thanks for reading, hope somebody can help me.

59

1. finding a job is a number game

Find a job is a number game so cast a wide net. Even if you're fully qualified, there's only a small chance any particular company will hire you for any particular role, purely due to the number of people applying.

The solution: Get on as many job sites as you can find, and look for jobs you're remotely qualified for, and apply. This is work, but it's what's required. You may find more jobs you're qualified for with a wider net.

To give you a sense of scale, some of the recent graduates I know applied to 100-200 companies, got 10-15 interviews out of that, and at most had 3 job offers at the end. Your millage may vary here, of course, with different levels of experience and different places you find jobs to apply to. But you should be aiming to apply to at least 80-100 positions, likely more.

2. job requirement lists are a wishlist

You will never find a job which you satisfy 100% of the requirements for, and hiring managers will similarly never hire anyone if they only look at applicants who match 100% of the requirements. Ask a manager describes this more detail, but the gist is what I've written above.

For your particular situation, know that this holds especially true for programming jobs. Every company has a set of frameworks and tools they use, and they'll advertise that! But what makes a programmer good is not the set of tools they know how to use, or what specific situations they've been in - but experience in general, programming ability in general, and an ability to learn.

As long as you know at least one programming language semi-related to the job listing, and you have some projects relevant, apply. It doesn't have to be exact - for example, a React developer may need a little time to get up to speed working on an Angular project, but they will already need 2-3 months of getting to know the particular project before they're actually productive, so an extra week or two learning a new framework doesn't matter.

Last, some general advice:

3. Make projects

You list 12 technologies you've learned. If I read your resume listing all of those, and no working experience, I'd be very skeptical - have you actually built things in all of these, or just skimmed the documentation enough to write a "hello world" app?

In the software development world, a resume is only worth as much as the hard experience that backs it up. There are a few ways to showcase this - work experience, school projects, and other things you've created. As a new developer, you don't have job experience. And being self-taught, you don't have school projects (though how useful those are is debateable anyways). So go to the big alternative - projects you build on your own. If you can write a website showcasing your skills - something mildly useful, and talk about it in an interview, I'll be much more likely to hire you than if you just have skills listed.

You might already be doing this, but I wanted to include it just to make sure. Projects really, really matter - they're how you can stand out as a developer, prove your skills, and also get much better. Write a pastebin server. Write a chat application. Find some 2-3 week long project which is relevant to you, and uses your skills, and make it exist!

This backs up your skills with hard evidence, but more importantly, proves that you can actually sit down and write code - a skill seriously lacking in many newer developers, including ones coming from university.

Hope that's helpful! Might be a bit rambl-y, and someone can probably write a better answer later, but these are my thoughts on your situation. If anything, I highly recommend reading that blog post from Ask a Manager, and checking out their blog for other resume, CV and job searching advice. Good luck!

  • 4
    Thank you very much for this incredibly detailed answer! The main thing I was unaware of is the part about job requirements, I always saw them as something to at least match, and preferably exceed. This new info by both you and @svavil actually helps and calms me. As for the rest, I already started looking in those directions, but it was useful to read it all summed up and in one place! Thanks again! – Colt83 Nov 22 '20 at 21:29
  • 3
    Point 3 is huge. It’s especially effective if you contribute to exiosting FOSS projects as working with the other developers proves that you know how to work as part of a team (and helps with networking, finding a job is just as much about who you know as what you know). – Austin Hemmelgarn Nov 23 '20 at 12:42
  • 2
    never hire anyone if they only look at applicants who match 100% of the requirements - truer words have never been spoken! My first employer was critically short of manpower for about a year because they were looking to hire programmers who met the exact specifications of the people who already worked at our company. I kept pointing out that the only people who had these particular sets of skills were already working here, but that none of us had them when we started. It took a year for them to figure it out. It didn't take me much longer to leave... – FreeMan Nov 23 '20 at 13:08
  • I agree that point 3 is a standout thing on CVs for applications for your first job. Although contributions to existing projects again might be a huge step up, there is a lot of knowledge required to contribute in any meaningful way to non-trivial projects. Own projects (even if they are throwaways and never to be used again) are completely ok, especially if they include docs and tests. – Lennart Nov 23 '20 at 15:01
  • 2
    @Manziel How reasonable 100 applications is depends on the time frame (which he didn't mention.) 100 applications in a week is ridiculous, but 100 applications over a few months is not so incredible. He was talking about new grads, so I'm thinking the time frame he was referring to was probably on the longer side. As for customizing your resume, if you make one "master resume" with absolutely everything about you on it and then go through it and remove the irrelevant stuff for each application, you can still crank 'em out pretty fast. – Steve-O Nov 23 '20 at 15:38
15

I haven't found one single job I'm qualified for. Not one.

Are you applying and getting rejected, or just looking at the required things and deciding not to apply?

Here's what you do:

  1. Look at a job board to find developer jobs, only look at the title and salary
  2. Find one you like
  3. Avoid anything with a senior title, you want either "junior developer", or just "developer"
  4. Read the job description but don't worry about what they've listed as requirements
  5. Apply if you like the sound of it

Do this for at least 10 jobs and you should hear something back.

You will never be fully qualified, because the majority of job adverts are company "wish lists" and not the minimum of what's required for the job.

So long as you meet a few of the requirements, that's good enough to apply.

  • 1
    I was just looking at the requirements, since I planned to get my skills to an even higher level before actually applying. This just surprised me, I felt kinda useless, since I viewed those lists as the minimum. Thank you for your advice, it was very useful! – Colt83 Nov 22 '20 at 21:32
  • 8
    @Colt83 As a little note, the moment in my career where I learned the most was in the first three or so months of work. If you manage to get hired you will most likely improve much faster than by developing alone, while accruing experience and getting a salary. If you want this and your situation permits, apply a ton, there's pretty much nothing to lose! – LordHieros Nov 23 '20 at 8:22
  • 1
    "Do this for at least 10 jobs and you should hear something back." I am laughing. A more accurate summation for someone in OP's situation is probably on the order of hundred jobs or a thousand jobs before they hear anything back, based on my experiences of spending literal years jobsearching. – nick012000 Nov 23 '20 at 15:27
  • lol, well I did say "at least" – flexi Nov 23 '20 at 15:32
7

I started learning web development by myself, over the internet. [...] I was feeling like I accomplished something so far. Apparently not.

I think you are missing a critical key ingredient here. You are looking for a job. If I told you I had read about accounting on the internet for a year and watched some really great youtube tutorials, would you hire me as an accountant? If I told you I like drilling a lot and watched youtube drilling tutorials, and tried all the different bits for a year now, would you let me be your next dentist?

You probably did great for a hobbyist, but you are competing with people with a real education. Who did nothing but learn for 2-5 years of full 40h weeks. With real teachers. Just think of how many hours you have spent so far and compare that to the 4000 (!) hours someone spent if they have a solid 2 year education.

I train apprentices and even after a full year (so a year of fulltime 40h work or school weeks) they are not considered fit to work unsupervised. Junior/Entry level jobs start after year three of fulltime training.

So... companies are hiring developers. Developers that finished their training, whether it's an apprenticeship or a Bsc or even Msc from a university, maybe a diploma from a trade school. But they all have one thing in common: it's a multi-year full time education.

So yes, if you read the job adverts, they are not targeted at you. They are targeted at professional developers and entry level means "finished education program of some sort".

I know a bunch of examples of young kids and teens who get into coding and few months later they're already making hundreds of bucks, while I literally couldn't afford even a beer.

Well, they probably made websites for people they knew, under the table. Making a few hundred bucks with no deductions for taxes, healthcare or social security from someone who needs a shabby website and does not have enough money to spent to hire a professional is easy. It's better than mowing grass or flinging newspapers over a fence, but it's not a job and not sustainable.

What could I be doing wrong, and what's the secret to getting an actual job and a salary with this?

You can go self-employed and take those orders that look like you could do it. But then you have no safety-net, no colleague who can help you out and nobody to learn from. You could work for a charity for free and use your work there as a showcase for other jobs.

But quite frankly, you need an education. Companies don't hire hobbyist dentists or accountants or tailors or developers. They hire people that are certified for the job they need done.

If you cannot afford university, if your country has such a system, some companies hire apprentices. That is a way to learn the trade and still get paid. Not much, but enough have a roof over your head and food on the table while you become a professional developer.

  • 2
    honestly I feel like the uk accountants I used all had the same accounting education as the one listed here, but otherwise your point is solid. – bharal Nov 23 '20 at 10:50
  • I agree with most of your answer. It's very accurate for Germany (where I used to have a similar job to yours). Now we don't know where OP is located, so this is tricky, but I can tell you with absolute certainty that there are companies in the UK that hire people like OP, and that there are candidates that have OP's experience. I volunteer as a mentor at codebar.io, and I have met some great self-educated developers there, and have one on the team of juniors I run in London. However, one has to stand out in the UK to beat the ubiquitous university requirement. – simbabque Nov 23 '20 at 13:51
  • 1
    @simbabque I agree, it's really country dependant. In France there's not enough developpers and anybody can easily find a job. Moreover, everyone is inexperienced before their first jobs, whether you get out of school or not. Sometimes a noob that knows it and is eager to learn is better than an educated blockhead. – Echox Nov 23 '20 at 14:51
3

I totally understand you, we all have been there!

After applying for the jobs, always get in touch with the job poster or recruiter of that company, ALWAYS. Make up a question, or ask anything but show your eagerness and interest to get that job.

Do little extra than what all the other people are doing for that job.

Please don't just send a resume and expect an answer because honestly that is just like a lottery.

Go extra mile and be creative.

and most importantly, Don't give up and keep on trying even if it's not easy and sometimes demotivating.

one last thing - Just apply and don't think too much about the requirement because sometimes companies more care about if you are willing to learn and grow. See this opportunity as networking with different companies. If they don't need you now, may be they will later.

Just do it!

1

Many skills about technology are transferable - you say you can do React, so you can probably learn Vue pretty quickly too. Same thing with Node - if you already know Javascript, you should be able to pick up the other aspects quickly. If you have zero database experience then jobs with MongoDB, PostgreSQL or other data storage components are going to be trickier.

So it is less important that you already match the spec, and more important that you can explain how your experience is applicable and how you can quickly fill in the gaps.

Good interviewers will also know this and thus will consider you even if you don't perfectly match - conversely, bad interviewers will not and therefore you don't want to work for those organisations anyway. This is why many technical interviews have a practical element, to assess how quickly a candidate can adapt.

  • This doesn't help if your resume gets tossed in the trash by an HR employee because you didn't check all the boxes on their list, long before anyone who actually knows anything about programming gets to look at it. – nick012000 Nov 23 '20 at 15:24
1

Contribute to open source projects!

@daboross' answer is extremely good advice. I just want to clarify the point in that answer, "Make projects". It is not essential that you create your own application or library from scratch. That would show your skill, but not your "soft skills" working within a team setting.

I suggest finding an open source project that you can feel proud of a time investment in. Introduce yourself to the maintainers and volunteer to fix bugs. Get started. Every open source project is different. Learn and follow their code contribution process. Treat it like a part-time job.

You may find that you are learning skills to do open source contribution that you otherwise would not, that in turn help you land your 'real' job. Also, when prospective employers ask about your work history, you can show them how to look at your actual code contributions on this open source project. After all, your contributions will be public. An employer will be assured that the same quality work you produced on that project, you will produce in their workplace.

0

The real requirement for most Junior Developer jobs is to be capable of writing the simple brute force solution to Hacker Rank programming challenges.

Apply to a bunch of jobs that you're "Not Qualified" for. Some of them will send you at-home programming assessments. Do those assessments and if you can code then you'll get some job offers.

0

So far I've learned HTML, CSS, Javascript, JQuery, React including Hooks & Redux, Node, Express, MongoDB & Mongoose and PostgreSQL. I invested over a year learning all of this,

You have started well Colt83. Those are really good choice of languages and great tools in your belt. Keep it up. When we were kids, we had to learn alphabets, our teacher didn't ask to us write a poetry in the same class, we just had to learn A for apple, B for ball and so on. The making of words and sentences and paragraphs, along with logical/other thinking took years of time for us to develop, even after we got out of college, learning has never stopped.

Apologies for the pep-talk, here are few things to remember.

  • Even if you feel the world is coming to an end, keep learning your craft. Stay focused.
  • Even if you are great at many things you'll differentiate what you love the most ONLY after working on a few projects. Something that gives you joy in working on it.
  • If you are really a focused person, try to work on your portfolio, work on few projects. Put it on your resume. WORK on your resume. Get your resume reviewed from people. Check some sample resumes online.
  • If working on projects hasn't helped you - then - For starters, get a job as an Intern. or work for free, to get yourself going. Even if you make great stuff right now, work for 3-6 months as an Intern and impress your employer. You'll get better and better as the time goes by.

What could I be doing wrong, and what's the secret to getting an actual job and a salary with this?

There's nothing wrong, just keep applying for jobs. Keep your salary expectations low initially. Show that you are interested in learning and growing and becoming the best in your craft. Your resume speaks a lot about you, try to work on it a bit. All the best.

Not the answer you're looking for? Browse other questions tagged .