I’m job hunting, but I’m not really sure what to look for, because I’m not really sure what to call my role for the past ten years. I have been a technologist embedded in a non-technical division of a large US financial firm, developing applications in a variety of environments, building whatever the business needed to make its life easier.

When I search for software development jobs, every listing I find is aiming for someone to work on a team of developers, building and maintaining some limited number of applications. I’m not opposed to working in such a situation, but in interviews, my lack of computer science education and team experience comes through.

Is there a job classification for the sort of work that I do today? I feel like if I could narrow my job search somewhat and locate better fits for my experience, then I’ll have a better shot at finding something.

  • 3
    I can't answer your primary questions, but when job hunting you typically search by technologies. For example, "c++", "qt", "linux", "embedded". Then, when you find something, you tailor your resume for that particular position. You may have 10 or 15 copies of your resume each tweaked for a particular job opening. The job requisition usually provides the names you should use, like "embedded software engineer", "c++ developer", etc. If you don't tailor your resume and use something like "utility developer" or "jack-of-all-trades developer", you probably won't be considered for a position. – user25792 Aug 31 '19 at 20:01
  • Full-Stack Development Contractor? – Khalil Khalaf Aug 31 '19 at 20:51
  • It looks like you could easily fit into a "dev ops" or "infrastructure support" role – Fez Vrasta Sep 1 '19 at 12:31
  • Full-full stack developer? – DimP Sep 1 '19 at 18:14
  • There is no such jobs. All serious software development is done in teams and limited to a specific range of technologies – David Sep 2 '19 at 14:06


  • Roles for 'generalist' developers are rare.
  • Businesses look for proven experience with specific technologies and stacks.
  • Write different versions of your resume, one for each technology/language.
  • Tweak the resume for the specific job to 'check all of the boxes'.
  • Be prepared to focus on one language/technology in a new role.
  • Consider applying to broad services consulting companies/agencies where your full skillset may have much more value.


What is a solo, all-purpose software developer called?

From my experience and the trends that I've seen over the past decade or two they are generally called obsolete or at best niche developers. Decades ago generalists with a broad knowledge of many different technologies were highly valued and sought out to bring their expertise and experience to the table to recommend, guide, develop and manage solutions based on the best technology or stack to solve the problem at hand.

Unfortunately, this often created a hodgepodge of technologies, stacks, and maintenance requirements. Businesses have recognized the cost and expense of such an approach and are more than likely to have invested heavily in specific technologies, stacks, and tools. They see value in developing new solutions on the stacks and technologies that they already have in place; oftentimes even overlooking reputable and solid tools because they aren't developed on the same stack.

While this does have significant value and helps to reduce both infrastructure and maintenance costs; for better or worse it tends to create tunnel vision when it comes to hiring specific skill sets and experience levels. Often times resulting in laughable requirements such as 10 years of experience on a technology/language that's only 7 years old.

You have to understand this mindset and conduct your job search appropriately. This means tuning your resume so that it highlights specific skills with different versions of your resume for each skillset. Often times tweaking it for a specific job posting to make sure that you 'check all of the boxes' in the hiring managers list.

Keep in mind that the HR department more than likely doesn't understand that your 10 years of language X is closely related and easily transferrable to the language Y that they are looking for.


The first question needed to answer your question is the list of areas where you actually have experience. Software development is a massively huge field, and it is impossible to be a complete generalist across the entire domain.

Your first step is to find the commonality between all of the work you've done, or at least groups of work you've done. For example, in the mid '80s I worked on a lot fo business applications which involved databases. I also did some very low level benchmark tuning, and I ended the decade doing low level kernel and library work. I'd put down some tick marks for "database", "kernel internals", and "software security" (the area where I was doing low-level work). I'd skip "Insurance" and "Oil and Gas" because those were business domains, not Software Development domains.

As you continue through your career, continue to separate between the Business you were supporting and look at the Technologies you were using or implementing. I spent the '90s and early '00s doing "operating systems" and some early "cloud infrastructure" development, which is related to "operating systems". Into the '10s I'm back to "low-level programming", "software as a service", and "distributed computing". "Software as a service" is sort of related to "distributed computing", so I lump them together.

Keep in mind, this is just an example of how you might tease all this out, and I'm skipping a lot of my personal details.

This might not be the right approach for you. You may be a "generalist" in the support of a single line of business. If you were writing low-level code for inventory tracking edge devices, database code for inventory tracking, web applications for ... you get the picture. If you are a Generalist in a business area, that's your answer.

But you aren't a "all-purpose software developer" because those haven't existed in over 20 years, and really haven't existed in over 30 years. As Steve answered, the name for a "all-purpose software developer" is "Obsolete", though given the massive explosion in technologies since the early '90s, the real name for "all-purpose software developer" is "sadly mistaken."

Go back through your experience and sort it into technologies, techniques, and lines of business. You'll find that you have areas of competence, and areas of complete inexperience.

Best of luck!


The usual term for an "all-purpose" developer is full-stack developer. This means you're familiar with frontend and backend programming and beyond (testing, devops, etc), so you can whip up an app from end to end if need be.

As for where to apply, you might want to look into joining startups, which frequently look for "jacks of all trades" because they can't afford to specialize yet. However, the startup life is not for everyone (don't expect to work 9 to 5) and you don't want to trade too much monetary compensation for likely worthless shares and pie in the sky promises.

  • "Full-stack" almost always refers just to web and/or cloud applications. There are MANY more areas besides things that run on web servers or in the cloud. – Julie in Austin Sep 1 '19 at 13:45

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