Starting a career as a junior front end developer with no experience can be hard, but possible. The question in the headline is one I am asked a lot, so I decided to write a post about it. Here are 6 tips to get you started.
When I started learning “front-end”, I tried to jump straight to AngularJS, without even knowing what Javascript is.
Needless to say- it was not very successful.
While the goal itself (to know Angular in a sufficient level) was a good one, it was just way over my skill set at the time.
In current days I work with developers that want to become better, or junior front end developers with no experience that wants to jump start their career. Here is a list of tips I found helpful.
1. Write a plan that gets you excited and stick to it
There are hundreds of how-tos online, regarding many aspects of software development. Before diving into a tutorial and spending time and/or money on that specific area, it’s best to have an organized plan.
The plan should include your goals, the knowledge needed to achieve them, and a clear path toward them.
Once you have a plan, it will be easier to look for tutorials and projects that suits your needs, and avoid stuff that will not benefit you directly.
For example, if you are want to learn how to build landing page for your wordpress site, focusing on learning CSS will pay off, but learning Redux is probably a waste of time for you (although it is very useful in large projects).
To make a good plan your must ask yourself:
1. What is my end goal in learning code?
Each person has its own motivation and reasons that made them interested in programming. Moreover, each one has a different background, knowledge and experience. Understanding what is the end goal, or WHY does a person want to learn programming is critical.
A plan for a hobbyist programmer will not include practicing interview questions.
In contrast, one that plans a career change turning into a software developer, should have a plan that includes:
A) Creating a UNIQUE portfolio. (no, the React ToDo list is not enough).
B) Practicing common job interview questions.
So, Do you want to write code as a hobby? perhaps as a way to make a living? for a one time project in school?
2. Which field in programming interests me the most?
User interface, complex algorithms, mobile support, logical problems, deployment scripts, testing.. These buzz words represent some of the different aspects/fields in the front end development world.
Which one interests you the most? Which one high lights your skills and makes you standout?
If you have no idea, and maybe even some of the terms sounds gibberish, it might be a good idea to understand what programming is really all about. Talk to a friend, as how their day-to-day routine is. Sniff around.
3. How much time can I put into this?
Surprisingly, most people that want to learn things (not only programming) don’t take this into consideration. That’s why so many people (including me) drop out of online courses they enroll to. Reference here.
They simply don’t think about the time it will take.
So, before starting the amazing and well advertised angular-in-7-days-with-guaranteed-job-at-the-end course, think how much time you have to invest for it.
In a more practical sense: If you have 1 hour a day, choose a project that is small, like a calculator for a start.
If you have your next 3 month free, you can challenge your self with bigger projects.
2. Build your portfolio one simple project at a time
As a junior front end developer with no experience, you are likely to be asked to show your portfolio when applying for a job.
Everyone wants a perfect portfolio, with project like “my-better-version-of-google” and “Instagram-in-3d” that you developed from scratch.
That can be great, but it sounds very complex.
Try to build your portfolio (and you github account in parallel) gradually, and don’t be afraid to put little project in there too. Something is better nothing.
Oh, and one important thing – technical managers that look into your github can spot the ready made projects cloned from somewhere else in a second. So try not to include the ToDo list app in there.
Instead, build simple yet unique project. Some samples that come to mind:
- A button that changes the screen background color when clicking and it’s own color when hovering.
- Money rate conversion tool (one currency, then several, then get it from somewhere online, then make each currency show the flag of the country it’s used in).
- A clock with a bird.
- A search engine that depends on other search engines like duck duck go
Start small and your portfolio will grow with you.
This way you are always in a position to show at least SOMETHING if you are asked for it.
3. Find a mentor that helps you improve
As a front end developer with no experience, and also as an experienced one, it’s good to remember not to do everything alone. Sometimes a second opinion, a tip or a guiding hand can make the difference. Especially because we are dealing with a challenge that is not only technical, be mental as well – a career change.
Moreover, You are going to get stuck at one moment or the other, we all did, we all do and we all will for generations of programmers to come 🙂
Many times a fresh look from a different person can shed light over a problem. My advice here is to find someone that can start this journey with you, either for free or not.
Finding a person that you can count on and is willing to be your coding guru and/or your guide in this uncharted territory can give a serious boost.
Ask for code review, and get it into your routine
I was so proud of the calculator I programmed so I showed it to another developer and asked him to look at the code.
It was pretty shocking to hear how many (smart) comments she said to me for a ‹ 100 lines of code script.
Actually, when I didn’t find her, I asked a review from a friend of mine that is a java developer and didn’t even know JS. His comments were also helpful. Get feedback!
4. Keep practicing
Here is a pretty radical way to improve your code, but it works:
Whatever the thing is that you are coding (the calculator from before or a nice hello world thingy from somewhere else), once done – erase and start over.
Why? Because now you can do it better, with cleaner code. Each time try to focus on something else:
- Better separation into small simple functions.
- Adding comments (imagine you are in a team).
- Different order of things: start with UI then logic and vice-versa.
- Write it with much less code (half?).
- For more experienced, try code with vanilla javascript, then with es6/7 style.
This may sound stupid and annoying but by repeating the same goal with a different way of doing it you are making yourself THINK 🤔
5. Get to know the basics
Reading this blog and other junior frontend developer tips posts is great, but it’s not enough. I would not start from theory, but from actually trying to program a simple thing. BUT when you feel you are ready, I suggest diving into the Javascript itself and only then dig into reactjs, angular or whateverJS.
One book I liked (a very known one) is “Javascript the good parts”, here’s a blog that does a nice summary of it.
It explains the theory of JS pretty good and has a dry a nerdy sense of humor.
6. Invest time preparing for your first job interview
Come prepared for you first job interview, don’t rely on luck. A great way to see where you stand is to try out my favorite job interview question for a frontend developer. Actually, I think I will write another post about it.
Don’t feel bad if it takes some time to have a working demo for it. It will worth you a while.
conclusion:
Jump starting your career as a front end developer no experience can be challenging. The good new is that by being persistent, having a plan, working on your portfolio and know when to ask for help, it is possible.
These were my 2 cents about how to become a junior front end developer with no experience.
I would be happy to hear from you in private, or in the comments section below 😁