|
|
|
|
|
by Anirudh25
3038 days ago
|
|
As someone who will be entering the industry, I loved your perspective on your job at Google. Also, having read Cal Newport's "So good that they can't ignore you", I couldn't help but notice the hunger for independence in good software developers. Would you recommend newcomers to join smaller unstable( more independence) companies or bigger, more stable( Top 4) companies(lesser independence)? |
|
I recommend new developers start at large, successful companies where software is a first-class citizen (e.g. Microsoft, Google, Facebook).
My first full-time job ever was a developer at Microsoft, and I'm really thankful for that job. I felt like within a large company, it was much easier to learn effective development practices and why they're important. At successful companies, good practices have a good way of percolating through, whereas at smaller companies, it's easier to fall into "cargo culting" of just doing things because that's how everyone else is doing them.
I think you can see this in things like the Google Python Style Guide (https://google.github.io/styleguide/pyguide.html). It only allows imports at the package or module level, even though most examples online do star imports or imports of particular functions. But when you build large systems that way, it creates ambiguity when you read the code because if you see a function call, it's hard to identify where it came from. There are a lot of things like that where the rule seems arbitrary, but in a large company, you can get context about why it helps you maintain your code and helps others understand it.