What did you have to learn to get a job?

Hi there.

I’m just looking for other people experiences when they were looking for a job after learning things in Freecodecamp.

Like, in my case, I’ve completed the web development certifications while learning the tech in each of the sections. Recently, I did my first own app, and learnt more stuff, like how to use Firebase, Stripe, TailwindCSS… Basically, things that are not in the Freecodecamp web development certificacions.

Now…

I started to apply to jobs, and I realized that basically, what I know is not enough. Requirements for junior web developers are (on top of what we learn in FCC):

-C#
-Python
-Java
-Angular
-PHP
-Vue.js
-Laravel
-Next. Js
-MySql
-GraphQL
-AWS

Etc etc…

So, basically, my question is… How much more did you learn on top of what your learn from FCC in order to get a job?

Did you have to volunteer or freelance to get experience? Because that is another thing, I’ve seen that a lot of places want juniors with 1-3 years of experience?? (How can you work that amount of years and be a junior?)

12 Likes

Most job postings seem to have an unreasonable list of required skills, particularly for a jr dev. I wouldn’t let that stop you from applying. I think a valuable asset is that you have the ability to learn those things when you need to. I would just keep learning and keep applying - build projects that you can show off. That goes a long way for interviews I think.

Here’s a good video that I enjoyed. I don’t want to necessarily send you down the path of building the project from that video, but there may be some good advice in there.

6 Likes

-C#
-Python
-Java
-Angular
-PHP
-Vue.js
-Laravel
-Next. Js
-MySql
-GraphQL
-AWS

I’m going to break down that list of technologies you posted:

C#: not required at all unless you’re doing (or want to do) Microsoft stack specific development (which is .NET Core and SQL Server)

Python: also not required at all unless you want to do Python web development (with Flask and/or Django)

Java: not required unless you want to Java web development (with Spring, which has a steep learning curve of its own)

Angular and Vue: if you already know React, there’s not much point to learn these. You don’t really need to learn/know two different front-end frameworks/libraries, let alone the top three. And knowing React puts you in a better position to learn Angular or Vue if you need to do that later on for a job.

PHP and Laravel: not required at all if you don’t want to get into PHP web development.

Next.js: this could be useful to learn assuming you know React well, since a lot of companies have been starting to use it recently. It’s more of a React-based back-end framework - it does something called SSR (server-side rendering).

MySQL: well SQL in general is useful to learn for any developer, even if your goal is only front-end. But SQL is as simple as learning HTML, and you can learn it in a day.

GraphQL: not essential to learn, especially for just front-end development. Essential if you want to get into full-stack/back-end though.

AWS: not really essential to learn when you’re starting out, but should learn at some point. Can be learned “on the job” in your first job too.

It further needs to be said that C#, Python, Java, PHP, and JavaScript are all general-purpose programming languages so it’s not necessary to learn more than one of them at first. You can stick with JavaScript and be able to find a job with just that.

Also Python and JavaScript are extremely similar to each other. Any good company worth working for should or will know that.

15 Likes

I think that there are a few things going on here.

Those aren’t all going to be listed on the same job. There are different types of programming, which use different languages and those languages exist in different families. Someone who is a web developer is probably not going to apply for a job that lists C#, Python, or Java. An embedded systems engineer is not going to apply for a job that uses JavaScript or PHP. A job is not going to use C# and Python and Java either. Some of those technologies are mutually exclusive. A team isn’t going to use Angular and PHP and Vue because they are mutually exclusive.

You might see some skills grouped together in job postings because they are related and so you should apply if you know any within that group. C# and Java are almost syntactically interchangeable for example. Angular, Vue and React are all front end frameworks. Most jobs will be happy to consider you if you are strong in any one of them, even if it isn’t the one they use. If a job lists both PHP and Laravel, then they’re using PHP and that is likely to be a requirement but they’re just letting you know that they also use Laravel so that you know Laravel experience is relevant.

