paint-brush
If You Want a Job at FAAGM, Which Programming Language Should You Learn?by@quoraanswers
1,342 reads
1,342 reads

If You Want a Job at FAAGM, Which Programming Language Should You Learn?

by QuoraDecember 13th, 2017
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The short answer is, don’t worry about the programming language. Any company (but particularly a large one) that is hung up that you know language X, but not language Y is a company for which you don’t want to work. Seriously, because it means that company is staffed by people who think that languages are really important to whether you are a competent. Languages are a tool, like a saw. Whether the saw is manual, table or laser is less relevant than understanding the basic principles of wood and how cutting it happens. There are plenty of people who know Java and are terrible engineers, it isn’t relevant knowledge to test.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - If You Want a Job at FAAGM, Which Programming Language Should You Learn?
Quora HackerNoon profile picture

By Justin Mattson, Senior Software Engineer, Fuchsia at Google (2016-present). Originally published on Quora.

The short answer is, don’t worry about the programming language. Any company (but particularly a large one) that is hung up that you know language X, but not language Y is a company for which you don’t want to work. Seriously, because it means that company is staffed by people who think that languages are really important to whether you are a competent. Languages are a tool, like a saw. Whether the saw is manual, table or laser is less relevant than understanding the basic principles of wood and how cutting it happens. There are plenty of people who know Java and are terrible engineers, it isn’t relevant knowledge to test.

With a language it is important to understand what’s happening with the memory, how is the language using pointers, the stack, etc. C, C++ and similar languages make you know this, so it is good to understand these at least once, even if you never use them again. This way when you use Java, Ruby, Python, etc you’ll have a better intuitive understanding of how your design choices are translating into actual memory operations.

Finally, don’t learn just one, learn at least two, hopefully three. This will give you a better sense of what feature are often common to most languages and what things differ. The things that differ are hints about the things that cause problems in software development. This will help you understand when you set out to build something whether you should use C or Python or something else, because each language has its advantages based on the problem you’re solving.

Finally, finally while the specific language knowledge you walk in the door with is largely irrelevant (hey, Go didn’t exist 10 years ago), be an expert in the language you use because if you say you’re an expert in Python and then can’t use it properly in the interview, that is a problem.

By Justin Mattson, Senior Software Engineer, Fuchsia at Google (2016-present). Originally published on Quora.

For more trending tech answers from Quora, visit HackerNoon.com/quora.