Stack OverflowIs it possible to start a new job with a language I have little experience in?
[+13] [14] Rabskatran
[2010-02-19 15:07:41]
[ programming-languages career-development ]

The question is how to succeed to escape from the job you are very good at.

I worked 12 years with the same language for 2 different companies.

The easiest for me is to search another company which is using that same language - again. But, what if you want to work in another environment? Even just another language ?

I find it very difficult to be "credible" for this new job where it is asked to have a strong experience in a language, that I never worked with on a professional scale. What would be one path to be able to switch ?

(8) Your only barrier at this point seems to be a lack of self confidence. - ChaosPandion
You're not totally wrong in some way ;-) - Rabskatran
(1) @PierreW: You're not alone :) We programmers have brittle-confidence at times. - Jonathan Sampson
at some point in each position you're a beginner. the question is always whether or not an employer can deal with you learning on their dime. companies that can do this are typically going to be easier to deal with as they 'get' SW engineering. search them out as you should find them better places to work. - KevinDTimm
if it's closed as not programming related, so should all of the 'when did you know it was time to leave', 'how did you get your first job', 'what was your first job', etc. There are dozens and dozens of posts just like this - that speak to skillsets but not specific skills. - KevinDTimm
But the question is a meta question about the specific to skill-set of programming; How do you measure (or assess) programming language experience vs. programming experience independent of specific language(s)? Would a reformulated question be suitable? - mctylr
What can summarize this thoughts about the "closing" of this question is the fact that I got the "Nice question" badge for this one :-) The server agrees with us. - Rabskatran
@kevindtimm: Maybe they should (and many do) get closed; it's a grey area and the landscape on acceptability has changed since the earliest questions. However, this question appears more relevant than most career questions, so I hesitate before close voting. - community_owned
Duplicate:… (and likely many others) - gnovice
[+16] [2010-02-19 15:11:52] Jeremy B.

Any company that doesn't understand that a language is simply a tool for getting the job done isn't worth working for IMO. If they cannot see the value of experience programming, which goes so far beyond simply what language you use, are they really that great a company? The principles, experiences, practices you pick up are worth much more than simply knowing some syntax.

Right on target, you may be a little slow for the first couple days as you pick up the language syntax but as soon as you're comfortable the language-agnostic experience kicks in. Also, you will probably spend weeks longer learning the system itself so the language is the least of your troubles. - ChaosPandion
(1) Is this a little simplistic. If you are competing against people with similare, but have proven experience in the new language this is a problem. - btlog
@btlog - I won't argue against that you may be at a disadvantage against competing prospective employees, BUT that if the company will not even consider you because you do not have extensive experience in a particular language, they are missing the majority of a programmers skill and experience. - Jeremy B.
A lot of companies reject people based on the versions of the tools they've used (like SQL 2005 instead of 2008, or worse MySQL). I have never ever seen a company, that would hire someone without a knowledge of the specific language they use. A lot of companies are like teenagers these days: they want results right here, right now, and are not willing to wait. - Egor Pavlikhin
[+2] [2010-02-19 15:12:31] Benedict Cohen

Languages are just a tool. The vast majority of a programmers core skills are language agnostic. I'd focus on those skills.

(2) That's exactly what I think. But I've been totally amazed that "they" were searching after syntax and framework expert instead of talent or competence... Exactly as you wanted your plumber to perfectly know your exact model of washing machine, instead of been good plumber! - Rabskatran
(2) That's because the first hurdle in "they" is usually non-technical HR staff who are looking for the same tools match, instead of finding a skilled worker who could quickly adapt to any set of tools. - mpez0
Yes. I totally agree with you ! And I think that's also the reason why job announcements are so strange int the computer sciences world. Just as "they" don't look after human beings. - Rabskatran
[+2] [2010-02-19 15:10:50] Jonathan Sampson

The clear-cut simple truth is that you shouldn't take a job you aren't qualified for. If you don't feel qualified, don't accept the position, for your own good and the good of the employer. If you've got 12 years in a language, seek out employment for that. If you want to explore other options, start to dabble in new technologies off-the-clock, and when you feel comfortable enough with them, either attempt to work them into your current environment, or seek employment where they are used.

[+1] [2010-02-19 22:09:05] dsimcha

Apparently most of those "strong experience in langauge X" statements are put there by HR people who know nothing about programming. Any decent programmer can pick up a new language in a paradigm that he/she is familiar with pretty quickly. If you use C++, for example, learning Java or C# or D or Python (enough to get the job done, not necessarily guru-level knowledge) should be a breeze. Unless I was bringing in a consultant to hit the ground running on a very short term basis, I would always hire for language agnostic skills rather than knowledge of a specific platform, language, framework, etc.

[+1] [2010-02-22 15:20:37] JB King [ACCEPTED]

If you want to work in another environment or language then you may find yourself coming down a little on the career ladder,e.g. going from a Senior developer to an intermediate or junior developer. That's just how I'd see handling that. It isn't the end of the world if there are major environment changes that help improve your overall health, which includes physical and mental here.

As for credibility, there is the question of what level of coding is needed in a new position. If you are going to be mentoring intermediate developers that are expected to know the language, then there may be other knowledge you are expected to use in the position,e.g. knowing how to pair-program, run a Scrum, architect a solution, which design patterns may make sense, etc.

