Though I've been writing software for 15 years, and have worked in the technology industry exclusively throughout my life, I have spent only one year of my professional career as a developer. My job was always a managerial/project management kind of situation - I have equal competency in technology and media/content, so I could always carve out a niche. Then, one day, I decided to abandon my cushy job at Amazon to become a developer for startups that I was interested in working for.
I spent all of 2015 pursuing this goal - it was a mistake. I loved the work, but really, really disliked the work environment with which I had to put up. Startup environments are noisy, and I could never really hear myself think. Despite all the flashy tools like Slack, Trello, and Google Docs, my teams never got quite as much done as the enterprise environments running Office 2010 that I was growing sick and tired of the previous year. Other team members would routinely stay home, not coming in to join the team during the work day. Scrum was held remotely every single day. Frankly, it was a mess.
I am now back in a cushy, boring office job. Didn't have the stomach for this insane brogrammer NYC startup culture. 5/10.
There is still something to be learned from startups. I worked enterprise for most of my career and it was always the same story. Ambitious projects, large teams, lots of red tape + politics, inferior technologies; and by and large 'UX' that was largely an afterthought.
I'm still incredibly thankful for the experience, but the lesson was not in actually learning how to do things right. Instead it instilled in me a deep yearning and desire to overcome organizational dysfunction, mediocrity and to overcome technical ineptitude.
Startups is a different animal. You ship things fast, and for the most part, you work with teams that care deeply about all aspects of the product, working with the best tools for the job. Sure, theres cargo cult tendencies - the beginning of this paragraph is evidence. The downside of many startups is that you move so fast that many times you never get to perfect anything, and the constant pivoting in unsuccessful startups tend to wear you down over time.
All in all, I learned much more about shipping code, adapting to the unknown and building products from startups than I did in enterprise.
This is a very insightful comment. I found myself realizing daily, during my 2015 adventure, that the likelihood of success for me would have dropped precipitously if I did not already have a solid idea of how to handle version control, test-driven development, etc.
The speed at which startups move is a cause for concern, however, because many of the people with which I worked were simply "lean in" types, and would have been able to get a job doing just about anything. The problem was that many of these ninja rockstar 10x efficiency evangelists didn't really work with Git well and didn't really value the command line. Linux knowledge was very minimal.
I worked for four startups, and found that only one of them had ONE employee who had a solid computer science background.
I spent all of 2015 pursuing this goal - it was a mistake. I loved the work, but really, really disliked the work environment with which I had to put up. Startup environments are noisy, and I could never really hear myself think. Despite all the flashy tools like Slack, Trello, and Google Docs, my teams never got quite as much done as the enterprise environments running Office 2010 that I was growing sick and tired of the previous year. Other team members would routinely stay home, not coming in to join the team during the work day. Scrum was held remotely every single day. Frankly, it was a mess.
I am now back in a cushy, boring office job. Didn't have the stomach for this insane brogrammer NYC startup culture. 5/10.