3 ms·
While I agree with you that knowing the basics is obviously helpful and desired, in the end what gets you your first job isn't "what happens when I type a URL i
by serial_dev 4y ago
While I agree with you that knowing the basics is obviously helpful and desired, in the end what gets you your first job isn't "what happens when I type a URL into the browser".
What gets you your first job is you knowing how to use the tools that the companies already use to ship software solutions on the web. If they use react, webpack, graphql, then your best bet at getting your first job is learning enough about those to be productive in a couple of days at the company, and not what happens after you hit enter in the URL bar.
95% of my work as a regular web/mobile dev was about being able to fetch some data, massage it, display it, then handle user interactions to send something back to the server. Some software dev jobs are more complicated than that, but to be honest, most of what we do it not rocket science.
Once you get your first job, you can work "backwards", and learn the basics. This approach also helps you learn what is important as you see it firsthand that it's important. Your team is there to help you learn, you earn money in the process, you make your customers' life easier, and you build your portfolio and gain experience to get your next job (that will hopefully be more challenging than a CRUD app).
I'm not saying that it's great that you learn the tools before the basics, I'm just saying it makes sense if you want to get a job and pay your bills (and set yourself up for long term success as you learn on someone else's dime.
- rzzzt 4y agoTo be fair, it is (was?) a typical interview question, so it does get you closer to a job if you know the answer.
- blowski 4y agoIndeed. An interview for a first job is not the place to rant on some pet peeve you've picked up via Hacker News.
- dgb23 4y agoHave we misunderstood each other? I'm talking about teaching web fundamentals to absolute beginners, not people who are already programmers or CS graduates. In terms of content think starting with something of this scope: https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web https://developer.mozilla.org/en-US/docs/Learn/Getting_start... and then building on that. The fundamentals are clearer and more accessible to teach than frameworks. This inspires confidence and I'm pretty sure you won't save any time if you jump ahead and teach React and especially Graphql. You have a _way_ better foundation to learn and use React if you know HTML, CSS, JS, HTTP that I mentioned but also browser dev tools and I would even put git before that. Also people who are already professionals in some field close to web dev will ask fundamental questions, they want to understand things. Learning framework X is a piece of cake if you at least roughly understand how it works and aren't on completely shaky grounds, and when framework Y comes along you can ask the right questions right away. The _vast_ majority of web development doesn't use React or Graphql anyway. I don't even know a single dev who knows React and Graphql but cannot make a website without them or doesn't know what DNS is, what common HTTP headers mean or don't know how to center a div.
- solarengineer 4y agoI have worked with people who are "fullstack" with Javascript + Typescript, but do not even know what a CPU core is. Some are even amazed that a basic HTML page can be created with a plain text editor. Such people are "ReactJS" specialists, not even Javascript/Typescript specialists. One cannot easily engage in a conversation on types with them - not that they are negative or close-minded, but such concepts are in the "unknown unknowns" for them. Nope. Knowing the fundamentals does not take all that very long and can in fact go a long way in enabling someone to pick up newer technology.
- KronisLV 4y ago> I have worked with people who are "fullstack" with Javascript + Typescript, but do not even know what a CPU core is. Now, this is the opposite of the point that you're making, but i have to admit that it's pretty cool on some morbid level! The fact that we have abstractions that are strong enough for them not to leak and make people dig into the details (e.g. the JS event loop being all that they need to think about). That's also why tens of millions of people out there can work with spreadsheets of text processing software without knowing what a compiler or interpreter is, or even caring much about the benefits of dynamic linking vs static linking. Similarly, i can write SQL against a DB without knowing anything about the RUM conjecture or really much about anything apart from the very basics of ACID (at least before Oracle fails to plan queries correctly and needs either statistics to be regenerated or hints added for the optimizer, because it's an evil piece of software). It just works. I'd argue that it's the way things should be - working on the JVM should absolve one from thinking about compile targets and worrying about things like whether the CPU is from Intel or AMD, or what the ASM format is or whatever. Working in the browser might as well absolve one from worrying about most platform minutea as well, otherwise nothing would get done. Is is still nice to have a bit of curiosity and explore those things, there being some merit to that, which might as well not be immediately apparent? Sure! Is it required for those people to truly be specialists in their own niche and to be safe from people making fun of their other shortcomings online? Absolutely not!