I am someone who is passionate about programming, but for some folks, some of the time- you just need a goddamn job. Hell, while I’m passionate about programming, I’ve worked a lot of gigs that I was not passionate about. I’m never going to be excited about developing an Angular front end, but I’ll do it ‘cause it needs done and people will pay me to do it.
I’d much rather be working on my multi-player choose-your-own-adventure-book engine (someplace between a MUD and CYA), but ain’t nobody gonna pay me to do that. Or I’d love to be refining my dancing drone software (but the drone I own isn’t responsive enough, and I can’t justify buying a better one, because again- ain’t nobody payin' me for that).
I can relate to this. I spend a lot of time learning about new things in my field for fun, out of curiosity, and out of a desire to perfect my craft; I bring some of that to the office, but I also am aware that some of the stuff needs to stay home. It’s unreasonable to use all the new things you learned about over the weekend/evenings just because ZOMG SOO COOOOOOL.
For sure, it informs decisions I make on a day-to-day basis; the different paradigms I’m exposed to when I’m learning new concepts allow me to see some things I could have missed otherwise, and I like to think it makes me better at my day job as a result.
That being said, the 9-to-5 is PHP-only for now, and I can’t say I’m especially fond of that.
I’d argue you could get paid to work on a multi-player choose-your-own-adventure-book engine. Maybe not your engine specifically, but Failbetter games has built what looks like a successful business on top of a multiplayer CYA engine.
I’d say that with either project you could build sustainable businesses, even the dancing drones, but it sounds like you are interested in stable employment over entrepreneurship, which I completely understand.
Ironically, I do run my own business- I’m a consultant, trainer and contractor. The idea is that I spend a week or two a month doing work I don’t like so that I can spend the remaining time doing work I do like. But I can pull that off because I’ve got contacts who like my work enough to book me gigs and take a little off the top. If I had to really push and drive sales, I’d probably starve to death.
I don’t mean you need to be passionate about every project you work on. I just meant you need to have enthusiasm for programming as a field.
And I’m pointing out that a lot of passions don’t pay the bills. So what if someone’s passion is to raise a family on ten acres of woods in the Ozarks, and they decide to fund that lifestyle by programming for money?
I came here to comment that while passion isn’t always scalable, I don’t know another way to motivate myself but you answered that question/objection beautifully.
Some people are passionate about having children and being able to afford a good education and experiences for their kids. Programming seems like a great way to do that.
As for me, I am passionate about programming. But I’m also passionate about retiring early, traveling in my camper van, and getting 10 acres of woods with chickens and a goat. Those passions influence some of my career choices.
I’d say they’d probably be happier farming but they can do that.
I didn’t say “You can’t program without passion”, I said “Don’t”, as in I don’t think you should, because you’ll be happier pursuing something else.
because you’ll be happier pursuing something else.
This strikes me as incredibly arrogant, though I’m not sure if that’s how you meant it. How can you possibly know for sure what will make someone happiest?
People don’t just derive happiness from the tasks they perform, there’s a whole context that you have to consider. I’m passionate about programming, but I would be less happy if the office I work in wasn’t air conditioned, or if I didn’t get free snacks, or if a thousand other things were true or false.
Let’s say someone is passionate about interpretive dance. But no matter how passionate they are, they can’t handle being a starving artist, they want a nice place to live and good food to eat. In this case, their overall happiness might actually be maximized by working as a programmer during the day and dancing interpretively at night.
Now, in a world without scarcity, or even a world with a rock solid basic income, I would agree with you. In that case the context wouldn’t be as important because it would be much more similar across different activities (e.g. switching from programming to dance wouldn’t imply such a massive change in lifestyle). But that’s not the world we live in.
This is pretty cool. Measuring end to end latency is exactly the latency observed by the user. Hard to measure programmatically, though.
For fun, I measured input latency in my mail client with ktrace. From one kevent waiting for a keypress to the next. In between there’s a few read() calls to read the keystroke, and a write() to update the terminal. All told, it’s about .000441 or .000361 seconds or so. So compared to 100ms or more, I think half a ms is pretty damn responsive. :)
Of course, there’s input and output lag on either end of that. According to the video I recorded, it seems to be about 90ms end to end. Hard to say, because between the overall darkness of the video and camera shake, I can’t really tell when I pressed the button. In any case, since my code’s time spent processing is less than 1% of the total time, I can probably relax instead of trying to further optimize it.
I wonder how much latency is the result of conversations that go something like:
You forgot the cringe-inducing “premature optimization is the root of all evil” thought-terminating quip by developer 3.
I’d love a platform that prevented you from publishing an app if the latency of the UI thread ever exceeded 50ms. Excepting a GC, that is a huge amount of time.
Virtual reality applications and console games have limitations like this. In VR usually the limit is 16 or 11 ms and with console games its usually 33 or 66 ms.