29

Let's say you are a very skilled Symfony / PHP developer and want to apply for a job at a company that uses C# / ASP.NET. Your motivation to work at the company is not because of C#/ASP.NET, you want to work there because the company is awesome.

In the event of applying for the job they might say: "You don't have experience in C#. You can't work with us". On the other hand, PHP and C# are both object-oriented programming languages, they are not the same, but they are similar, so they might say: "You can work with us because of the resemblance between those two programming languages / frameworks".

The questions:

How to write a CV if you don't fully quality for the job offer?

How to behave if you want to apply for a job but don't fully qualify for the job offer?

7
  • 85
    It’s not necessarily “awesome” to work for a company that is “awesome”.
    – gnasher729
    Aug 17 at 7:27
  • 12
    Absolutely depends on the level you're at. I just landed a job that's primarily node/js, despite 80 percent of my career being in .NET. Sell your problem solving skills, not your language skills
    – Ian Jacobs
    Aug 17 at 23:22
  • 2
    Are you looking for answers specifically within the software industry context? "How do I apply when I don't meet all the criteria?" is a question that arises everywhere, so there are some more generic points that could be mentioned, but probably wouldn't be so useful if you're only asking about cases like the one in your example. Aug 18 at 0:41
  • 1
    @gnasher729 I have worked for, and contracted with, more than a few “cool” and supposedly “awesome” companies and these were quite miserable experiences. Not always the case, but don’t just a book by its cover. Don’t judge a company by its public image. Aug 19 at 0:09
  • 3
    Do you know PHP, and that's it, or do you know 4 languages but just not the one they need? Because at a certain point, learning the next language (as long as it's not Haskell or some other fundamentally different language) is merely a question of two or three weeks. However if you can't program language-independent and just know PHP, learning your first second language is a HUGE step
    – Hobbamok
    Aug 19 at 8:39

8 Answers 8

61

Well, liking the company will give you a bonus with CEOs and HR people, but for the people actually interviewing you and evaluating whether you can do the job, it is basically worthless.

If I interview people that do not fit exactly what we are looking for, there is two big points you can score:

  • You are missing a key skill, but you have many, many other relevant skills already. For example you don't know C#/ASP.NET, but you probably do know git, SQL, HTML, networking basics, how a linter works, how a ticketing system works, maybe Scrum/Kanban/Whatever else is in use. So you are not a junior in everything, you are just missing one particular skill. That is a big selling point over an actual junior. Because one skill is rarely used in a contextless void, you just cannot put all the context in a tiny ad.

  • You are expressing motivation to learn that particular skill. If someone comes across as having to take this hit, having to learn this language to work here, I know they will never actually learn it to the level we would like. Without intrinsic motivation, they will always be "just good enough" or less. However, if someone says "I always wanted to learn this skill, but never had the opportunity and then I saw your ad and thought this could be my chance to actually make that happen" that's a completely different matter. That person wants to learn that skill. And with that motivation, they will become good at it.

9
  • 16
    Don't entirely agree with the second point. I never wanted to learn java, nor typescript, but I did both and good enough, or above (because that's how I work, not because I grew to love java - I didn't), because the domain and architecture was nice to work on and existing systems just required me to use those languages. Noones complaining because being a language expert is seldomly actually required (I am glad there's one experience java-er in the team, and I am the TS team expert now with ~1a experience - we will be getting rid of it eventually).
    – imsodin
    Aug 17 at 15:36
  • 29
    I think I'd be a bit wary of someone who claims to be motivated to learn C# but hadn't taken any steps to do so. OTOH if they had worked through a tutorial and solved some leetcode type problems they would have demonstrated that motivation. Aug 17 at 17:02
  • 10
    I am not sure I agree it is only interesting for the ceo and hr. I'd much rather take a weaker cv if the person clearly wants the job and is willing to work for it, given that the strong cv interviews non commital. Aug 17 at 18:28
  • 1
    I think the big problem here is that YOU know that previous C# experience is irrelevant because every job involves learning new tricks and you know you're good at learning new tricks because you've done it so often, and all modern programming languages are very similar anyway. But you don't know if your interviewer would agree with you. Even if they do, it's handy for a recruiter to have a simple and crude way of eliminating half the candidates even if some of them might be great at the job. I would focus on selling your experience of learning new things quickly. Aug 17 at 21:37
  • 3
    @MichaelKay Whether it is irrelevant depends on the role. Some roles need someone to do something fairly basic where you can quickly and easily pick up the new syntax and start building things, but some roles require a deep knowledge of the language and how it works, along with the patterns and build tools commonly used with that language. In the latter case, the employer is likely better off with someone who already has experience with that language. I could easily pick up a new language, but I would likely not be as effective, as quickly, as someone who already knows it.
    – rooby
    Aug 19 at 4:22
