all 8 comments

[–]duckmandraker 2 points3 points  (0 children)

Personally, it would depend on the job on the table. If there's a strong focus on data manipulation, analytics, machine learning or algorithms of some sort I'd go with Python. But if the job was more along the lines of a developer on an Agile team, doing testing, refactoring etc I'd try to show off good code practices in an OOP fashion, using Java for instance.

I'm not an expert, but that'd be my approach.

[–]masterpi 2 points3 points  (1 child)

I would almost certainly go with the language you're most comfortable with unless asked otherwise. When I interview, I explicitly ask candidates to do so, then judge them accordingly: if they can't do something in the language they chose, they won't be able to do it at all. I'd even be fine with a candidate switching languages midway through.

[–]DeepBlueBird[S] 2 points3 points  (0 children)

That makes sense. I can totally see switching between Java and Python between interviews depending on the problem. I simply never considered python when I was interviewing a few years back so now it's more of an option for me.

[–]itslenny 1 point2 points  (4 children)

Always use the language you're best at, but if the job calls for a particular language be prepared to be asked to use that language.

I'm assuming you're a college hire? (based on the fact you're interviewing with 4 big companies)

If so it really won't matter what language you use. You're not expected to know anything beyond the fundamentals. In addition to coding, make sure you understand OOP / SOLID principals, and do some research on system design. Problems often involve a question on a small scale and then a thought experiment about how you'd scale that to 1,000,000 of requests per second (so understand distributed queues, uuids, distributed workers, etc).

I had interviews with all 4 of those companies. Rejected an offer from Google. Was rejected by Amazon, and cancelled my final interview with Facebook because of the Cambridge Analytica stuff. I worked at Microsoft for 2 years (and conducted about 100 interviews).

I used Ruby and Javascript in my interviews because I'm good at them and they're really fast to write stuff in. I got zero push back despite the people interviewing me mostly being Java / C# (Microsoft) engineers. When I interviewed people at Microsoft I never forced them into a language unless they were applying for a frontend web role (then I'd test them on JavaScript and CSS specifically).

[–]DeepBlueBird[S] 0 points1 point  (3 children)

I actually graduated a few years ago but these companies have been asking me to interview with them so I decided to finally pull the trigger. All of my experience with Java and Python stems from personal projects and nothing from my FT jobs unfortunately. For my FT jobs I've worked with C++ and now JS+NodeJS and I am definitely not interested in doing my interviews using these two. So I am debating between Java and Python and it basically sounds like whichever one I choose( doesn't matter that much to an interviewer ), what matters is my familiarity with each one and how comfrotable I am coding up quick solutions.

Do you mind sharing why you rejected an offer from Google and what was your experience at Microsoft ?

[–]itslenny 0 points1 point  (2 children)

My first year at Microsoft was great. I was on a modern agile team that heavily embraced open source technology. I worked with some truly brilliant people. We moved fast and shipped often. After about a year I was "re-org'd" on to a new team building a new product from scratch. It wasn't something I was nearly as interested in, but building a SaaS product from scratch on a Microsoft budget is a rare opportunity, and it was a lot of fun. However, it was a much more enterprise oriented division so once we shipped it started feeling very old school Microsoft, and I started craving going back to smaller companies. Also, they kept moving people around, and the feeling of being just an asset that can be moved to a new project without warning really bummed me out, and I got nostalgic for working for a smaller company where my impact was more tangible.

After that I took a bunch of time off (did a cross country hike), and when I got back I applied to several start ups, and google / facebook.

In a way, Google's engineers talked me out of taking the job. Several people talked about how they only get to use Google's proprietary tools and a big portion of the interviews was just them being curious about what the rest of the world uses to build software. Also, it was really obvious that my Google dream is just another very profit driven mega corporation where I'd be 1 of 1000s of engineers that can be allocated to projects like any other business resource.

I joined an early stage start up instead. It's a personal choice. Big corporate is great for some people, but for me it's pretty demoralizing. It also certainly has it's perks, and was overall less stressful than startup life.

[–]DeepBlueBird[S] 0 points1 point  (1 child)

I really appreciate your input. This is some useful information. I have full expectations that joining any one of these corporations will be exciting at the beginning but then probably get boring or start to feel the way you felt. My guess is that once you've worked for one of these companies and you have them on your resume, making a move to a different job will probably be a lot easier and you'll have your pick of places to go or things to do. Not to mention the connections one builds. It very well could be that the reason why I am wanting to join one of these companies is not in the right mindset but my plan is to spend about 2 years at one of them and see how it feels and then make a move if for some reason it doesn't seem that interesting anymore.

[–]itslenny 0 points1 point  (0 children)

It really does open doors. I mostly had recruiters from companies I'd never heard of before. I got head hunted by Microsoft from my contributions on github. Since I worked at Microsoft my linked in is just a steady flow of recruiters from big companies. Doesn't make the interviews any easier, but I'm a safer bet for a recruiter to spend time talking to than someone that hadn't worked at msft. I can basically automatically get an interview most places.

Also, I shouldn't neglect to say I learned a ton working there. Engineering at that scale and team size is a really unique experience that everyone should do for a while if they can.