This post is written for a friend who wants to upgrade web development from a sidetrack to a career.
When you are learning anything, there’s always the building blocks part consisting of solid facts, and the methodology part consisting of ways to put the facts together. Start with the building blocks part. Learn and remember them. A lot of times, what limits your thoughts is what you are not aware of.
To help with remembering, here is what I use for all kinds of learning: Anki.
Put whatever you need to remember in there, follow the revision programs. In the end, the knowledge you need will come naturally, and become part of your instinct.
Array, and an
For example, for Strings, go to MDN’s Docs here. For the list of methods on the left, for anything that is not deprecated, create a card. E.g., for the method
String it could be:
- Front: how to slice the word “apple” into “ppl”?
- Front: how to get the last 2 letters of a string?
Go through and do the same for
After you get a solid foundation under your feet by knowing the above by heart, you can start Googling for a list of JS interview questions, in order to get a better understanding of the gotchas. But remember that nobody knows everything, and don’t spend too much time on this part just yet.
Interesting projects speak louder than anything for your skills and love for programming. It doesn’t have to be complicated, but it does need to include a core tech. The rest is presentation.
Here are some of the funny projects I built here and there over the years:
- Game 2048 [Three.js]
- Parallax Effect [GSAP Plugin]
- International Monthly Salary [AngularJS]
- Terminal Style Todo List [ReactJS]
Each time, I either wanted to learn how to use a technology (Three.js, AngualrJS, ReactJS…), or wanted to showoff a tool I built (e.g., a plugin for GSAP). How better to learn something by actually doing it, and ending with a result demo that is job-seeking ready?
All the front end frameworks have the same core idea: systematic logic on the front end. When you look for a job, companies generally ask for “having worked with any of the popular ones”. And right this moment, I suggest
ReactJS for your project.
Be creative in what you can build, make both the content and the design interesting.
Start with one project, look for jobs while making more on the side.
Third, Job seeking.
As someone starting off a new career, it will undoubtedly be hard. As someone who is among the minorities in more ways than one, it will be harder to be perceived as good. But we all have to start somewhere. Stick with it. Don’t give up until you have had at least 50 interviews.
My only advice is to keep the companies that you are interviewing with at any moment at around 3. Sending off a resume to somewhere does not count. Emailing back and forth does not count. Calling or going in for an interview counts.
Because in general there will be long and torturous waits in between each round of interviews, as well as in between emailing. Keeping the number of interviews around 3 helps not focusing too much on any single company. Do not focus on the waits. Focus on improving your technical skills instead, by A) going through more technical interview questions and B) building more side projects while learning new technologies.
As soon as developing becomes your real day job, improving technically will come much more naturally. And after a couple of years learning and growing at the job, you will have much more bargaining power to go out looking for a new one, if you haven’t already been contacted by various recruiters.
Work hard, have fun, and good luck! 🙂