Often the list of technologies in a job posting may include several that aren’t even used on that project, but because skills are transferable they want the job seen by any developers who fall into the larger technology set. It’s also not expected that a new hire would have experience in all of technologies used by a team. There are too many different combinations for that to be possible. They want you to have enough experience in the relevant category of technologies that they know you’re going to be able to pick up the rest quickly.

I suggest worrying less about learning more things and focus instead on building your skills and experience in the areas that you have chosen to learn.

Whether it’s contributing to an open source project, freelancing, or just spending a lot of time working on your own project, having long-term experience building something sizeable is a major differentiator. I see a huge difference between new hires who have only done small projects that are done in a few weeks and those that have been building something ambitious over time.

Most developers will be considered “junior developers” for roughly the first three years of their career. It’s not uncommon for someone to move from one junior position to another. Companies may vary in what specific job titles they give people but broadly speaking a “junior developer” is someone who is early in their career, has only worked in one or two contexts or tech stacks, still needs some direct mentoring, and whose job is limited to writing code to fulfill set requirements. A “mid level developer” (or just “developer”) has more experience and confidence, works fairly independently, and may be doing things like interviewing candidates, mentoring juniors, writing requirements or working on tasks without clear requirements, making implementation decisions, actively engaging in code quality efforts, and participating in design discussions. A “senior” or “lead” developer is spearheading technical initiatives, making design decisions, leading teams of developers, working closely with product managers, teaching fellow developers, setting standards, and writing project requirements.

10 Likes

Hey there!

First of all to answer your question: “What did you have to learn to get a job?”

All I needed to learn was basic JavaScript. Literally that was it! It took me almost 4 years of self-learning many, many other things on-and-off and even a few months of pursuing a CS degree before I got that first job, but yeah… all I needed was JS – go figure!

I think I had something to the tune of 400 answers posted on the Khan Academy forums and I always wanted to work there but never applied because I never saw remote positions. One day I get an email from someone asking if I wanted a contract position there solely based on my Khan Academy profile and my activity in the forums.

But most people aren’t going to get that lucky so what about more generally?

Generally speaking you just need to know enough to build something useful. MERN stack for example, with a bit of knowledge on how to work with 3rd party API’s and payment gateways and stuff like that is more than enough to land a job.

There are a lot of job postings in tech that are kind of bogus to be honest. I remember when I was first applying for jobs and I got super overwhelmed by the requirements just like you.

Truth is, a lot of job postings are nonsense and I wouldn’t pay too much attention to them. Worry more about whether or not you want to work at the company and either just apply to whatever position matches you the best or try to network with some of the people already working there.

I can’t emphasize networking enough!!

My first job was due to being active in the Khan Academy community. My second job was through a connection I made running a local freeCodeCamp meetup. My third job was through a connection I made at another local meetup. 4th Job – connection. 5th job was through someone I met a developer conference.

Even my freelancing gigs have been through people I know. I’ve literally never gotten a job by strictly applying to it. I’ve always had a connection in one way or another.

Anyways, about job postings and their nonsense… years ago I stumbled on this video and it really changed my perspective on them. Maybe it’ll help you too :slight_smile:

6 Likes

Unfortunately (or fortunately depending who you ask?) I don’t think that’s always true. I’ve seen and worked for quite a few places that have a hodgepodge of tech all over the place and in some cases they actually do expect people do be able to bounce around.

Or even just look at consulting/agency work.

Legit at my last job I used:

  • C#
  • Python
  • TypeScript
  • PHP (Laravel, Symphony, Zend)
  • Vue, React, Angular
  • Ionic
  • MySQL, Postgres, Cassandra, DynamoDB, Aurora, Access (yes lol)
  • AWS, Pulumi, Terraform,
  • oldschool C# from like early 2000s? whatever version that was?
  • GraphQL (front and backend)
  • Docker, Kubernetes, Helm
  • Unity

I don’t even know lol there’s way more tech I got my hands into than that. I just can’t recall all of it right now :see_no_evil:

