I recently graduated with my degree in computer science. I had done co-op work terms so I have some experience. They were mainly in IT and development.

I’ve been applying for jobs and have been getting some interviews. Most jobs have requirements I don’t fully meet, for example if it’s a web developer it may require PHP, Wordpress and Angular where one I don’t have. It seems necessary to specialize very quickly but I don’t know yet where I want to go. I’ve narrowed it down to IT or development but this is too broad. I don’t know where I should focus my attention and learn new skills: should I learn a new JavaScript framework, improve my skills at Python or should I focus on getting Cisco networking certifications?

As someone with little experience, how do I know where to focus so that I can know which area to study? How do I know which direction to take my career path when I’m just starting? It seems impossible not to have a specific focus in the tech industry in the sense there are no generalist jobs. Is there a website or resource that has a list of the programming skills or IT certifications which are most in demand?

I know it's a broad question but it's a real problem I'm having. I look at one job positing where I'm missing 1 qualification and think "I could do this if I learned Angular" then I go to the next posting and think "I can do this if I learn C++" etc.

  • I have a feeling this question will be put on hold as career advice and it is very specific to IT industry. \ – PagMax Apr 15 '17 at 5:31

It seems necessary to specialize very quickly but I don’t know yet where I want to go.

Don't worry about it. Everything you learn is "specializing" in some sense – you become more adept at doing that thing you're learning at the moment. But nothing that you learn prevents you from learning something completely different, so don't be afraid to spend some time learning what you need now, and changing gears and learning later what you need then. Indeed, among the most important things you can learn is how to change gears and how to quickly learn enough to be effective. Learning itself is a skill that you can improve, and the better you become at picking up new things, the less you'll feel the need to specialize at all.

It seems impossible not to have a specific focus in the tech industry in the sense there are no generalist jobs.

Of course there are. A generalist isn't someone who only has general, high-level knowledge and who avoids learning about specific tools; a generalist is someone who has experience using a wide variety of tools. You won't see a lot of entry-level jobs for generalists because nobody expects you to have that kind of broad experience.

As an analogy, consider your reading habits. You could spend your whole life reading books in a particular category – travel books, for example. That'd make you something of a travel books specialist: you could accumulate more and deeper knowledge of travel books than anyone else in your county. A generalist, by contrast, isn't someone who only reads very "general knowledge" sorts of books, like the dictionary and the encyclopedia; a generalist reads travel books and food books and historical fiction and biographies and science books and... you get the idea. Reading a half dozen travel books really doesn't make you a travel books specialist – it just makes you a guy who has only tried one kind of book so far. Likewise, it takes time to gain enough breadth of experience to really be a generalist.

There are definitely jobs for both specialists and generalists, but none of them are really entry level jobs. From that it follows that you don't need to worry too much about which you want to be right now because your first job can easily be the beginning of either path.

As someone with little experience, how do I know where to focus so that I can know which area to study?

What interests you right now? What project are you working on right now? Learn whatever you need to get that done. If you need PHP, pick up a PHP book and start reading. If you need a better understanding of Wordpress, get busy. You're not going to become an expert overnight, but you should be able to get some really simple tasks done in a day or two, and in a few more days you might start to get some real work done.

Some topics are far more complex than others, of course. Becoming proficient in C++ is a much larger task than picking up shell scripting, for example. Still, spending even a few days learning about a language like C++ will help you to understand what you don't know and how much work you'd need to put in to make real progress. Knowing just that much is valuable, as it'll help you make more informed decisions about where you want to spend your learning time.

How do I know which direction to take my career path when I’m just starting?

You don't. Nobody expects you to know where you're going to end up, and you're allowed to change directions when it suits you. That's not to say you should feel free to accept a given job and then quit to do something else a few weeks or months later. Just know that the job you take now won't determine the entire course of your career unless you let it. Look for something that you enjoy doing now, and see where it leads. If you know that you're not certain about what type of work you want to do, look for a job that'll give you an opportunity to try a number of things. Places that hire front-end web developers usually also have back-end web development work going on, and they might also need mobile developers, etc. A large company might give you an opportunity to focus on one thing while still providing opportunities to change jobs while staying with the same company. Small companies might need you to do several kinds of work all in the same position.

I know it's a broad question but it's a real problem I'm having.

The most important thing, by far, is finding work that you'll enjoy. Life is much less fun when you feel like you're trapped in a job that you don't like, so look for jobs where you can work on something that seems interesting or inspiring or important. And when you interview, pay attention to the people that you'll be working with; you're going to spend a lot of time interacting with them. People can make a dull job fun, or they can take all the enjoyment out of an otherwise great job.

  • Best advice. Industry is always changing and in ten years you might want to refocus to Ruby instead of PHP for example. – user66194 Apr 15 '17 at 12:16
  • 1
    What interests you right now? - this is key. All things being equal, pick the thing that you like doing. If you can't decide what you like, randomly choose a few things and pick out the ones you enjoy. You can't do everything at the start and over time you'll figure out what you prefer. – adelphus Apr 15 '17 at 15:10
  • "Everything you learn is "specializing" in some sense" I thought about this for a long time and still do not understand. Can you please explain what you mean? – NewOnTheBlock Jun 24 '18 at 5:45
  • @NewOnTheBlock, I meant every new skill you learn pushes you in some direction. Have you written a few mobile apps? Great, you're now better qualified than you were before to work as a mobile developer. Do you also like tinkering with engines, even though that's not part of your career plan? You might be just the person to write a mobile app that monitors automated testing in an engine factory. Whatever skills you have, however unrelated they seem, could potentially help you land a job that requires a specific combination of skills. – Caleb Jun 24 '18 at 16:45

The list of qualifications asked for on a job spec is usually more of an 'ideal wish list' than a must-have. Almost at any level, a good candidate will be able to self-learn one or two subject areas without much trouble and a good employer should realise this.

Focus on jobs which are at the right level of experience and lead on to an area which you think is interesting. You should be able to justify how you expect to be able to work on the areas which you have no demonstrable experience today - don't just ignore them.

All the experience you have today is relevant to jobs you're interested in - both in the less technical aspects (planning, communication, etc.) as well as the more abstract technical things. Often the precise language or toolset is just a detail.

If you want to improve your specialisms, focus on something which you want to spend your spare time on - this will be something easy for you, and may lead you in a good direction.


Since you mention both IT and development, I'd suggest looking at a position in Devops. In a way this is a middle ground (though it's also in a way its own specialization). It would give you the opportunity to discover if you like development or operations (IT) better and you could refine your focus in the future. It also is a very in-demand role now and in the foreseable future.

  • Really? Just a downvote with no explanation as to why? That's helpful... – Jared Apr 15 '17 at 21:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.