I started with my current employer 13 years ago in an entry level position.

I have been promoted to a Staff position over that time and have been compensated well, and eventually made into the lead HR developer.

I have given multiple presentations at the Oracle HR technology conferences on products and solutions that I have developed. Unhappy with management, I began looking for a new job about 5 years ago. This is when I quickly found that my highly specialized field did me no favors.

I learned that smaller shops would need my role to include what would be handled by teams at my current job while large shops were generally asking for competence in a more diverse skill set. I decided to move in a completely different direction internally and moved to a new team. Here I learned a new technologies that did not necessarily complement the skills I had from my previous position

My concern is that this is again a fairly specialized field that may make moving to another company a difficult ordeal. I am using my spare time to continue learning new aspects of software development.

What are some good strategies to avoid being pigeon-holed into a narrow specialization?

UPDATE In case anyone was interested -- I left the company mentioned under less than ideal circumstances (see my other question) after butting heads with my manager. I ended up spending some time off but then finding an ideal job with a small company that is moving to a mid-size company and is unsure how to grow their HR technology stack. I am making very good money and doing something I enjoy. Thanks for the great answers.


3 Answers 3


I am a data specialist, I have never had trouble finding a new job because there are more data positions than can be filled.

Yes you have more limited opportunities (I can't qualify for a web development position, but then I don't want one) but as long as you stay current in your specialty, then you should have plenty of opportunity. Everyone has things that in one way or another limit the potential jobs they can qualify for.

What you are not doing well is clearly selling your skill set or thinking clearly about how you can take your accomplishments and make them more generic to other roles. You should have in-depth HR business domain knowledge, in-depth pl/sql knowledge (which can apply to other business domains beyond HR) and, as lead, you should have project management experience. All of those are very sellable. Part of your problem is that you don't have any experience selling yourself because you still work for the same place as your first job. Read "What Color is Your Parachute?" for ideas on how to position yourself in the market.

You give presentations at conferences? Then use that to market yourself to people and get a new position by networking with the very companies that need your specialist knowledge. That is one of the most critical ways that specialists get new jobs, by convincing people who heard them speak that they could be helpful in the attendees' organizations. You might have to relocate, but in today's world, you probably also could get someone who needs your skillset and wants you to let you work remotely. Generalists can look at advertised positions, specialists usually move on through networking.

Consider that you could also get some knowledge of SQL Server,Mysql, Postgre relatively easily. Or consider noSQL databases like Cassandra. If you have been dealing with data issues at all, you should look at big data. There are plenty of training sources to get you started in that arena. So look at getting qualified in a related specialty.

Specialists however do well to avoid smaller companies. It is large companies that need specialists.

  • 7
    Very interesting comment: 'Generalists can look at advertised positions, specialists usually move on through networking.' I will think on that.
    – SDH
    Jun 1, 2017 at 21:47
  • 1
    One of the best overall posts I have EVER read.
    – Neo
    Jun 1, 2017 at 22:11
  • 1
    May I interest you in looking into a few other databases like Postgres, Cassandra, etc. Also, NoSQL is hot right now. Might help :)
    – An SO User
    Jun 2, 2017 at 12:57
  • 5
    "Specialists however do well to avoid smaller companies." I'd generally agree with this, excepting some startups. If a startup is a niche startup it probably will need a specialist in their domain. In OPs case, a startup hoping to develop a new HR module/plugin would benefit greatly from their experience.
    – enderland
    Jun 2, 2017 at 15:41
  • @Little Child Our eDiscovery install is SQL Server backed and I have also had to develop some Postgres scripts but I would not call myself proficient yet.
    – SDH
    Jun 2, 2017 at 15:56

It's difficult/unlikely to find a role at a different company that desires your exact specialization. Your question seems to waffle between wanting to expand beyond your specialization ("I am using my spare time to continue learning new aspects of software development.") and being hesitant/scared to change ("smaller shops would need my role to include what would be handled by teams of DBAs or the ERP support team at my current job while large shops were generally asking for competence in multiple Oracle modules"). It's a normal reaction to be excited about the prospect of change, but daunted by the reality.

If you decide to make a change and expand beyond your specialization, you will have to "drink from a fire hose" at first. Embrace it. Look forward to it. Be excited about it.

Make a decision about where you'd like to see your career moving. Do you want to stay with a larger company dealing with other Oracle modules, would you be interested in moving to a smaller company and expanding your generalist skills, or is there some other optional career path?

Focus your cover letter and resume on your proven track record of picking up new technologies quickly and gaining deep domain expertise. Talk about/emphasize the move to eDiscovery and your success in learning that new technology. Based on your answer to the above, talk about why you want the career change you're pursuing.

In interviews, do some initial research on their tech stack, be excited about it, be enthusiastic. That will come across positively in interviews (the alternative, being tentative/scared of change will make you far less appealing given your lack of expertise in their domain). If possible draw parallels between things you're an expert at and what they're doing. "I haven't worked with X Oracle module, however, I deeply understand Oracle's Y module and how to deal with issues of type Y that appear in both modules" (or whatever might actually be relevant)

  • My comment about smaller shops was not to show I was hesitant to change but to show that the smaller shops felt I was unqualified due to lack of experience in the additional areas. The fire hose analogy is appropriate as that is exactly how it felt moving to eDiscovery. :)
    – SDH
    Jun 1, 2017 at 18:27
  • I edited my answer to emphasize your change to eDiscovery. I will leave the first paragraph, just because I think it's really important not to appear hesitant, while acknowledging that it's OK to be scared (change is really scary, even if you're good at it).
    – Chris G
    Jun 1, 2017 at 18:36

Great question! Here are a few things I have learned both from personal experience and from talking with others.

1. Keep up with technology

Don't get comfortable. Don't get complacent. Technology is always advancing. Don't wait for HTML6 to be the standard: jump on board ahead of time. Don't wait to catch up with technology, keep ahead of it and wait for it to catch up with you. If you don't have the freedom to do that at your job, do it at home. This will give you at least two advantages:

  • A broader spectrum of knowledge to pull from
  • A comfortability working with something new, making it easy to switch platforms etc.

2. Keep your eyes open

Subscribe to tech magazines (scholarly, up-to-date ones!). Surround yourself with friends (social media, etc.) who are good at picking up new technological advancements. Don't brush over new possibilities; keep up with them.

3. Do some freelancing.

I always recommend that people reject jobs which do not allow them to do freelancing privately while they hold that job. If you can work it into your time schedule (and see comments below), get your hands messy with a huge variety of coding jobs. For instance, a friend of mine used to work in generic web development. However, he did a fair amount of other projects on the side "just for the fun," which included things like IoT stuff with a Raspberry Pi, creating a network video streaming protocol, etc.

When the opportunity opened for him to make an application to work for a different company developing AI, he was able to pass their specifications easily, simply because he had a very broad knowledge.

In view of the comments below, I’d also like to add that the freelancing projects don’t necessarily have to be paid projects for other people: just doing some random stuff for yourself can fit better with a busy schedule, but reap a lot of the same rewards.

Hope some or all of this is helpful to someone!

  • 9
    Saying every dev should Freelance is a terrible idea. Most people above the age of 25 don't have the time available to do that especially if they are the maternal parent. Suggesting that the best way to get ahead is to hold down two jobs is just ridiculous. If you are doing real work in your real job, you do not need to freelance.
    – HLGEM
    Jun 1, 2017 at 21:19
  • 1
    @HLGEM In the modern workplace you will always lose to someone who Freelances because you are falling behind in technology. Your choice to waste time you could be devoting to a career is a choice you made. If you don't have the time you are either wasting it on non-career improving things or bad at time management. Neither are attractive traits for a worker. Jun 1, 2017 at 21:44
  • 4
    You don't need to freelance if your current job gives you opportunities to grow technologically. It is silly to say you do. And there are plenty of jobs where being a freelancer is frowned on. And for good reason. Just because you make a choice not to have private life doesn't mean you are superior to others or that you are a better developer. There are lots of ways to the goal of being qualified for what you want to do. I have NEVER lost to a freelancer when I have gotten new jobs because I am extremely skilled in my specialty and have a huge number of accomplishments without freelancing.
    – HLGEM
    Jun 1, 2017 at 21:54
  • 1
    @A.McDaniel Freelance is not always easy. There are things such as Heath Insurance, Business licenses, taxes, getting the client to pay, etc. that keep this as an appealing choice for some.
    – Neo
    Jun 1, 2017 at 22:13
  • 4
    @A.McDaniel I'm sorry, but your views of freelancing are complete BS. Learning a new technology and being able to be proficient enough to use it is not a significant hurdle for any decent developer. The concepts are more important than specific technologies and showing you have a deep understand of those is far more valuable. And frankly, there hasn't been a whole lot of change there... just a constant repackaging of the same old stuff.
    – Andy
    Jun 2, 2017 at 0:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .