A couple of weeks ago, I’ve been contacted by a friend of mine, who is just starting his career as a front-end developer. It’s very typical when a start of the journey is frustrating, and there is nothing better than the advice from the people who already been there. I never thought about that question carefully, and formulated something quick for him. But later I decided to elaborate on it and share it with a bigger audience. There Is No Recipe The thing is — there is just simple recipe. If there is, I guess it would sound like that — . no “practice, practice, practice” It’s not a secret that you have to a to your craft. And I really mean a lot. If you are starting your career and be lucky enough to have a job, you should to come back home and . If you are a student, you come back after the school and work on side projects, watch courses and read good . dedicate lot of time work on side projects books Through my career, I realized, it were the side projects which the most. contributed to my experience Here is the thing, at the work you have to perform. At the work, you have a lot of different constraints — existing codebase, architecture, set of libraries and frameworks, the team rules, etc. It’s not always an educational environment at the workplace. You have to solve , not primarily to educate yourself. Rarely, both things are coming in parallel, but it’s rather an exceptional case. business goals The side projects which contributed to my experience the most. So, prepare yourself mentally to work a lot and with your IDE opened, instead of watching a favorite series on Netflix or going out (even thought, it’s also very important to do from time to time). spend evenings JavaScript Foundation is the of the web. Without a understanding of the language, you have nothing to do in the front-end world. JavaScript assembly language proper The is, you don’t have to be to be a . I’ll tell you what — I’ve spent quite sometime in the profession, but details of language opened up to me . It’s totally normal if you the depths of language. Don’t worry, it will come. good news Douglas Crockford successful developer way later don’t understand However, there a fundamental parts that you have to be very comfortable with: Data types Arithmetic operations Boolean and conditional operators Understanding of OOP paradigm (prototypical inheritance) Understanding of functional paradigm (functors, applicators, immutability) I also recommend, to start learning directly. All for front-end will require Node.js. Developing simple applications and running it from the command line is way more comparing of dealing with the browser. Node.js modern tools convenient Browsers and DOM Besides of that, you should be able to understand how browsers work and in particular understand the concept of the DOM. How DOM functions and it’s basic components Events, events propagation, and handlers DOM API, window object DOM selectors Here you should be able to write simple, pure JavaScript applications by listens to controls and perform simple DOM manipulations, as setting values, classes, properties. UI Development As I came from backend and desktop applications UI, the first sight HTML, and CSS seemed to be easy. It’s not even a , just a set of declarations, right? Not really. real programming language Even if your goal is not to be a designer, you should develop and a for good design. So the best thing to do is to . useful skills taste steal cool ideas No kidding, just pick up the site you like the most and . Remember, the famous guy said — try to copy it «Un artista copia, un gran artista roba» . Good artists copy, great artists steal Make your hands dirty with HTML & CSS. Be fluent in creating, simple and good looking interfaces. Find a freelance job of turning PSD or Sketch into HTML / CSS. You will get exceptionally important skills. Client / Server Communication Browser applications in isolation. They do to get the data and push data back. don’t exist talk to servers Without going too crazy, you will hugely benefit from understanding the following things: Basics of the HTTP protocol The concept of REST (HTTP verbs and resources) API fetch : the concept of GraphQL and how it differs from REST Optionally There are tons of you can do cool stuff with. Pick one and build the against it. open API’s simple application I remember one of the projects I did . A simple app that connects to and makes a widget of contributions to a project. I had a lot of fun working on it. alexbeletsky/github-commits-widget GitHub API Development Frameworks And the first three parts, which on its own might take I would suggest you take a look at some UI development framework. only after a year, or even more The JS ecosystem is . Tools are , configurations are , don’t start with React or Angular, just because you heard that . famous to bring “fatigue” complex confusing they are cool Maybe till the time you are comfortable with JS/HTML/CSS those things (front-end development framework has a tendency to survive for 3–5 years and then entirely overtaken by competitors.. with that race). are dead already don’t bother However, if you are reading the article 2018, I would recommend you to focus on . The ecosystem is , million of tutorials, open source projects, meetups. You the lack of information, that’s for sure. React.js stable won’t feel Having all three parts behind your shoulders with any front-end frameworks because all of them are designed to or making things more performant. The foundation of development, as DOM manipulations, HTML/CSS would remain the same. will make you confident simplify complicated things Even if the framework could encapsulate any particular detail, you will be confident enough to , what’s actually going on there. understand At the end I would just share the list of resources that helped or influenced me during my own journey: JavaScript Jabber Podcast Eloquent JavaScript Book JavaScript: The Good Parts React Podcast EggHead Video Courses Hope you find that helpful and I wish you the best in this interesting and exciting journey! Enjoy the ride.
Share Your Thoughts