Last but not least is that in most large companies, chances are that the environment will be a mixed one and so it isn't like there is just one language that is used everywhere. Where I work we can run into any of JavaScript, C#, VBScript, or VB6 for the usual suspects but there is also MS-SQL Server and Oracle back-end parts that may give one the ability to pick up more of one if they want to use that skill possibly.

[+1] [2010-02-19 15:13:30] James Curran

In my spare time I work on personal projects, trying new technologies. Hence I used C++ for 4 years before anyone paid me to code in it, and C# for two years. Look for positions that use both technologies --- They'll hire you to work on the legacy code, but if you demostrate you are good, you move to the new stuff soon enough.

[+1] [2010-02-19 15:18:06] Garry

I did exactly that. I spent a few years doing COM+ (VB) and the like. Then got a job using C# of which I minimal experience. It was my platform agnostic background and willingness to pick up any language required that they hired me for, not a particular language skill.

Their response to my saying 'Just to be clear, I don't know C#' was 'Oh, don't worry, you'll soon pick it up'. Which I did.

So, yes I'm lucky to find an employer who sees things as they should be, but it proves they do exist!

[+1] [2010-02-19 15:32:58] SDReyes


Hi Pierre,

You have a strong programming experience, and it has a great value.

I suggest you to do not be afraid of a change.

We love and admire people that is able to implement and create solutions using design patterns in a elegant and original new way. systems that reflect experiences from far away lands, like the VB, COBOL, ANSI C meadows. this could be very challenging you -in the good way ; )

I'm sure you will come with fresh solutions, that nobody else had even imagined -trust me.

So Yes you could : )

[+1] [2010-02-19 15:36:33] gerryLowry

You do not specifically state whether you are currently employed.

If you are unemployed and you've bills to pay, you may have fewer choices than if you currently have a reasonably secure position.

Assuming you are currently employed, do you really need to leave your position? If there are features of your current position that you would like to change, have you tried working with your manager(s)? There's an old saying, sometimes true: "Better the devil that you know than the devil that you do not know".

So, it may be time for self assessment for you ... perhaps you'll already done that.

Next, is it the job you want to change or would a change in career bring you more happiness? You only live once. You may want to explore other career options.

As for languages, the more you know, the better. I've been programming for 40+ years and still consider myself a beginner in many ways. Our tools evolve constantly. When I started, c# did not exist. Fortunately there are similarites to languages I already knew. However, there are also differences, some subtle, some less subtle.

If you're going to pick a new language to make yourself more employable, you might want to look at what employers want. Another approach is to attempt to get ahead of the pack by adopting a new language early, for example, F# from Microsoft.

Unfortunately, language alone is not enough. Language is actual a very small part of a much bigger picture. For example, to become a web programmer using ASP.NET MVC, depending on your current background, in additon to learning c# (or vb), you may also need to learn HTML, XML, CSS, SQL, et cetera.

As for finding a new job, the reality is that know who often means as much or more than know how.

Whatever direction you take, it appears that you have many challenges ahead of you. I suggest that you embrace ongoing learning to get you to your destination. Good Luck!

Gerry (Lowry)

Thanks for your response. Even if you're (virtually) talking to me, I'm sure it will help others with the same interrogation. - Rabskatran
[0] [2010-02-19 15:37:52] Rafa de Castro

We are not programmers because we know how to code in a given languaje. We are programmers because we know how to solve problems.

You can use this knowledge in every aspect in your life.

[0] [2010-02-19 15:34:53] btlog

On way to do it is to work in a company that uses the language you are experienced in and where you would like to go. It is easier to show your value once in the door.

Additionally your domain knowledge is usually at least as important as language skills. Finance industry is classic example.

[0] [2010-02-19 15:13:39] marcgg

If you managed to become a guru once, there's no reason you could do it again.

Of course either you accept a job with a lower level of responsibilities to learn the langage and then quickly move up using your previous experiences, or you start learning this new langage on your own.

You can't really sell yourself as a "guru" if you don't know the langage or ways of working with it. But in the end langages come and go, what counts is the capacity to adapt, and that's what you'll need to explain to potential employers.

[0] [2010-02-19 15:15:58] ScottD

IMHO tech jobs are more about critical thought than specific languages. Sure there are tricks to learn about any given language that you can only learn over time and, in that light, some might see you as being 'behind' others. But that's really just a matter of semantics. It's less important that you know how to do foo in C++ than that you understand that foo needs to happen and have problem solving skills to achieve that end.

There are far too many languages/tools in this industry for you to be proficient at everything. If you love being challenged and aren't afraid of learning you will always succeed even if success means learning your limitations.

[0] [2011-07-19 15:29:45] PeyloW

There are generally two kinds of programmers:

  1. Those who have learned a programming language by heart.
  2. Those who have learned and understand programming.

The vast majority of programmers I have met in my 20+ years writing code falls into category number 1. They are people I would never hire. They are the programing equivalent of guitar players who have learned Stairway to Heaven, but would never ever be able to just improvise a few notes that sound good.

People in the second category tend to be productive with any new programming language you throw at them in a few days. They are the programmers equivalent of guitar players who can jam along.

Just ask yourself, are yo a 1, or a 2? If the answer is 2, just go for it!