22

Whatever you do, DON'T LIE.

You WILL be found out in the interview. You just will. There are certain things about every programming language that you really only hit by using it to build non-trivial production-ready software on a regular basis but pretty reliably encounter when doing the same.

Interviewers who are probing for weakness are going to ask about these. Or pick interview problems where those considerations apply. So do not under any circumstances lie about your C# experience.

To frame the exact same point differently, if you do lie and they don't figure it out it's actually a signal that you probably don't want to work there.

If you are really an experienced well-rounded developer then write your resume to highlight the generic reusable parts of your skillset. Writing code in your primary development language is only part of being an experienced web application developer. You've got web server configuration, CI/CD pipeline setup and maintenance, cloud services, docker, knowledge of HTTP, SEO, basic architecture, basic SQL and database normalization, Javascript, HTML, CSS, medium-to-advanced git usage, principles of Object-Oriented design, basic Functional Programming concepts, and the list goes on.

You may not have done all of that stuff, but if you are mid-career you probably should have at least touched more than half of it and a developer who can do all of that can almost certainly get up to speed quickly in any mainstream web development language/framework.

If you haven't done most of that then consider getting yourself into a better situation with those qualifications in your current job. Also, and hopefully it goes without saying given my opening sentence, don't lie about your qualifications in those spaces either.

I interviewed a candidate since I first wrote this answer who listed experience with Kubernetes on their resume. That conversation went like this (NOTE: for some context the candidate was already absolutely bombing the interview and their resume was apparently a work of pure fiction, I don't normally have this combative a style of asking candidates questions):

Me: "I see you have experience with Kubernetes. Can you tell me, in broad terms, how to set it up from scratch?"

Candidate: "Well, I've only worked with it a little, and I'm interested in working with it more and learning it more deeply."

Me: "Me too, that's a big part of why I came here in my current role. Since you say you have worked with it some though can you tell me the command for invoking Kubernetes from the shell?"

Candidate: "...I don't know."

Me: "DYHAQFM?"

14

Here's my 2 cents, hope this helps...

Try to sell "whatever you don't know" as the reason you're interested in joining the team: you have a passion for learning new things (lifelong learning is the keyword). Also point that learning "that thing you don't know" is the key to your motivation, you would not even apply if you already knew how to do the job from A to Z.

Of course pointing at the skills you're missing seems weird, but it does not change the truth: you don't have the skills they need yet, so it does not make much of a difference if they find it out on their own or if you say it straight.

Your PHP skills already prove that you have the potential to learn what they need: you can teach C# to someone, but you can't teach him passion for a job.

SO to answer more specifically, I would adapt my motivation letter, not my CV. Leave the CV unchanged, you're not lying.

Also... start reading a C# book, doing tutorials so that if you end in a technical interview you're not completely lost.

10

Given how optimistic some companies are when writing their job descriptions, I'd think that few people would ever have all the skills identified as required or desired for the position.

The best thing that you can do is to compare your CV (and cover letter, if using one) against the job description and match up as many of the skills and experiences as possible. It would be up to the company to decide what they are looking for. In some cases, they may really want someone with deep expertise in C#. In other cases, experience with similar languages and frameworks would be acceptable. You probably won't get this information from the job description itself, so you'll have to submit and see what happens.

If you're selected for an interview, some companies expect you to use their technology stack for technical portions of an interview. Others don't care about the tools and technologies that you use, recognizing that languages and frameworks are things that can be learned on-the-job, especially with related experience. If your application is accepted for interviews, you can have a conversation about this with the people who reach out to you. Time permitting, though, you may want to learn a little bit about the tools and technologies used by a company should they require you to use those during your interview process.

If you continue to go through the interview process, you can draw connections between your past experiences and the knowledge and skills that the company needs. You may have worked in similar problem domains, used similar tools, or have some other transferrable knowledge.

At the end of the day, though, it will be entirely up to the company to evaluate you against what they are looking for and other potential candidates.

2
  • 2
    Indeed, it's not uncommon to see job ads that demand 5 years' experience in a technology that only came out last year. Aug 17 at 21:39
  • I don't think I've ever had 100% of the skills the job description required for the positions I've been hired for. In fact, the "rule of thumb" was to apply for jobs where you had at least 50% of the JD "requirements". That's changed in the past 5 or so years, seemingly to be +75%. However, in the past 2 years, it seems to be more like 125%, where they expect people to have skills not on their JD to be considered for a job. I've had more than enough job hunting experience to see these patterns emerge. Aug 18 at 18:19
8

So far, you've received some good advice, but there is one critical piece of advice that's missing. And that's the fact that non-technical gatekeepers rarely have much leeway in giving you the benefit of the doubt.

So whatever you do, do not submit your resume in cold. Either try to contact the hiring manager directly, or try to get a non-HR employee to refer you.

Worst case scenario, that person you contacted will still tell you to submit your resume through the official web portal of the company and affix the right job number to it, but even if that's the case, you can still say that so-and-so told you to submit the resume through the web portal.

Personally, I used to work as an HR intern 25 years ago for a very large national laboratory, and when I received such resumes with referrals, I was instructed to make sure those resumes would show up on top of the screen in the database (and on top of the pile of resumes when on paper).

This was because our department didn't want to be accused of losing resumes. So if a cover letter mentioned an employee by name (as a possible referral), it was marked as such in the database.

I can't stress enough how critical this step is. If your resume doesn't match the right technical keywords, the non-technical HR recruiter (or the 3rd party recruiter) will just toss it in the basket, or place it at the very bottom of the pile (which essentially has the same effect). Because of legal requirements, we didn't actually throw away resumes into the basket (but you guys know what I mean).

So do whatever you have to do, do your research, go to meetups, go to job fairs, go to trade shows, don't be shy, use your LinkedIn network, use Twitter (many people have open DMs), try to reach the hiring manager by phone, guess someone's email address (but don't attach your resume unless they ask because most people are wary of viruses), etc. Just don't send your resume in cold.

On the other hand, PHP and C# are both object-oriented programming languages, they are not the same, but they are similar, so they might say: "You can work with us because of the resemblance between those two programming languages / frameworks".

Also, when making this argument, do not stress the fact that Symfony/PHP are similar to C#/ASP.NET, that could easily lead to a religious discussion about programming languages (which is not what you want).

Instead, stress the fact that your ability to learn of programming languages is excellent.

4
  • "Instead, stress the fact that your ability to learn of programming languages is excellent." - Except the OP mentions knowing one language. Maybe hold off on making that point until you speak at least 10.
    – Ray
    Aug 18 at 17:15
  • 1
    "Maybe hold off on making that point until you speak at least 10." @Ray, Personally, I would much rather interview an enthusiastic candidate who claims he knows one core language fluently (even if it's the wrong language) than a candidate who claims he knows 10 languages fluently. And that's because of the "forgetting curve". It's actually very difficult to maintain true fluency in more than one/two core programming languages (let alone 10 different programming languages!). Aug 18 at 20:45
  • I don't disagree, if that's what they're claiming. But if the interviewee is instead emphasizing their ability to learn languages quickly, then 1) they need more than one data point to back that claim up, and 2) I won't believe them if they've only learned one. It's possible to learn languages both quickly and well, but only if you're already familiar with enough languages that most of the new stuff is similar to things you already know. If anyone claimed to learn their first language in a couple weeks, I'd assume there's a lot that they don't know they don't know.
    – Ray
    Aug 19 at 14:08
  • I should also add that I didn't mean they need to be currently fluent in all of them; you're spot on about the "forgetting curve" (although I'd put the number a bit higher than one/two; you won't always have the right tool for the job with just two). Just that they need to have learned that many.
    – Ray
    Aug 19 at 14:49
7

Cover Letter

I believe this is where a good cover letter can come into play. This is how I landed an Android developer job, in fact, having no professional experience at all in working on Android apps. I was a C/C++ developer, professionally, but had learned Java and Android API in my own time, had an app I had developed on the market, and in my cover letter I explained all that.

I think it helps a lot in cases like this because it can set the tone for the interviewers. I was still quizzed on Android app development topics and I still needed to know that stuff but it was not apparently held against me that my years of experience were not in what they were hiring for.

Although this also brings up a basic concept that I often tell people: what a company says they are looking for and what they are hiring are not necessarily the same thing. What they wanted: an Android developer with 5 years experience writing Android code. What they took: a C/C++ developer with 10 years experience and about 1 year personal free time experience making Android apps.

In the end, the company needs a butt in a seat to start working on a project. The more specific their requirements, the less likely they are to find exactly what they're looking for and the further out they will be willing to look. Had some Android wizard applied I'm sure they'd have hired him rather than me but I heard later that I was the only applicant that showed any knowledge at all about Android.

So: work on your skills in the area you want to do work. Apply with a cover letter explaining any personal growth you have gained in that area (and any recent, relevant classes you may have taken), and explain your interest in it and then list your real work experience on your resume and the absence of specific experience will be explained by your cover letter.

1
  • 1
    This must be marked as the correct answer - CV is the place for your technical skills, and cover letter is the place to describe why you apply for that position & company specifically.
    – Pecheneg
    Aug 19 at 10:43
5

PHP -> C# is a bigger jump than the OP is describing. The OP should put in some [rather serious] homework and demonstrate some reasonable C# home project[s] to warrant serious consideration. the 80-90% of the work to learn the new language will remain but it would show that at least they are launched into it and in that mode.

The data point that the OP says this is likely a modest/easy jump also likely reflects a more general under-appreciation of the effort involved in learning the ecosystem of a language. The libraries and tools take up as much effort or possibly more so than the grammar in many cases. But in this case - given C# is a significantly more complex language than PHP - both the grammar and the libraries/tools are a significant amount of effort.

1
  • Yeah for sure, I hope OP is at least practicing for the job they want, in their free time. If we were hiring for C#, and saw only PHP on the resume, that would be "ehhhh" but with a good cover letter explaining that they have C# ability, that would be far more likely to get their foot in the door for an interview....and then they'd have to pass at least a rudimentary C# programming test.
    – JamieB
    Aug 20 at 1:31
2

I've been on both sides, like a lot of people.

First, let me tell you about a job offer, at the beginning of the last decade. They were looking for an iOS developer with so many years of experience that only the people having developed iOS would qualify (as in, the amount they asked for made it necessary to have started working with iOS prior to its initial public release).

You do not need to match all the long list of requirements. Research the area, learn as much as you can, find ways to show how it actually relates to what you've done. C# is better than PHP because X, oh, they also have a lot in common on this and that....

As it's been advised by other, don't apply in cold. First, gather as much as you can about the company, and try to get to talk to the person that will do the technical interview. Discuss the company, discuss their product, show your interest, relate to the company/product, you might have things in your career that had similarities. You did symphony, probably on top of an ORM. It so happens you have researched the Entity Framework and you find it very interesting.

As far as I'm concerned, the goal in such conversation is to reach the point when the person I'm talking to, after 5-10 minutes of chat, actually asks if I could send my CV because they really want to interview me. Now if that doesn't happen, that's not necessarily bad, of course. They will still be able to recognize your name.

I had an open position a few years ago, and someone called me, started chatting about it casually, asking about the company, telling me how they were doing things in the same field and loved it... I was very aware of what was happening, but they made a very compelling case so... after a pleasant chat, I asked them to please send me their CV.

You must log in to answer this question.

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