Money. I work for a large Enterprise software company and we are not "changing the world." That's fine, by the way, but the answer is money and it always has been.
I have two young children at home and nothing is going to come close to making me feel as fulfilled as being their father. Since we need money to live I have to go away for 8-9 hours a day, working on CRUD applications and their supporting systems. What keeps me in my seat is the money I can eventually bring home to to my wife and children.
To a non-parent this may seem a somewhat bleak and uninspiring vision of what we do as software developers, but the truth is that being able to provide for my family is one of the most intensely satisfying enterprises I have ever taken-on. It allows us to put good, healthy food on the table and live in a neighborhood with walking trails and a nearby lake. My children sleep in comfortable beds. The temperature in our home is always appropriate.
If I can't spend the bulk of my time with my family then next best thing is producing money that directly benefits them.
It's fair to point out, considering that the general attitude towards React is that it's some panacea of simplicity, shining down from atop the mountain upon the unwashed masses. We still need developers in this world. :)
Productive as in "has produced something." I agree with bulk of what you're saying here, but my point was about barrier to entry, not being good or even great at it.
"React is just JavaScript, there is a very small API to learn, just a few functions and how to use them. After that, your JavaScript skills are what make you a better React developer. There are no barriers to entry. A JavaScript developer can become a productive React developer in a few hours."
To me, this is the major driver of React's adoption and thus its success. Angular 1 took me a while to grok because there were so many moving parts. React's API is small and consistent a la JQuery, with the added bonus of being incredibly powerful.
That's a badass schedule. I've often wondered/daydreamed about running a company with a similar schedule.
E.g. Extremely focused, productive mornings for writing code, meaning no interruptions if possible followed by lunch until whenever, then afternoons are flex time for meetings/planning/whatever the business needs.
Profession: Software Engineer (Web) at a large enterprise software company (~12k employees)
Workday:
- [6:30 am] Wake up and get the kids ready (I try and let my wife sleep-in since she has likely been up several times during the night tending to our infant son)
- [8:00-8:15] Get to work, check Email/Slack
- Write Code
- Mid-morning stand-up
- Write Code
- Home for lunch (I'm a 12 min drive from home)
- [1:00 pm] Write Code
- [5:15 pm] Home to run around with my insane 3 y/o
- [8:00 pm] Both kids are in bed
- [8:05 pm] Go for a jog
- [9:00 pm] Either work on side projects or read a book
This is pretty much every day. The software I work on is not exactly inspiring stuff but my company grants me a stable and predictable schedule of which I am thankful for.
Well, it was Courtland's right to publish his financials when he was the sole proprietor of IH. Now he's a Stripe employee and therefore is governed by their policy on the matter, I assume.