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

I liked what I first heard described as "t shaped" people when I read the Valve new starter guide [0]. That is people whose experience covers a fair amount of breadth with pockets of depth. The breadth is good because knowing a lot about what is out there helps you know where to look when you encounter new problems. Depth is also good because you don't really develop your understanding of how things are put together and what the challenges are until you get into a lot of detail. Multiple areas of depth, particularly where they are related (say knowing oo and functional style programming well) are particularly useful because what you learn in one area expands on what you learnt from the other. You can start to really understand what the design trade offs were and what works well in different situations.

There isn't one right answer though. The answer depends a lot on what you want to do. Do you want to lead a team, become an architect, go contracting, become a consultant, go into academia, join a Google, join a start up, write financial software, help cure cancer, invent new ways to do things, become an expert? There are lots of ways you can develop a career in software and whatever happens will most likely be part chance.

Don't worry about it too much, except to make sure you don't get too comfortable in a particular area. If you keep trying to challenge yourself and doing things that are interesting, you will keep getting better. Doing things that are interesting to you is important because it'll help you avoid getting too hung up on what everybody else knows and will help fuel you through the parts that are painful or tedious.

[0] - http://www.valvesoftware.com/company/Valve_Handbook_LowRes.p...




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

Search: