My last job was at a a startup, now I work in a big company.
At the startup I set up Linux server instances on Google Cloud and Digital Ocean. I set up Apache web servers etc. I wrote Python REST APIs on the servers. I did Javascript web work on the servers. I also wrote code for an iOS app in XCode. I also wrote more than one Android app from scratch.
Now I work at a non-tech Fortune 100 company. I only do Android. 95% of the time I am working within one module. I also tend to work on similar features during a quarter and across quarters. How much coding I do can vary, but the amount I spend coding is less than the time I spend in meetings, or reading documentation another team wrote, or helping or asking for help from someone, or doing code review or handling the release process.
You're not necessarily going to learn "the right way" to do things, you're going to learn the large organization way to do things. You're better off at a small company with a good, experienced mentor than at a big company without one.
An example for a big company...HN is fairly simple, Reddit is a little more complex. Think of the notion of a post or reply or user on Reddit. Initially these concepts will be pretty simple, but as more features are added they become more complex. I can imagine what the internal data structure is at Reddit is of a post or a user. Not only is it probably very complex, I'm sure some of the data structure is vestigial, old stuff no longer used that was never cleaned up. Changes against these things are by teams, often tending toward the more junior, often on tight deadlines, and the codebase is an accumulation of many years of this. I don't know much about Reddit internally but it is an easy example to think about.
At the startup I set up Linux server instances on Google Cloud and Digital Ocean. I set up Apache web servers etc. I wrote Python REST APIs on the servers. I did Javascript web work on the servers. I also wrote code for an iOS app in XCode. I also wrote more than one Android app from scratch.
Now I work at a non-tech Fortune 100 company. I only do Android. 95% of the time I am working within one module. I also tend to work on similar features during a quarter and across quarters. How much coding I do can vary, but the amount I spend coding is less than the time I spend in meetings, or reading documentation another team wrote, or helping or asking for help from someone, or doing code review or handling the release process.
You're not necessarily going to learn "the right way" to do things, you're going to learn the large organization way to do things. You're better off at a small company with a good, experienced mentor than at a big company without one.
An example for a big company...HN is fairly simple, Reddit is a little more complex. Think of the notion of a post or reply or user on Reddit. Initially these concepts will be pretty simple, but as more features are added they become more complex. I can imagine what the internal data structure is at Reddit is of a post or a user. Not only is it probably very complex, I'm sure some of the data structure is vestigial, old stuff no longer used that was never cleaned up. Changes against these things are by teams, often tending toward the more junior, often on tight deadlines, and the codebase is an accumulation of many years of this. I don't know much about Reddit internally but it is an easy example to think about.