31

A question on software specialties inspired this question.

How valuable is a software generalist compared to a specialist?

When I say generalist, I mean someone who can take a project from requirements to deployment, and is competent with all phases of the software development lifecycle. Someone who can put all the specialties together into a cohesive whole. An expert generalist knows his or her weaknesses and fills them by relying on specialists - example: Oracle specialists or UX specialists.

What do you see as the ultimate career path of the software generalist?

Ryan Michela
  • 2,072
  • 2
  • 16
  • 14
  • I like this idea. I would like to always be a general programmer, too - not language specific, or even paradigm. Just "programmer". – Michael K Nov 08 '10 at 19:44

5 Answers5

28

Consultant

I did this for a while, and being a generalist is the #1 skill that will make you a success. When people have a problem, they typically have been solving that problem one way for a long time, and need consultants to get a fresh perspective. As a consultant you need to know about ALL KINDS of products, open source, closed source, Oracle, Microsoft, Red Hat. You need to know what's good, what's bad, and what's best for the client. To be able to do that you need to be a generalist and know how to be an expert FAST. To be an expert fast (without already being one), you need to know the core principles and practices of software development, without only knowing ONE implementation of them. You need to be able to pick up things without having seen them before and within a short time be able to be proficient in it. As a self-proclaimed generalist myself, consulting was the best career move, and the most fun I've had doing software development. New experiences, new and diverse range of projects and technologies, good pay, and generalist traits help you succeed.

Ryan Hayes
  • 20,139
  • 4
  • 68
  • 116
  • 9
    That's what I have been doing for 30+ years now. I almost always have multiple contracts. Currently I am doing embedded firmware in C (plus hardware design and PCB layout), some websites in PHP/MySQL (including some admin duties), and Windows software using C# and Delphi. – tcrosley Nov 08 '10 at 21:25
10

Software/System/Enterprise Architect - Too many x Architect titles out there these days, but you get the idea :).

As long as you remain a relatively hands-on architect (and not a white paper writing ivory tower architect) then that's a fairly good career path for a generalist.

Martijn Verburg
  • 22,006
  • 1
  • 49
  • 81
10

The ultimate career path of the software generalist is to become the one person IT army, able to take on any problem involving code of any kind as a self-employed mercenary. I'd imagine such people would be extremely rare, but they may exist somewhere. ;)

The generalist may have the challenge of maintaining their skill set as I'd imagine most people in this role would end up specializing a bit in terms of what they experience as it isn't often that a company would give the same guy the opportunity to know every kind of system,e.g. CRM, ERP and CMS to name a few by acronym. There are various points between the generalist and specialist though as something like web development could be seen as being rather general or rather specialized depending on one's view.

JB King
  • 16,795
  • 1
  • 40
  • 76
5

I think working for a smaller company, if you can find a good one, is the way to go. I once I had a job where my duties entailed being the web developer, sysadmin, content writer, online marketer/"SEO", and general office tech support. Daunting at times, but it was a lot of fun and a good learning experience

GSto
  • 8,531
  • 7
  • 39
  • 59
0

A project manager that techies can respect, and who appreciates their art?

Of course, it could be a fine line before being a management toady knowing just enough to be dangerous about a lot of things...

gbn
  • 2,467
  • 1
  • 17
  • 14
  • Would also need to pick up PM skills - completely different role/skills required. Some people have a better starting knack for it than others mind you. – Martijn Verburg Nov 08 '10 at 20:00
  • 1
    @karianna: coding in the software lifecycle is one bit in the middle. A "generalist coder" maybe doesn't make sense. So what is a generalist if they don't have PM skillz? – gbn Nov 08 '10 at 20:11
  • @gbn exactly, generalist has not only tech skills but often some experience with leadership, local management, business analysis or even customer support. – gertas Nov 30 '16 at 08:20