I agree that the term front-end cannot be applied to everyone today. There is no point in talking about beginners or their amateurish mistakes, because that discussion can go on forever with no solution in sight.
Problem for me is when I work with JS developers who have no idea how to work with CSS or to set up a proper HTML markup, but are great in JS development. Even more, problem is when they lack any talent for visual aspect of this work. At that point they turn to CSS frameworks like Bootstrap or Material design thinking that it is the only proper way to use CSS. That has led us to this point now where almost every site looks the same as the previous one. But as I said, there is no point in talking about beginners who are arrogant enough to presume that their part of the job is the most important one.
JS devs cannot be pushed into visually creative part of this job and the same applies for other group and JS.
It is childish to call either one of these "real front-end", since both are clearly needed, but for separate parts of the job. Complexity is rising with each passing month and it is hard for most people to keep up with everything. Let's not go into another extreme and compare those who are long enough in this line of work to know great deal about FE with majority of people in this business. I used to do that and it got me nowhere, since it didn't change the masses ;)
Don't you agree?
I think you misunderstood what I meant by "real front-end" person. That's why I wrote it between double quotes, I was hoping that people can picture what a front-end person skills might be without writing a lengthy description of all the possibilities that front-end tasks might lead to.
But regarding the amateurish work of beginners I do think it should be discussed. The problem is really that: onboarding people to do tasks they have never really learned do do because they can do a subset of them. The job is evolving and so do the responsibilities.
Thus, a team leader or anyone responsible for hiring should really know what the tasks will be in order to not put an amateur on the job. Having a loose definition of the front-end position leads to those problems. Like you mention in your post, the particular frontend position might need a more "creative frontend" or a more "logical frontend", or both. It should be clear which one is needed. That's where I agree with you where people without visually creative background shouldn't be pushed into such tasks.
I have met two types of JS devs who were "beginner frontends".
The first type just tried to get things done without "wanting more". That meant problems of markup, problems of CSS, visual incoherence, no care for accessibility and the application logic designed like a server app. This ends in annoying refactors and actual problems for the users.
The second type, are people I liked to work with. They might not yet know how to do things properly. (And nobody knows that always, obviously) But, they notice something is off or look for better solutions, so they investigate on their own. We talk about it and we create solutions that scale well for a great user experience, making the job both more productive and enjoyable during the creative / design process and the application logic implementation. Everyone complements everyone. (This is true for any kind of job though.)
Frontend / designer / backend they are categories to quickly get an idea of what a person is able to do. Obviously at the level of individuals, every person has its own strong points and interests while every project has its own history and architecture. Things aren't just black or white.
Personally, I have always been interested in both the engineering, logical part and the visual interaction one. I can't imagine putting myself in a job where I would be stuck with only one or another :)
I agree, but with this sentence where you can't imagine doing just one thing is where time will run you over. It was the same with me: I have started as a web designer and back then, at the beginning of first decade of 2000., web designers needed to know how to design AND to code (html, css, js, and in some cases even php, mysql...).
Because job became more complex, it was broken down in several large areas we had until last year - UX, UI design, and front-end. Rarely anyone mentioned php and mysql we had back then, since we have influx of many different technologies for that part of development. It was extremely painful for me that I was unable to apply my design knowledge and front-end programming, because companies were searching just for ONE of those areas.
Today we have to do this separation with front-end for all the reasons I have explained.
For the sake of sanity of all involved ;)
Thank you for your input,
Have a great day!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.