I would happily write code for free (and do so off-hours, with my kids, and for side projects). I have the luxury of working in a field where my employer pays me not because I hate what I’m doing and would rather not do it all, but just because they need me to focus on solving puzzles they choose instead of puzzles I choose.
How can you not be romantic about programming? (2020)
351–360 of 373 posts
Re: How can you not be romantic about programming? (2020)
#352I've found being too attached to code is a recipe for frustration in the workplace. You code something elegant, simple, dare I say beautiful and inevitably it will be butchered by new product requirements, business needs, that quick hack to satisfy a client or more generally uncaring colleagues who are looking to get their job done as quickly as possible. Perhaps romantic aspects could only be achieved when there are…
Not sure why, but I've always viewed code as a means to an end of solving a larger problem. I end up attached to the end result, and not the code itself.
I suspect this is one of the reasons I don't get very passionate about language features. Something that makes my life easier is nice, but I'm not one to argue about them. I've solved problems in Visual Basic to C with everything in between.
Re: How can you not be romantic about programming? (2020)
#353Earlier quoted context omitted.
"We were running into this issue where we were getting a 504 Gateway Timeout on the update balance call so I eventually found the Slack room for that team and asked about it. They ignored me for a couple weeks,...." Someone could have documented this and/or simply answered a damn question instead of wasting weeks of opportunity cost. Too many dicks and idiots on that website, it seems. "who honestly cares if it gets…
Put yourself in the shoes of the team who was asked to fix this. They probably have a dozen feature requests, two dozen support tickets, and now this guy wants this bug fixed because it does t follow a standard and he had a hard time understanding it. Yes, that is a real issue, and in the ideal world it would be fixed along with every other issue on the list, but in the real world it is unlikely to ever be important…
And yeah, I can put myself in those shoes, as I've been on both sides of this. Treating newcomers in your communication channel (slack, etc) with the same level of urgency YOU would want (or need) when you ask for help from some other team is a bare minimum.
Re: How can you not be romantic about programming? (2020)
#354Earlier quoted context omitted.
> I do it for fun, and I don't really need the work Have you considered that this might cause you to be perceived as a hobbyist?
> Have you considered that this might cause you to be perceived as a hobbyist? I don't care. If anyone perceives me as such, then they are just another person that didn't bother to click on the link, and find out more about me. I'm not particularly interested in working with folks like that. I don't hide a thing. Maybe the [0] thing is confusing, so I'll do it inline, this time: https://stackoverflow.com/story/chrism…
Re: How can you not be romantic about programming? (2020)
#355Cash rules everything around me. After a few decades of relying on coding to feed my family, I miss the way it felt magical, writing in Basic on a ti 99/4a. I thought I was going to tell computers to do wonderous things. In reality most of us are telling them to serve ads or sell crap to people. Most of the rest of us are telling them to serve data to companies doing the above. It’s just business now, nothing more.
Re: How can you not be romantic about programming? (2020)
#356Earlier quoted context omitted.
This is a total failure to follow any sort of standard. A 504 is a gateway timeout due to the server failing to complete the action, hell, a 400-level for "you fucked up" would be preferable.
4xx would be what you want anyway, no?
In the real world, updating your balance to the same number should be a 200, however in some weird financial world, it may be a 400 because you may not be allowed to set the same balance due to some financial rule. A 500 is a terrible choice unless setting the balance caused an error at your code/infrastructure level.
Re: How can you not be romantic about programming? (2020)
#357Earlier quoted context omitted.
Game Development is an example of what can happen when there are too many people passionate about their work. I'm not saying that everyone in that industry is taken advantage of but it's a lot more than the broader tech industry even though there's a lot of overlap between skill sets.
I would like to say that while this is definitely still a thing it has gotten better in recent years. There has been a big push against crunch and there are more and more studios with a focus on work-life balance.
Re: How can you not be romantic about programming? (2020)
#358Earlier quoted context omitted.
> Have you considered that this might cause you to be perceived as a hobbyist? I don't care. If anyone perceives me as such, then they are just another person that didn't bother to click on the link, and find out more about me. I'm not particularly interested in working with folks like that. I don't hide a thing. Maybe the [0] thing is confusing, so I'll do it inline, this time: https://stackoverflow.com/story/chrism…
I don't mean a hobbyist in terms of your level of competence. I mean that employers might see your motivation for employment as the pursuit of a hobby -- that is, they cannot rely on you to respond to economic carrots and sticks.
I worked for 27 years, for one of the most conservative Japanese corporations in the world, and had a position of ultimate trust. If you know anything at all about this kind of corporation, then you know what that means. I strongly suspect that it would be very, very difficult to find anyone as Honorable, Reliable and Dependable as I am.
The entire tech scene is built around hiring ADHD kids, paying them sick money, and keeping them for 18 months. There's a vast industry, based around providing cultural and technical infrastructure to support this. The fact that you need to test applicants with leetcode says it all. There's no Trust, no Integrity, no Honor, and no Loyalty.
That goes for both corporations and employees. Everyone is out for their own goals; damn the company, the employee, or the team; let alone the customer (who are treated as product, these days).
I am a person of tremendous personal Integrity. Word is Bond. That goes as much for free, open-source efforts, as it does for paid ones. I have an enormous, years-long portfolio of very, very high-quality code, dozens of articles on Medium and my own sites, going into great detail about my personal philosophies and processes, and a decade of checkin history.
If no corporation values that, then that's OK with me. I know some folks that can't afford to hire me, but value my Integrity.
And, as far as "carrots and sticks," they have these new-fangled things called "contracts." I hear they work fairly well.
Re: How can you not be romantic about programming? (2020)
#359Earlier quoted context omitted.
You could also make 0 dollars a minute standing on a surf board, hiking in a national park or reading a book. There are a lot of things in life that are more interesting than computers.
I've done skiing. Go up, shoosh down. Go up, shoosh down. Go up, shoosh down. It doesn't take too long before I'm off to the lodge to go drinking. And I love alpine views as much as anyone. (When I was a kid, I'd ski until utter exhaustion and could barely walk. But things don't work like that for the adult me.)
Re: How can you not be romantic about programming? (2020)
#360We're like the management at NASA, with their improvised spreadsheet models of O-ring erosion and a theoretic model of how x% of erosion equates to y% of danger, when in reality the original architects wrote down that ANY erosion meant the system wasn't safe, and needed redesign.
As far as I know, none of the code holding everything together is actually suitable for purpose. This is terrifying to me.
---
MS-DOS was fit for purpose, when it ran on floppy disks you could write protect and make copies of. You could run any program you wanted, downloaded from any BBS or copied from any shareware disk, and know full well the biggest loss you could incur would be having to make a new copy of your data, or OS on a fresh floppy disk.
Programming was fun back then, because you didn't have to worry.
That ended when we got hard drives, and when people figured out how to infect firmware, there was no going back.
---
Unless... you start with new hardware and firmware, and don't ever trust applications to talk to the hardware directly, ever. You then minimize the kernel of code as far as practical, and set it up with policies that protect itself, and the hardware by default.
Only then is it possible to get the fun back again. You give the user the tools to decide exactly what to trust a program with, and enforce their decisions. They can be trusted to act wisely, if the tools are sufficiently transparent and easy to use.