Take the 2-minute tour ×
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It's 100% free, no registration required.

I am currently employed in a technology-centric small-sized company. Due to the structure of the company and number of employees, I am usually pulled between different projects which involved different programming languages, technologies etc.

As this is my first job, I find that this prevents me from digging deeper into a particular language or technology and becoming an expert at it. Indeed, observing my co-workers, I see that even those who have been at the company for several years, fail to be experts at any particular matter; rather they generally score about 3/10 at most of the tools they use.

How common is this state of affairs? How can I improve my situation? Is it time to look for something else?

share|improve this question
Just a note - the goal of software companies is to make profitable or functional software, not become experts. It is not necessarily a requirement that both happen simultaneously. –  enderland Nov 8 '12 at 15:44
@enderland while what you say is true, I would bet that you'll hardly find a profitable and functional software company whose developers don't have domains of expertise... –  Intuit Nov 9 '12 at 1:59
add comment

2 Answers

up vote 9 down vote accepted

I think this is fairly common at many companies, especially smaller ones where most employers, developers included, must juggle many balls at the same time. Only in larger developer teams and/or longer term projects can you really dig consistently deeper into a specific subject or area.

However, this situation has its good sides too: it exposes you to lots of different tools and technologies, widening your experience and skill set. This teaches you to pick up new subjects easier and faster, which may give you a distinct advantage in the future when looking for a new job. So embrace these opportunities and strive to get the most out of them.

Digging deeper into a technology / tool and becoming an expert of it (above what is explicitly required to do your current job) is not specifically supported by most companies, because - from the short sighted economical point of view - they may not see any direct benefit of it, OTOH it may increase the risk of you leaving them for a better job. (Of course, the rare top-level companies know very well that actively supporting you to increase your competence will bring them better, higher quality, more efficient solutions in the future, and increase your job satisfaction too, making it more likely that you stay with them - this is what makes them top level, after all :-)

However, alas, most companies are not quite there. Note though that this depends on you much more than on your employer. If you make a conscious effort to push yourself further in one or more favourite areas, allocating a part of your free time to experiment, study, and/or work on open source / pet projects, you are on your way to become an expert. You may also want to raise the subject with your manager, to discuss how the company may be able to support your education efforts better. In the best case, they may pick you more interesting / challenging projects, send you to some training or conference. In the worst case, your manager may not be able to help you, but at least (s)he is aware of your efforts, which may be a plus for you when it comes to e.g. salary negotiations :-)

share|improve this answer
+1 for acknowledging that increasing the competence of employees is essential to the company's success. –  Intuit Nov 9 '12 at 2:10
add comment

I agree with everything Peter said before me. I would almost go as far as saying that being average or slightly above average in lots of fields/technologies is better than specializing in just one and being near clueless in the rest because the feasibility of specialization assumes the division of labor, and a successful division of labor, i should say, in which you do one thing very well but then the terrible pitfall of it is that it makes you dependent on the rest of the machine, AKA system, for everything else. Now that can all work out if the system is in place but what happens once it starts falling apart? Your risk will be significantly hedged if you can do many different things, albeit not so well as one specialty.

Adam Smith argued the same thing pointing to the great dangers of the division of labor. Frederick Taylor disagreed. Personally, between being a guru in one isolated technology and being mediochre in many but overall far more independent, going as far as growing my own food, prepping etc., I'd pick the latter. You always want to depend less on others and rely more on yourself.

So I would not be looking at your situation as particularly unfavorable. You can build a comprehensive, full-cycle portfolio of technical credentials. E.g. be a self-reliant LAMP stack developer and admin all in one, capable of dishing out a complete solution without any help from anyone else.

share|improve this answer
+1 for pointing out the benefits of an "all-in-one" person. While this starts to break down as the company grows (and therefore, requires more specialized knowledge for high-end scaling purposes), being a "full-cycle" asset is a boon to small companies. –  Shauna Nov 8 '12 at 20:42
+1 for tying this to a philosophical/economical debate. –  Intuit Nov 9 '12 at 2:19
add comment

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.