I've been researching backend engineering jobs and I am confused how one could become a backend engineer. The requirements aren't only one language.

I've learned NodeJS/Express, MongoDB, Ruby/Rails but not the native SQL language.

Now finding a job here is difficult because companies require so many unorthodox tools. I had never even heard of docker, redis, dynamoDB, and all sorts of things.

Is it better just to give up on backend? Can I still get interviews if I don't know all the crazy languages?

closed as off-topic by Masked Man, Philip Kendall, Chris E, gnat, Xavier J Jan 3 '17 at 18:21

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking for advice on what to do are not practical answerable questions (e.g. "what job should I take?", or "what skills should I learn?"). Questions should get answers explaining why and how to make a decision, not advice on what to do. For more information, click here." – Masked Man, Philip Kendall, Chris E, gnat, Xavier J
If this question can be reworded to fit the rules in the help center, please edit the question.

  • "Backend" can cover a wide range of different technologies and languages as you don't mention Tibco or Enterprise Service Bus or other stuff that comes to mind when I think if the middleware to databases that make up a backend so perhaps you'd be better figuring out what specialties you want to have rather than specific tech. – JB King Jan 3 '17 at 5:30
  • Entry Level, You're looking for entry level. Get yourself a little bit of experience with installing SQL databases. A little bit of experience with SQL itself. A little bit of exposure to Rapid Deployment tools (that's what Docker is) And you'll have all you need to get an entry level job in Backend support. From there, you'll find what you enjoy and can practice/train in the area that interests you the most, and work towards higher responsibility(pay) roles that use the things you enjoy using. – TolMera Jan 3 '17 at 7:59
  • These days knowledge or experience in many languages, tools, platforms etc is the norm. If you for instance only learned Java in college and expected to get a job I think you'd have a hard time as typically there are a lot of other skills necessary such as database, api development deployment etc. – The Muffin Man Jan 4 '17 at 18:49

If you want to know what is required to become anything, read the relevant job postings, and acquire the required knowledge and experience - it's that simple.

In your case, if you are seeing SQL Server as a backend engineer requirement and you don't already have that experience, learn it. The same holds true for "docker, redis, dynamoDB, and all sorts of things".

Remember that every company will have different requirements, as no two jobs are exactly alike. Learn as much as you can, and learn how to quickly learn a new tool or technology. You don't need to fulfill every requirement immediately, but you must be able to get up to speed quickly.


Can I still get interviews if I don't know all the crazy languages?

Absolutely! Everybody's tech stack is different, no reasonable hiring manager is going to hold out for someone who just happens to know every piece of their stack already because that person doesn't exist. They're going to hire someone who knows the piece that's most important to them and let them learn the rest on the job. I've never used the exact same stack at two different jobs (most of them have been fairly similar but none exactly the same), so I've never started a job already knowing their exact tech.

At my current job, all I knew coming in was the core language we use on the backend, which is Java. I had never used the particular framework we use, I had never touched Mongo before, I had never used AWS for anything, and I had never even used git before. But I had a lot of experience with java and with development in general, which gave my now boss confidence I'd be able to learn the rest of our stack.

Now finding a job here is difficult because companies require so many unorthodox tools.

Whether you know this for a fact or whether you're assuming it based on your research, the way around it is networking. Go to local meetups for backend devs (if there aren't any in your city, starting one would look great on a resume), make a token effort to be friendly (offer to help tidy up and the organizers will love you), and you will meet people who either are hiring managers or who can introduce you to them.


Frontend also require lots of crazy languages, it depends on the company. So just because one backend development job needs language A, it doesn't mean another job will also need that language. That's why you should only apply for the job that mostly fits you, or that you are willing to learn for.

Development will always require some kind of learning, expecting all companies to use the same technology is daft. In the end, some technologies fit certain company's needs and others do not.

As for will you still get interviews, if you mostly match what they are looking for, yes. Companies are generally looking for someone they can invest in and take on for the long term. Teaching you a technology to fill a small gap in your knowledge isn't a big problem (For most companies) if they think you're worth it.

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