Hacker News new | ask | show | jobs
by moab 4127 days ago
No, it's pretty true if you've ever been through the average dev-shop in the valley. 95% of the eng work is the same problems you've seen a dozen times in the last year rehashed. The 5% of the interesting work is usually incredibly difficult and requires real skills (i.e. some sort of cv/dist-systems/PL skills) that can't be casually acquired without serious commitment. The people who do these jobs are either undergrads who worked incredibly hard to pick up these skills or phd's.
1 comments

> The 5% of the interesting work is usually incredibly difficult and requires real skills (i.e. some sort of cv/dist-systems/PL skills) that can't be casually acquired without serious commitment. The people who do these jobs are either undergrads who worked incredibly hard to pick up these skills or phd's.

Can you elaborate? I am an undergrad and this sounds incredibly interesting. What are those skills? How do you pick up them?

It really depends on what you want to do. If you see yourself getting into programming languages, and want to work at a place like fb/google or even a trading-house like JaneStreet, most of the interesting work will be parceled out to folks who really tinkered with language design/logic/type theory at school.

I can talk about each of the (few) areas I mentioned in detail, but I think I'd be leading you astray. The real question is: what are you interested in specializing in? Let's say it's field x. What will it take for you to become so well versed in x that a company will hire you to work on hard problems involving x? X can be anything - programming languages, graphics, kernel, distributed systems. And x doesn't just have to be something "hard in CS" - it can be any number of UI/UX/HCI related fields that are popping up these days.

In terms of how you pick them up: figure out what your interests are and either find a professor at school that's into this and work with him/her, or start hacking on this stuff and getting your hands wet in your spare time. I'm a new grad myself, and I can say for a fact that the ~5% of my peers who are working on truly hard problems in industry are exactly those peers who worked on hard problems in their spare time at school.

Hey,

I have a growing interest in distributing systems but I am also very interested in programming language theory. I know that I want to become a software engineer but I also like to dabble with research papers.

This summer I'll join the Infrastructure team of a mid-sized startup in Waterloo, I think that's a good start but I would like to know more about your experience. What do you found the most effective way to turn an "interest" into a subject you are expert in (read able to create new and non-trivial things). I want to get my hands dirty but I am also a bit clueless as to where to start!

I have just started college but I feel that I need to figure out a (even very rough/broad) strategy to structure my learning. Waterloo is a great school but the meaty CS electives are reserved for 3rd/4th year student and I feel that I can work by myself until I reach this academic level.

Distributed systems is a very broad field, do you think that I should start by the fundamentals and then pick-up a niche area to grow in or would you rather have a broad approach, experience different things and specialize after graduation?

It would be really cool if you could shoot me an email: aaron_at_rely_dot_io Thank you :))