Not to discourage anyone reading this! But there are definitely jobs out there that could technically list this many things as “requirements”.

I think the point is though, that no one actually expects any individual to be able to tick off all of these boxes. If you’re list of requirements is that long, candidates are only going to be able to tick off a handful of them. Employers don’t expect you to actually know ALL of it coming in. People can learn on the job.

3 Likes

Pretty sure very few, if any, are going to be proficient in all the things you listed. You may have knowledge of them but I strongly doubt you would be proficient in all of them, even as a senior developer. Even just being proficient in Unity, React, Vue, and Angular alone is a pretty unreasonable requirement.

But I do agree you see some pretty crazy lists at times. But usually, that is just because HR (or whoever) just got a list of technologies and posted it like a laundry list.

5 Likes

I’ve been some researching an yes, I’ve read that connections are important.
But I don´t have connections. In fact, I am a introvert person, so is not that easy… However, I started to look for some meetups in my city and also started to grow my LinkeIn connections.
Anyways, I´ve started to apply for jobs for more than a week now. I mean, is not that much but I’m already overwhelemed between: connections, crazy requisites, applications, learning more stuff, etc…
I think I am ready to get a entry level job, I’ve been capable to create my own web app with all the CRUD functionalities, authentication, authoristation, payment… But when I see the jobs requirements, it’s like: Oh God… :sweat_smile:

3 Likes

Hi @7ing7ing !

You have already received some great advice but here my thoughts :slight_smile:

freeCodeCamp is meant to give you a basic starting foundation.
But from there, you will go on and build your own projects.

As you found out, you learn so much by building your own projects.
Each new personal project you build, the stronger you will become as a developer.

You are not expected to know all of those things.

As a junior you need to be able to communicate 2 things to potential employers:

  1. Can you learn on the job?

  2. Are you up for a challenge?

When you start your first job, you will be thrown into a real world codebase with a lot of unfamiliar tech and code.
Your employer is not expecting you to hit the ground running and submit a whole bunch of PR’s right away.
They realize it will take time for you to be able to contribute significantly to the team and tackle larger features.
But what they are looking for is that you are up for a challenge and can learn on the job.

Before I started working at the job I have now I had a basic working knowledge of the MERN stack and little bit of SQL and python.

But since working there, I have had to work on projects using RxJS, GraphQL, Vue, and Nuxt, etc.

I have never worked any of those technologies before but I was able to figure it out and learn on the job.

If you can communicate to potential employers that you are up for learning and can grow, then they will take a chance on you.

When I was going through the curriculum, I would also build personal projects on the side.
Then I would share those projects on twitter and in other developer groups.
On top of fcc, I learned more about react, react router, postgres, testing and other css frameworks like tailwind.

I spent about a year doing small contract work for this guy’s software company.
That was my first experience working in a real world codebase and it was a little overwhelming at first.
But I was grateful for the opportunity and learned a lot in the process.

I would highly suggest reading through this article on networking.

It provides a lot of actionable things you can do to build connections in this industry.
I would also watch Danny Thompson’s linkedin series.

Going through those resources can be a huge game changer in your job hunt.

I would strongly encourage you to focus on the tech stack you are already familiar with and dive deeper and built more complex projects to show off to employers.
Avoid learning a whole bunch of other languages in a shallow manner.
Employers can see right through that and it will actually hurt your chances instead of help.

Lastly, I will leave you will Leon’s video on how to get a job.

It is a targeted, smart approach that works.

Hope that helps! :slight_smile:

6 Likes

Hello,
Well short courses is good for job and mean while you have to set your skills basically.

  1. Basic coding and programming skills.
  2. Data analysis and statistics.
  3. Digital literacy.
  4. Foreign language.
  5. Project management.
  6. Public speaking.
  7. Social media and digital marketing.
  8. Speed reading.
    and so on.
1 Like

You should learn what you love first. It is very important

