2 ms·
The first time I touched HTML I was ~19 years ago for my middleschool's technology class, where we were to implement a very simple (and ugly) webpage. Later, i
by renlo 8y ago
The first time I touched HTML I was ~19 years ago for my middleschool's technology class, where we were to implement a very simple (and ugly) webpage.
Later, in highschool, the first real programming language I learned was Java, and I did some personal projects with that on my own.
After graduating college without any marketable skills in the height of the recession, my sister (a SWE) introduced me to Python and then JavaScript. I weighed my options and found that going into front-end development would be ideal for me; I had an eye for design and it was simple enough to begin. I learned JavaScript through-and-through, but contemporaneously I learned backend web-development (via Python, Django and Flask). When an opportunity at work opened up, I transitioned to doing backend development (of which I was already familiar from personal projects).
Having done both, I do not see why they are mutually exclusive. I think the issue is that most people who call themselves full-stack engineers do not actually fit the description; it sounds like a good thing to label oneself. I see this often with bootcamp grads who know JavaScript only, and can run their code with Node, so they believe that they are now backend developers.
To learn the backend, I built from scratch:
* a simple (and crappy) ORM
* a simple (and crappy) db-backed session system
* a simple form-generator (similar to Django forms, for flask)
* login / user handling (etc)
To learn the frontend, I built a simple single-page-application, using vanilla JavaScript.
I have worked for years doing both backend and frontend development (JS visualizations for SVG/canvas, data-heavy SPAs, backend APIs, Golang services to process data, work with AWS, docker, etc), and I doubt that I am unique. Full-stack developers do exist, though of course one only has so much time and "jack of all trades, master of none" will apply to many.
Many of these new-bootcamp grads build a simple Node web-app without realizing many of the problems (and solutions) inherent in the backend and label themselves full-stack. That's the problem; not that the frontend is somehow too difficult to master, or that the backend is somehow out of reach.