I’m not in software, but I️ see that company hopping amongst the major leagues happens quite frequently. I’m going to do a brain dump of a series of questions. 1.) Is there a common programming language that would benefit you across all of them? 2.) What would you be expected to know as a new grad who would be picked up directly into Google or Facebook? As far as both breadth and depth of knowledge. 3.) I️ am a voice engineer by trade, but happen to be in network ops right now (because company, benefits, pay). I️ see most IP telephony positions top out around 80-90k. Is this range expanded on the west coast? Or would I️ have to retool my skill set to get an increase in income? I’m thinking solutions architect or similar would be inline with my career but I’m not 100%.
there is no common programming language. different teams in the company use different languages. you'll need solid programming skills (any language will do) for programming jobs. go over to leetcode.com for a taste. that said, programming jobs aren't the only jobs in these companies. even in engineering, there are jobs like network engineers, site reliability engineers, security engineers, etc who know code, but don't code on the job nor have to face coding questions in the interview. look at the requirements for such jobs. if you have those skills, you can still score a job in those companies without coding.
PMs! You forgot the PMs!
Language-wise, just don't use something with a stigma, such as VB.
PHP
So if I️ study VB.net, Coldfusion, and Go, I’d be a solid SWE candidate for Apple, right?
C muthafuckin plus plus
- python, Java, c++, go, php (fb only), Javascript. Occasionally Ruby. I've been asking around top companies for their stacks and it's basically always one (or more) of those. If you're looking for a good programming language for both interviews and on the job, I recommend python.
Bring PHP to a Google interview and you get laughed out of the room. :) Google canonical languages are c, python, Java, js, and go
That's why I said php is fb only!
Python, C++. These were both required on every project I was part of at Google and now at Microsoft as well. So I consider these two the core. Of course I also know C#, Java, various others, but C++ and python are what’s needed in the teams I’ve worked on. As for knowledge: you need to have good understanding of algorithms to pass the interviews, as well as being a fluent coder to implement them. Things like trees, graph search, dynamic programming, and generally solving random problems that require a fast solution using hash tables. That’s the bare minimum for passing these interviews; the more deep knowledge and experience actually coding software projects the better.
If you make 80-90 on the east coast, expect 2x on the west coast.
Scala for the win.
Pseudo code
Diverting the conversation every time a code question comes up?
1) java, python, JavaScript, ruby, csharp, c 2) data structures and algorithms are the two big ones. Knowledge of design patterns and distributed systems also doesn’t hurt. The big thing is just being able to pick up things and learn very quickly. 3) can’t speak to telephony pay/perks. As far as pay for software, you’ll definitely exceed 80k-90k range I think on the west coast working at one of your mentioned companies.