3 Likes
-C#
-Python
-Java
-Angular
-PHP
-Vue.js
-Laravel
-Next. Js
-MySql
-GraphQL
-AWS

Etc etc…

You can’t combine the lists like that. That would be like looking at adds for chefs and combining all the requisites and assuming that to be a chef you need to be an expert in French food, Chinese, Italian, BBQ, vegetarian, vegan, German, Mexican, Brazilian, Polynesian, etc.

And as stated, want ads in these fields are often ridiculous lists.

Just learn. Learn a fullstack, start building projects. You’ll naturally pick things up as you go.

So, basically, my question is… How much more did you learn on top of what your learn from FCC in order to get a job?

That’s basically what I did. I learned the FCC stuff. Then I just kept learning and building things. I learned new things and built stuff as and excuse to use the stuff I learned. And I tried to build different things to force myself to learn new things. That’s what worked for me. #ymmv

8 Likes

I wonder if regionality affects this, Either in the Positive, or The negative:

Do you live in a TECH HEAVY region?

You are in the UK… Are you trying to work in London. Could that be part of the problem?

Can Employers where you are choose to be Extremely Demanding , Because the Pool of Qualified Applicants is Vast…


The place I live has a University Graduate rate of 75.1%, and my closest large city
has a University Graduate rate of +65%.

So we ( Sort of Not jokingly ) say, that you need a Masters Degree to work at McDonald’s.


Also, 13.2% of the workforce in the state I'm in holds a job in tech, as of 2020.

When I looked to see the Job Requirements in the fields that you’re interested in , the results were very Varied:

Almost all required a Degree in CS, Information Systems, game development, Web Development . etc

The listings said Anything from:

JR. WEB DEV:

Bachelor’s degree in Computer Science, Information Systems, or 2+ years’ experience in web development

Experience using JavaScript in at least one modern framework (e.g., Angular, Vue, React)

Proficient in HTML, CSS, and JSON

Must be a self-starter with the desire to learn new technologies

Solid ability in both written and verbal communication skills

Experience in the following technologies and frameworks:

Angular, Microsoft SQL Server, ColdFusion, or GIT

Modern code editors such as Visual Studio Code

SQL Server Management Studio or similar DMBS tools

Some of Psomas’ clients currently require employees working at their project site to either be vaccinated and/or provide a negative test result prior to accessing the project site

To:

Jr FrontEnd:

Qualifications

HTML5 / SCSS / JS

Appreciation for UI / UX

Mobile-first responsive design

Experience with Javascript (and yeah, Jquery), DOM manipulation and beyond

Experience integrating JSON data sources and APIs

Experience with front-end build tools like, Grunt/Gulp, webpack, CodeKit etc

Experience with open source CMSs like WordPress, Craft, etc

A background of writing and deploying code, including experience with version control systems such as GIT & Github

A snazzy-ass portfolio showcasing your fledgling work

Working knowledge of Adobe Creative Suite

Understanding of good Information Architecture

Willingness to write about web stuff, cool things you’ve figured out, and promotion of your projects

Ability to thrive in a team environment and behave all human like

An appreciate for how to communicate constructively with people from non-technical background

Desire to make projects awesome, regardless of your contribution

Flexibility and an eagerness to learn the latest approaches & emerging best practices

Ability to express your ideas constructively within a team framework

Coachable and willing to learn

Also willing to teach
Evidence of being active on the interwebs

A GitHub account with some nifty code nuggets

Writings about code and stuff you’ve learned along the way

A Dope Portfolio

Ability to make designs better

Appreciation for writing modular, Object-oriented code

Understanding of team coding & documentation standards

Solutions driven approach to technical problems , Not Negotiable.

One listing just said this :

Mandarin Required
Will train.

Another Company Required :

MUST LOVE DOGS


I Honestly don’t know if these would be considered heavy requirements or not…
Sidenote:I didn’t see anything for C#.

3 Likes

