Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Lately I'm deeply disturbed by the thought that I'm still not devoted to one specific IT subject after so many years of doing it as a hobby.

I've been in so many different IT related hobbies since I was 12.

I have spent 8 years and now I'm 20 and just finished freshman year at Computer Eng.

Just to summarize the variety:

  • 3D Game Dev. and Modelling (Acknex, Irrlicht , OpenGL, GLES, 3DSMAX)
  • Mobile App.Dev (Symbian, Maemo, Android)
  • Electronis (Arduino)
  • Web.Dev. (PHP, MYSQL, Javascript, Jquery, RaphaelJS, Canvas, Flash etc.)
  • Computer Vision (OpenCV)

I need to start making money. But I'm having problem to pick the correct IT business to do so.

Is it a problem to have interest in so many different IT subjects?(in business world)

I'm having a lot of fun by doing all those stuff from time to time.

Other than making money I also noticed that having so many different interests is lowering my productivity. But I'm still having difficulty to pick one. I'm feeling close to all those subjects (time to time).

share|improve this question
IT knowledge base is so wide that you should have be familiar with lots of areas. For example, in order to be a good JS developer you need to also know HTTP and server side development. HTTP requires you to understand basic computer networking and networking expects you to know about OS's and so on .) –  Mert Jul 6 '12 at 14:16

5 Answers 5

up vote 10 down vote accepted

It's not likely an issue. You (and I know I am) can find your place as a generalist. Someone that can do a bit of it all. The downside? You may never be a master of any specific skill in your skill set. The plus? In an organization, when required, you can wear a number of hats to get the job done.

That isn't to say that you don't need to build proficiency to professional levels in a few of these interests which you are more strongly aligned to but having a broad skill set is unlikely to hamper you professionally. What is likely to happen is you will land work with a specific skill set required. Then that skill will be sharpened by applying it day in and day out. Then some day you may find other work. If it is in the previous skill set you can point to your years of work with it. If it is something else you can sell what you have done previously and the exposure to what you have done in your own time.

Being dynamic is probably better for you than not in computing.

share|improve this answer
thank you so much for the answer :) i guess the keyword is "generalist vs specialist" i'll google on that for a while :) –  Ahmet Yıldırım Jul 17 '11 at 15:05
Definitely the right keywords. I see this benefiting me a lot when seeking side work. I never know what is going to crop up but chances are I am at least familiar enough with the technologies that I can swing it. Really, as a programmer though...paradigms are the dividing line, not technologies. A solid programmer can use an API to implement solutions with any well documented framework. Program in any language within paradigms they are familiar with. The bigger trick is convincing the HR wall that you need more consideration if you don't stack on all their keywords. ;) –  Rig Jul 17 '11 at 17:07

Generally speaking, it's a good idea to become really good in one problem domain. Or two, if possible. This way, it's easier to land a job outside your technical focus as long as you stay within the problem domain. For example, if you are a specialust in accounting, and you have been using Java for the last 5 years, you might land a job in a company making accounting software in C# or VB.net.

share|improve this answer

Often times at small the medium size companies you will be forced to know and work with multiple technologies/realms. For instance, just because you are the application developer, you will most likely need to work with database development (if you are working in a data-driven environment), and even beyond that with database administration. A lot of developers double as "accidental DBAs".

Also, the power of knowing multiple technologies will benefit you in software development. Knowing how networks and servers work is extremely useful when you are writing software that transmits over those mediums.

So no, it won't hurt you. Just think of it as a degree in education. "Major" in the technology you are most interested in and want to concentrate on, and "minor" in the other ones that surround IT as well.

share|improve this answer

I find myself in the same boat. And I've survived quite well being a generalist. But if you are to be successful at it, you can't just know a little about everything. You really need to know a lot about several things, keep up with the latest, and most importantly be able to get a quick understanding of any technology, and with minimal amount of effort be able to work with it.

I've been working for 10 years, and since then I've been from the support desk staff to a senior developer. I'm still learning how to best place myself as I look into expanding my career. It's hard, I haven't applied to jobs in the past because I feel I'm not a good fit and would be hurting the company. But what I'm starting to realize is you can land jobs working with technology not in your field of expertise, a lot of it is how work through problems and what your work habits are like. This works for me, as my end goal is to work with the latest technologies, learn new things, and have fun developing stuff. If you are wanting a specialized job, such as game development, or landing a job at Microsoft. Then you need to start focusing on skills specific to getting you there.

Also fresh out of school, most companies know you aren't specialized in one area. And bringing you on, means getting you up to speed with their technologies. It sounds scary, but looking back it, just jump in. Keep your happiness at the top of your list, and keep working at finding a job that makes you happy. If you get bored going done one path, your experiences can carry you into a job with a difference technology.

share|improve this answer
I'm very good with google.I guess everytime i learn a new skill i first memorize its keywords.Afterwards , whenever i need them again , i just google and remember the details of that particular subject. So i dont fully memorize everything i need about that skill but only the keywords to reach it again.Because i feel like it's going to lower my capability learn other stuff later. Is this a wrong method? –  Ahmet Yıldırım Jul 18 '11 at 7:54
One downside of this method is that : For example: i have made Web Application with Canvas. Later years i havent done anything in that technology. And when my colleagues ask me something about that particular tech...I feel like i dont remember much of a thing to say about it. But suprisingly if i google for it like an half an hour , im able to remember most of it again. So it causes google addiction..i think :D –  Ahmet Yıldırım Jul 18 '11 at 8:03
Yeah, the downside to that is you won't be quick to recall things in a meeting. Maybe some of that comes with time. I remember the basics to have a discussion about the technology and/or language. But to do the work is when I result back to google. I want to be able to have a conversation on the fly about most of the technologies I know, and especially the ones I work with. –  Ryan Gibbons Jul 18 '11 at 14:12

Turn your perceived weakness in an advantage.
What exactly is the problem? You have (shallow) knowledge of a few different domains, but not really deep knowledge of any particular domain, platform, and/or technology. Guess what?

Startups love this kind of people
When you work in a company whose future is extremely unpredictable, you can't commit to a particular technology. So you can't have a staff of people who are extremely proficient in, say, C# but they have little skills outside the .NET Framework. So basically startups want people who have a diverse background in technologies and platforms.

Besides, it is extremely useful seeing a startup from the inside, all the mistakes it makes and how are all successes achieved.

Note that I'm using the 'broad' definition of startup, as defined in 'The Lean startup' by Eric Ries. His main point is that every organization (or part of) that operates under extreme uncertainties is a startup.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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