9 ms·
Front-End Developer Handbook
- tannhaeuser 9y agoCongrats to putting this together; I like it. At the risk of preaching to the choir here, however, I feel like these days Web dev publications don't sufficiently focus on foundations (HTML, CSS) and jump to JavaScript-heavy solutions a little bit too early for my taste. As a consequence, I frequently see Web dev newcomers ask questions such as "What framework should I use for (basic website)" when of course for the requirements at hand a simple static site will do, and thus is preferable. See [1] for an example. It might be all very clear to older devs (like me) who have seen the Web evolve during the last (almost) 25 years. But I'd imagine for 20-somethings or younger the "trifecta" of HTML/CSS/JS as they are today will be a giant puzzle when presented as a whole, having aggregated many features and workarounds that can only be understood in the discourse of the time. In particular, JavaScript is IMHO a terrible beginner language, the design rationales and compromises only apparent to someone with a little bit of compiler writing background, and in the context of its original purpose. [1]: https://www.reddit.com/r/webdev/comments/8bi1bc/creating_my_first_site_which_framework_should_i/ https://www.reddit.com/r/webdev/comments/8bi1bc/creating_my_...
- iandanforth 9y agohttp://bettermotherfuckingwebsite.com/ http://bettermotherfuckingwebsite.com/
- daviddahl 9y ago"Here's a guide for you to make 75K a year, learning all of this will take 10 years." LOL
- seattle_spring 9y agoCan you show me where this was said or inferred in the article? I'm a front end engineer and I make, well, a LOT more than 75k.
- JamesBarney 9y agoThe picture inserted from payscale or salary.com
- jpd- 9y ago"A developer who can code the front-end, back-end, API, and database isn't as absurd as it once was (excluding visual design, interaction design, and CSS). Still mythical in my opinion, but not as uncommon as it once was." I see this attitude expressed a lot among people who identify as "front end" developers and it seems like psychological projection to me. I would count myself and a number of close friends and associates as these mythical "full stack" developers so (in my circle) I don't think it is uncommon at all. One thing I have noticed (again, in my circle) is that "front end" developers tend to start learning with front end development and are commonly self taught, while "back end" guys are more likely to have a degree and start with something enterprisey like .NET or Java. From what I've seen, back end guys have a much easier time moving to front end than vice versa.
- lioeters 9y agoThis last sentence made me think, it's probably because people who start learning from the backend have an understanding of the whole stack from the bottom up, whereas those from the frontend start with a much more distant abstraction and gradually discover the underlying layers of the system.
- codingdave 9y agoAgreed - almost every developer I know can code full stack. They are typically better at some parts than other, so they choose to specialize, but the full ability is there. I see it even more often outside of the startup world - in Enterprise IT, you normally not only know the full stack, but multiple products at each level to support all the products that end up running inside a large company. Again, you are not an expert in everything, but you gain a broad knowledge base. And such a knowledge base, held by almost all enterprise IT coders, is hardly mythical.
- deleted 9y ago[deleted]
- Blackstone4 9y agoAgreed. Just look at this article: The Death of Front-end Developers (https://medium.com/@jerrylowm/the-death-of-front-end-developers-803a95e0f411 https://medium.com/@jerrylowm/the-death-of-front-end-develop...) The author states: "Even without the divide on the front-end I still hear lots of people claiming they’re full stack developers — I guarantee they’re not." I don't understand his perspective here. If you work on the front and backend then you are a full-stack developer. If on the other hand, a full-stack developer claimed to be an expert on both the front and backend...then I would be wary. I was a backend dev who can now also do frontend :)
- pjmlp 9y agoThe title should be Web Front-End Developer Handbook. Native desktop, mobile, TV and infotainment systems are also front-end.
- NullPrefix 9y agoTechnically you're correct, but... web browser is the default front end. Technically command line programs are also front end.
- stevehawk 9y agoAnd many infotainment and desktop frontends are just web UIs...
- pjmlp 9y agoIt is surely not the default frontend on many business that still rely on native apps, on mobile devices, device displays, air gaped networks, factory automation and robot control systems, ....
- always_good 9y agoYes, but the web browser is ubiquitous so it's naturally going to sponge up defaults. If someone's mad that people don't auto-assume they design robot neural interfaces when they call their self a front-end designer, then they're just fighting their own ego.
- pjmlp 9y agoThat is just like saying that we should all start calling our compilers transpilers, given that the word misuse is so ubiquitous among JS devs.
- anon1094 9y agoI don't understand why you're getting down voted, but this is absolutely correct and more specification is needed when it comes to "front-end". I come from a traditional front-end background (for web) and I send many front-end jobs for my company RemoteLeads as well. Front-end is the most fragmented programming job category and I'm sure it's the one that gets the most applicants. Companies will say they're looking for a front-end developer with JavaScript experience. In reality, they need an engineer. They need someone who understands Computer Science principles and can express that in JavaScript. But, because "JavaScript experience" can mean anything they'll get a lot of applications from Front-end Designers who are more on the HTML / CSS end of the spectrum. And now with things like React Native it's getting even more complicated. Ultimately, it's because knowing HTML, CSS, and JavaScript makes you such a powerful developer and you can do a lot. To combat this the title has to be more specific. What do you need accomplished? Engineering? Design? It's not just front-end, be more specific. Jerry Low put it best in his article titled The Death of Front-end Developers (https://medium.com/@jerrylowm/the-death-of-front-end-developers-803a95e0f411 https://medium.com/@jerrylowm/the-death-of-front-end-develop...)
- slindsey 9y agoIt looks like a book at first glance but is really an outline with a list of references to other locations to read more about each of the topics. Useful but no new or interesting content on its own.
- poof131 9y ago"A whole lot of developers adopt static type checking for mostly subjective reasons or band wagon emotions. Some sell out completely to Typescript and the Microsoft way of doing things while others take on a slower approach with Flow. One thing is for sure, most developers don't need types, they are simply complicating already complex problems and solutions. Like most things, most of this trend is subjective dogma not objective value." Wow, biased much. I love JavaScript and ES6. But anything that I work with a team on or expect to live beyond a month or so, I love types for. Making a large refactor without types is the wild west. Types help provide structure/understanding about the data flowing through your system. And if you need to eject you can with Any. I used to prefer pure JS (or Python), certainly quicker to prototype, but also more difficult to grow and maintain. Tradeoffs in both directions. Such an amateur statement makes me question the rest of the document.
- hn0 9y agoHmm, complicated? I think JS’ type rules are much more weird and complex than the average static type checking solution.
- FLUX-YOU 9y agoLooking back and forth between code and docs just to remember the shape of returned objects is annoying and probably the worst for productivity. I imagine most people using vanilla JS have significant amounts of objects memorized.
- speg 9y agoIF there any docs!
- zdragnar 9y agoIDEs like webstorm can ostensibly be quite helpful if you use jsdoc style annotations. However, in my experience, once a code base is big enough, you can open almost any file and find documentation that's out of date, incorrectly copy-pasted, or some other major issue. TS, on the other hand, at least forces you to stay correct, which is ultimately what convinced me to switch.
- lioeters 9y agoNoticed that "Learn Node.js" is a single short page. These days, I think frontend devs are increasingly working with complex build and test flows that require deeper familiarity with Node.js, for example, npm, Webpack, etc.
- xhrpost 9y agoDo other devs tend to agree with the idea of full stack being a myth? "A developer who can code the front-end, back-end, API, and database isn't as absurd as it once was (excluding visual design, interaction design, and CSS). Still mythical in my opinion, but not as uncommon as it once was." I've been FS for most of my career, mostly the result of working in smaller dev teams where you had to own product from top to bottom. I'm willing to admit not being an expert in all the areas and perhaps that's the catch. I also have to disagree with the timing idea, if anything, I feel I was more an expert in the past (despite JS being my top skill) before the exponential increase in JS tooling and framework complexity hit the scene. So, 10+ years ago, I was writing FS application. VBS on the back-end in ASP classic, build out the schema in T-SQL(Sybase), build out our own psuedo-mvc in VBS to server JSON for XHR requests from the client that we then wrote with the help of PrototypeJS. I knew ES3 like the back of my hand and often had to contribute to SQL queries a couple hundred lines long. VBS wasn't that hard (just annoying) and ASP classic pretty straight forward. Now even though JS is everywhere, things are much more config and library dependent and the shift has been a challenge for me.
- JamesBarney 9y agoI'm with you, what do you call someone who can build and ship the back and front end of a working application, if not a full stack developer? Because its pretty obvious a bunch of these people exist,
- ggregoire 9y agoMost small/middle companies hire people with a CS degree who can create a data model, some APIs in any language and then build a JS web app calling those APIs. Well, at least that’s how companies work in France. Not sure what’s mythical about these profiles, they are the most commons from my experience.
- frou_dh 9y agoNot sure I'd call this a book. It's a colossal link dump. There could be a sibling publication containing links to 1000 MOOC courses calling itself "The Renaissance Man Handbook".