Hacker News new | past | comments | ask | show | jobs | submit login

It seems to me that the specialist that's most needed is the "full stack programmer", the guy who understands how all parts of the system interact -- because without a holistic view, you're lost at sea when it comes to scalability, reliability, performance and security.

I'd also say that more projects fail because of problems with "soft skills" and project management than from anything else. When your marketing division has no idea at all of what can be produced at what time and how much it will cost, you're doomed.

At some shops I've seen, you'd think that the "software manager" is an endangered species. "Management" is selected by a caste system which excludes software people. I think there is a great need for specialists in software management, but many places won't hire them because they don't want to spend the $ and don't want to deal with an assertive software person.

In these lean times (the last 20 years), many companies aren't interested in hiring specialists but would rather hire junior people and take their chances. If you really do need a specialist, it often makes sense to bring in an outside consultant... If you've got some piece that fits in a box and will really stay inside that box.

As for developing your skills it's something you always ought to be doing. I think the HN crowd fetishizes learning exotic new languages -- that's fine, but that's not the way I prefer to do it. Lately I've found that my C#, PHP and Javascript are looking more and more like LISP. Lately I've read about algorithms used in genomics, parsing, and about description logics. On the other hand, I'm also learning salesmanship, getting a ham radio license, and mapping trails in the forests near me.

Part of developing new skils is reading books, getting certifications and stuff like that, but there's no substitute for "going where no man has gone before" and trying to build some of your own systems that push the state of the art... Do that, and pretty soon you'll find there aren't any books or papers about what you're working on.




It seems to me that the specialist that's most needed is the "full stack programmer"

It used to be like this, back in the day. When I started doing Java professionally (1996, yes really) anyone who did Java did all of Java and could reasonably be working on a GUI one day, a network server the next, databases, native code, compiler internals...

Fast forward to say 2001 and the game has changed, now there are specialists, I did JDBC and Swing and never touched mobile edition, and barely touched EJBs, etc etc. It just got too big. Greybeards I know tell me stories like that on the Mac, System 6 was the last MacOS where one person could hold the entire thing in his or her head. Come System 7 you had to specialize.

Maybe nowadays you can be full-stack in something relatively simple, e.g. LAMP but even then, the L is Linux and the guys who do both LAMP websites and Linux kernel hacking you could probably count on one hand.


I don't hack the linux kernel for fun, but I'll sure write an emergency kernel patch to keep an overstressed server on its feet.


Amen - I forget the interview, but there was a great interview with Steve Jobs where he said that to make great things happen, you need a broad range of life experience. That tends not to apply to engineers who stay in front of the computer all day.


I can tune apache s maxClients and most crockfords javascript good practices are just natural now, not to mentional the whole lot in between. but at interview this never helps me.

Everyone interviews for specialists.




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

Search: