Not the OP, and I would've phrased the comment a little less strongly. However, I'm a full stack engineer who came up from the front-end engineering ranks, and I've successfully gone through two major tech switches (desktop -> web and web -> mobile).
The specific tech stack you use as a frontend engineer will almost certainly be obsolete in 5 years. The general skills you learn as a frontend engineer will not be, and that combination of skills are not taught anywhere, particularly not college.
If you're doing it right, you learn way more as a FE-SWE than just Javascript. You learn design concepts like hierarchy, line, typography, color theory, etc. You learn information architecture and how to present only what the user needs to see at a given time to them. You learn how to structure a large application through MVC, MVP, component trees, etc. You learn how to keep it responsive and low-latency. You learn concurrency and how to deal with user interactions that may occur in the middle of your app doing something. You learn animation and motion design. You learn security, input validation, never to trust user input, and how to design the UI so that invalid inputs aren't even possible.
Those are widely transferrable skills. As long as there are computers and people who use them, we'll need to figure out how to interface between them. And as more fundamental CS concepts become available to mainstream, non-tech-savvy users, the need for frontend engineering skills only becomes greater (witness companies like GitHub, DropBox, and Twitter, which are based upon bringing UNIX utilities that have existed for 40 years to mainstream audiences).
I loved my compiler design and machine architecture courses, but demand for those skills is very specialized, and you have to be very good at it to get a job doing them. I'm actually one of the lucky ones who has used my compiler skills in a large corporation, but honestly frontend engineering has opened up many, many more doors for me.
The general skills you learn as a frontend engineer will not be [obsolete]
To play devil's advocate: What if the next mainstream computing interface has next-to-no need for any visuals? In other words, do you think point-and-click and/or touch interfaces will be as prominent in 10 years as they are now? I can't imagine that computing applications will always interface visually - seems inefficient.
I've worked with folks doing gestural (eg. Kinect-style) and voice interfaces. Some of the principles are different, but a lot remain the same. The basic ideas behind deciding what's the absolute most important information for a user to know, getting in their mindset, progressively revealing more as they navigate through the app, and being instantly responsive actually become more important with gestural/voice interfaces, because your communication channel with the device is lower bandwidth. (At least now - gestural interfaces have the potential to be much higher bandwidth, but current camera tech isn't up to it yet.) A lot of the math behind gestural interfaces is also very similar to the math behind 3D computer graphics.
I also think that computer interfaces will retain some visual component at least for the foreseeable future, because humans are predominantly visual creatures. There are some situations where this isn't appropriate - eg. while driving a car - but when you have the user's full attention, it's usually fastest to present information visually.
I think that a lot of the changes might be in the form of refinements or new UI models. Mobile has opened up a whole bunch of new UI metaphors - scrolling is much more important, with things like pull-to-refresh and sticky toolbars, and it's now customary to stick all links and navigation options behind a NavigationDrawer - but they didn't fundamentally change what being a FE-SWE is about. It's more like these are new UI widgets that can be used to build a better experience on smaller screens. Things like cameras and accelerometers do change some of the paradigms behind frontend engineering (I bet OCR and physics will become much more important in the near future), but so far they're being used as subroutines you call out to.
Comments
Not the OP, and I would've phrased the comment a little less strongly. However, I'm a full stack engineer who came up from the front-end engineering ranks, and I've successfully gone through two major tech switches (desktop -> web and web -> mobile).
The specific tech stack you use as a frontend engineer will almost certainly be obsolete in 5 years. The general skills you learn as a frontend engineer will not be, and that combination of skills are not taught anywhere, particularly not college.
If you're doing it right, you learn way more as a FE-SWE than just Javascript. You learn design concepts like hierarchy, line, typography, color theory, etc. You learn information architecture and how to present only what the user needs to see at a given time to them. You learn how to structure a large application through MVC, MVP, component trees, etc. You learn how to keep it responsive and low-latency. You learn concurrency and how to deal with user interactions that may occur in the middle of your app doing something. You learn animation and motion design. You learn security, input validation, never to trust user input, and how to design the UI so that invalid inputs aren't even possible.
Those are widely transferrable skills. As long as there are computers and people who use them, we'll need to figure out how to interface between them. And as more fundamental CS concepts become available to mainstream, non-tech-savvy users, the need for frontend engineering skills only becomes greater (witness companies like GitHub, DropBox, and Twitter, which are based upon bringing UNIX utilities that have existed for 40 years to mainstream audiences).
I loved my compiler design and machine architecture courses, but demand for those skills is very specialized, and you have to be very good at it to get a job doing them. I'm actually one of the lucky ones who has used my compiler skills in a large corporation, but honestly frontend engineering has opened up many, many more doors for me.
To play devil's advocate: What if the next mainstream computing interface has next-to-no need for any visuals? In other words, do you think point-and-click and/or touch interfaces will be as prominent in 10 years as they are now? I can't imagine that computing applications will always interface visually - seems inefficient.
I've worked with folks doing gestural (eg. Kinect-style) and voice interfaces. Some of the principles are different, but a lot remain the same. The basic ideas behind deciding what's the absolute most important information for a user to know, getting in their mindset, progressively revealing more as they navigate through the app, and being instantly responsive actually become more important with gestural/voice interfaces, because your communication channel with the device is lower bandwidth. (At least now - gestural interfaces have the potential to be much higher bandwidth, but current camera tech isn't up to it yet.) A lot of the math behind gestural interfaces is also very similar to the math behind 3D computer graphics.
I also think that computer interfaces will retain some visual component at least for the foreseeable future, because humans are predominantly visual creatures. There are some situations where this isn't appropriate - eg. while driving a car - but when you have the user's full attention, it's usually fastest to present information visually.
I think that a lot of the changes might be in the form of refinements or new UI models. Mobile has opened up a whole bunch of new UI metaphors - scrolling is much more important, with things like pull-to-refresh and sticky toolbars, and it's now customary to stick all links and navigation options behind a NavigationDrawer - but they didn't fundamentally change what being a FE-SWE is about. It's more like these are new UI widgets that can be used to build a better experience on smaller screens. Things like cameras and accelerometers do change some of the paradigms behind frontend engineering (I bet OCR and physics will become much more important in the near future), but so far they're being used as subroutines you call out to.