Pride and programs
Dec. 19th, 2023 10:22 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
This is a surprisingly complex question to answer. In college, I was writing whole programs for homework, and I remember being pleased when a guy who was helping me debug a program said it was very clear and easy to understand. I wasn't centered enough to feel pride on my own account.
For my Compilers class project, I wrote (most of) a C compiler in Prolog. This is a daft thing to attempt, far too large a problem for a class project. I don't recall the teacher trying to talk me out of it - Hopkins was a "drink from a firehose" kind of place back then. I think they give a little more care to their undergraduates now, but back then we were left to our own devices to figure things out.
Once I started working, I didn't write whole programs by myself. When I started out, I worked by myself, on pieces of bigger existing systems. There was a proud and very happy moment when I ran a program on the computer, and the scanner across the room *did something*! I was in the Devices group and wrote an interface to tell the scanner to scan and then read in the image it produced. I would say I'm proud of that.
These days, my preference is to pair with other people. It's more fun, and it produces better software. I'm proud of the module my coworker and I created over the last month or two to manage the series of steps a user goes through to verify their identity. It started out complex, and got clearer and easier to use as we worked on it. Oh hey, it's open source so I can link to the code and the documentation I just wrote.
Thanks for the chance to think about this. In summary, I don't remember the first program I was proud of writing, because I wasn't very good at being proud of things back then, and I stopped writing whole programs by myself when I got out of school, and here, have the latest part of a program I'm proud of writing jointly with someone else! I hope that's at least partly satisfactory as an answer.
no subject
Date: 2023-12-20 08:58 pm (UTC)no subject
Date: 2023-12-21 03:58 am (UTC)Thanks for a fascinating answer!
Date: 2023-12-21 12:28 am (UTC)My exposure to programming dates from when rocks were soft, and programmers boasted of hours spent ingesting too much caffeine and bashing their heads against the wall.
Contributing code that generates real-world interaction is thrilling, indeed! (I witnessed a colleague demoing a copy-protection scheme that made the 5-1/4" floppy drive self-destruct, with bonus smoke.)
Pair programming sounds like a wonderful way to create stuff that actually works. It started out complex, and got clearer and easier to use as we worked on it. is the Platonic ideal of any project.
(Your work will be used by millions of people. Thank you! We had identity theft in the family last year, and had to interact with IRS's subcontractors from a previous Administration, and it started out complex and got worse.)
Re: Thanks for a fascinating answer!
Date: 2023-12-21 04:07 am (UTC)Pair programming and writing automated tests along with the code are the two big changes that make programming a lot more fun and tenable for me than it was when I wandered away from in the in the late '90s.
Oof, sorry to hear about the identity theft. And the complexity of dealing with it. Wouldn't it be nice if the purpose of customer service were, you know, to serve the customer. Although in the case of federal agencies, even when they're not maliciously understaffed, the layers and layers of regulations get in the way.