Yes, I’m looking for a job in London (but outside London as well, let’s say remote in the UK).

I realized something you mentioned before… People I’ve been working (in retail) , the majority of them have been are university graduates.

I never analyzed that maybe, if the graduate rate is very high, the minimum required is higher.

A lot of jobs not only ask for CS degree, they also want this from a top university.

So there I am, someone who decided to stop studying at 18 and decided to study a year ago, with a GSCE :joy:

I’ve started to narrow down which jobs I should I look at, and just focus on the ones that are more “fit” to me. I’ve realized that there is a lot of combinations of “web development” roles and I don’t NEED to know so many languages and tech that do the same thing.

1 Like

Don’t let this discourage you. I wasn’t implying that you would need a college education, I was saying that, if the Pool of applicants is very skilled, It may feel more difficult to get a position.

There are probably many benefits to living in a Tech Hub.

There may a need for you to deeply analyze your strong points and your week points, with regard to social skills, business skills and tech skills, and develop a sort of plan for yourself, on how to succeed.


You will probably need to leverage whatever you are good at, your personal skills and your talents…

2 Likes

First, it strongly depends on the company you apply for, the project, the position. There is difference between going for a big project, or smaller one, going for junior, or better paid job. Going for something strongly front-end related, or including, or mainly focusing back-end.

I have finished most of the FCC courses and im grateful for each one of them and everyday in my current devcamp real-life project i work on, I find correlations with different parts of the FCC curriculum which help me in my day to day performance. Ofc, not all FCC offers you would need for every position and not all you will need, is part of FCC. In my case, I have to broaden my knowledge with an additional language as well as more insight on SQL(which I see there is relatively new course in FCC beta). I have to work with docker, which is another new tool for me. I have to operate with version control, git and respective github/gitlab apps. There are additional non-programing apps, serving for communication, such as Jira, various google services, slack and whatnot. I had did learn from sources outside FCC regarding vanilla DOM manipulations, as well as modern React syntax and additional tools like Redux, context, Router etc. Typescript. I am sure I can add more to the list. The backend part of FCC curriculum and especially handling the various API calls/requests was invaluable for me and learning to work with different packages and tools, which is the main feat for a programmer(to be adaptive to different tools). But again, it strongly depends on what project you end up on and what practices the respective team enforces. Also you might look into workflows like SCRUM.
PS: you can never be fully prepared for where you start working and part of responsibility of the company is to provide you the tools and environement to learn their ways.

3 Likes

How could one go about communicating this?

2 Likes

HI @Vicar !
As a junior developer, you are not going to have much experience working with complex codebases, and working in real world team environments.
Companies understand this and understand that you won’t be able to contribute a whole lot in the early days on the job.
But they are willing to invest in teaching you and watching you grow if they see potential in you.

If you are actively building personal projects that require a lot of thought, time and some complexity to it, employers will take notice.
If you are also working with open source projects and making good contributions to the project, employers will also notice that too.

At the end of the day, you want to communicate to them that you are up to the challenge and want to learn.
Your projects and resume should reflect that message.

If your projects and resume just show small projects that you did in a day or two and don’t require that much skill or effort, then they will pass.

Also, your involvement in the tech community can help you stand out and show employers you are interested in learning and growing at their company.

Sharing your learning on twitter, being involved with open source, maybe even picking up some contract/freelance work can all show potential employers that you would be a good investment in the long term.

Hope that helps!

6 Likes

Thanks a lot for asking this question, you received a lot of good advices for several folks and those were useful for me to. I have the hope to get a remote job in the future and feedback like this is awesome for getting in track. :love_you_gesture:t4:

1 Like

I’m not convinced that getting rid of the ‘remote only’ mindset in required. It constrains your options and makes your search longer, but it’s possible to get remote only work for juniors.

I was lucky to get my first role as remote only, and I simply won’t accept strictly in person work for any future jobs.

There are startups out there starting purely remote. It’s a reasonable career goal.

3 Likes