Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> a working knowledge of this will develop into the next important thing 5-10-20 years from now

Do you know something the rest of us do not about "the next important thing"? Surely you can imagine a scenario in which your "cutting-edge" skills become devalued. If history is any indication of things to come, such a scenario isn't that far-fetched.

> "Computer Science", as it is taught, can be 30+ years out of date, depending on the course

You're right - some courses are garbage. But when I was in school, the courses I took on databases, algorithms, AI, and mobile robotics were extremely relevant and still are today. Most CS curriculums teach fundamentals and concepts, which have never gone out of style.

When you say "30+ years out of date" the first thing that comes to mind is a computer engineering class I took based on the intel 8085 (1977), which was about 30 years old when I took the class. Writing assembly code for the 8085 happened to be one of the most interesting and important parts of my CS career, despite being 30+ years out of date compared to the Java and Python code I write these days.



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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: