I am currently a software developer with 2 years experience with Java and C#. I have been offered a job at a reputable company with a higher salary and better benefits then current employer. However they use Ada programming language which doesn't seem to be very popular in terms of current jobs in local area.

After talking to my current boss about the job offer they have made a counter offer by increasing salary slightly and have not matched offer of other company. I have been told by my boss that the company is offering more money as no one wants to be an Ada developer and they are trying to entice people and I should not accept offer as it would be career suicide and would not look good on my CV or for future job offers.

I would be grateful if someone with experience shed some light on this if it's true that I should stick with lower salary and gain experience with a more popular language, compared to accepting a higher paid job with better benefits that uses Ada programming language that is not very popular.

I do enjoy my current job however feel I am underpaid compared to current average salaries in area for my role.

| improve this question | | | | |
  • care to elaborate your specific question? Is it something like "how much money is needed to pay off developing in Ada"? EDIT: Also they already increased your payment, you wont be able to get much more from the same company I think – Swizzler May 13 '17 at 14:21
  • this post is rather hard to read (wall of text). Would you mind editing it into a better shape? – gnat May 13 '17 at 14:25
  • 2
    It's true. Do you remember ColdFusion? Dying platform but since many companies were suckered into that crap, they need developers even years down the road to maintain it. So here's the plus side, learning Ada is career suicide and the number of jobs available are miniscule BUT for the few jobs that ARE hiring, you'll receive top dollars. COBOL and FORTRAN developers are still in demand because of how niche the skill set. – Jack May 13 '17 at 15:40
  • You really shouldn't care too much about the programming language. Is the new company in a field that is interesting for you? Usually Ada developments are for real time systems and the environment for developers is not so much 'agile' but process heavy. That would be my biggest concern. – LaintalAy May 13 '17 at 16:17
  • 4
    @user3343534 If you take the job then you will have years of experience with Java and C# as well as Ada. And a higher salary. I don't see what your current boss says about Ada is relevant if he doesn't use it. – Brandin May 13 '17 at 16:37

First of all I would be careful of your boss's opinion as it will be a financial loss to them for you to leave. There is all the costs associated with finding and hiring a replacement to you as well as all the lost opportunity costs of not having an extra body to do work. Thus it is in his interest to keep you around. His counter offer is an example of that. (Especially if he is actually underpaying you - all those potential new hires will be demanding industry standard salaries!)

Secondly. I am aware of Ada but have never used it and have no clue as to where it is used. But with a little google fu I found this site:

Who's Using Ada? Real-World Projects Powered by the Ada Programming Language November 2014

While being a couple of years old, you can see that there is a huge number of prominent projects that use Ada in many different fields. It is up to you to decide if you want to work in these fields.

Thirdly. I have been programming various languages for longer than I care to remember. IMHO one of the key things is that no matter what the language, the principles of programming trump the syntax. So becoming skilled in one programming language will always help you in other languages in the future. I also feel that dealing with Ada's reputation for enforcing restrictions will certainly enhance your abilities with languages that are less restrictive, as you will be much more aware of their "sloppiness"

Fourthly. Just because you go down the Ada path doesn't instantly cut you off from the rest of the world. There are many ways you can keep your Java/C# skills current at the same time. For example following things on Stackoverflow, working on OSS projects etc.

Fifthly, working in a language that is considered a niche can be an advantage in the long term. It may not look sexy and up to date, but the sorts of projects that use such languages do so for a good reason yet have only a limited pool of talent to draw from. Hence it makes it potentially more lucrative. For example look at the demand for COBOL programmers right now!

Finally. You obviously want out of your current position as you have been applying for other jobs. I can't tell you if Ada is right for you, or in this new company is reputable or worthwhile, but I can tell you to go with your gut feeling. Just remember that is not a lifetime committment.

BTW check out this question: Learning Ada: Source Code and Newbie “Forum”?

| improve this answer | | | | |

Aside from earning money, working also gives you experience that opens up new job opportunities.

As a programmer, a substantial part of your job skills are specific to the programming language you use. Your job today therefore does not just affect your current work and salary, but also your future work and salary.

Your boss thinks that Ada is a language with a small and shrinking market. If so, it could mean that you'll have trouble finding a job in Ada in a few years, and would have to switch languages, with the corresponding reduction in salary (your Java and C# skills will be dated by that time, and less marketable). If instead you had continued working in a "language with a future" you would have more jobs to choose from, and a higher salary.

To assess the validity of that argument, I would research the Ada job market in your region, as well as how that market is likely to change in the next decade. If the market looks like it is about to vanish in the next decade, I'd budget time to retrain in current technologies (i.e. set aside part of my income for that future expense) unless I was nearing my retirement.

I'd also look into the kind of software Ada is used for, which is quite different from what Java or C# are commonly used for.

Ultimately though, you must assess yourself how switching to Ada will affect your long-term quality of life. Aside from financial matters, I'd also look into how much I'd like the work.

| improve this answer | | | | |

Your boss is correct.

They have a higher salary because they can't find any Ada developers. It's the same reason COBOL and PeopleCode developers are paid so highly. The skill set is niche but they operate important systems so companies need someone to maintain their legacy code.

Learning Ada is career suicide.

The plus side to all this is if you are proficient with a niche skill set, you can then go on to be a consultant to make big bucks. Ada will die within a decade. But those legacy systems that run their whole business operations? They still need to be updated.

| improve this answer | | | | |
  • 4
    Shortsighted view to say the least. I would care more about the industry the job is and if it is of any interest to me to pursue a career in it. Ada is used for real time software which is a completely different field than Java or C# and will be of course fine and thriving in 10 years. – LaintalAy May 13 '17 at 16:09
  • 2
    Showing the aptitude to easily pick up another language seems like a positive to me. – Sean Houlihane May 13 '17 at 17:23
  • 1
    Why exactly will Ada die within 10 years? It's use case is safety-critical systems, so the overlap with C#/Java isn't that big. Besides the fact that Ada is used in many aircrafts which will operate the next 30, 40 or 50 years, – Simon May 13 '17 at 20:54
  • After learning Basic, C, C++, Fortran, Haskell, Java, JavaScript, Python, Prolog and certainly a few more languages that I can't recall right now, I wouldn't want to learn Ada, it is obviously a career suicide... – lvella May 13 '17 at 21:26

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