

I had a boss once come to me with an article he had just read about how APIs were the next big thing in programming. He told me I should incorporate some APIs in our software and I told him I would research it. This was in 2010.


I had a boss once come to me with an article he had just read about how APIs were the next big thing in programming. He told me I should incorporate some APIs in our software and I told him I would research it. This was in 2010.


I interned at IBM in the late '80s at the TJ Watson research facility. I have no idea if that’s still around or if it’s still what it used to be, but at the time it was a pretty amazing place, filled with brilliant people doing stuff that may or may not have been directly related to the corporate bottom line. Benoit Mandelbrot (the chaos theory guy) had an office there. There was an unused scanning electron microscope parked in the hallway outside of our lab because there was nowhere else to put it. I learned to use CADCAM on enormous monitors; it was a blast to design something, send it electronically to the machine shop for fabrication and have it delivered on a cart the next day (sometimes the same day). I worked on a project repurposing these miniature electric punches that had been designed for ceramic green sheets (the way they built their mainframe cores back then) and then got to experiment creating a new hole-punching technique using pressurized fluids. They let you do whatever you felt like doing even if you were just an intern. There were no corporate idiots anywhere in sight there.
As far as I can tell, that part of IBM (the actual innovation) is gone.


The shared open office thing is pretty much why I quit the profession. I don’t know what’s wrong with most people, but I need peace and fucking quiet in order to code effectively.


I used to work at the Comcast Center in Philly and I randomly ended up working on one of the higher floors where about three-quarters of all the offices were empty. I spent my days alone in a huge corner office that had a perfect view of a battleship. Somehow during this run Comcast was building a second office tower two blocks away because the Comcast Center was supposedly stuffed to the gills. The reality was that it was stuffed to the gills with Indian contractors down on the lower floors and the corporate leadership wanted them out.


At my first job as a programmer I had a full old-fashioned desk. Unfortunately it was in the server room which was kept at 58°F. The servers didn’t actually need to be at that temperature any more and I sure as fuck didn’t need to be at that temperature since I was writing desktop apps, but that was how that company had been doing things for literally decades. I had to wear a hat and motherfucking Oliver Twist fingerless gloves all day.


Well, I surprised myself by making it through the first video, at least. It was interesting to hear the guy ripping on the “hide the menus” concept as hard as I’ve always done. That shit drove me berserk when it came out.


You didn’t even mention the ribbon lol.


100% Ballmer is yakked out on coke.


I started working as a professional programmer in the mid-90s when three-tiered design was all the rage: a data access layer, a business logic layer, and a presentation layer. It seems that nobody actually knew what “business logic” was even supposed to be, because I kept inheriting projects where all the middle tier did was hand data objects from the data layer to the UI. In theory this prevented the UI from being fundamentally bound to the data access, but all three layers were always written in Visual Basic which got kicked to the curb in a few years anyway.
I wonder if my old app circa 2000 would actually run on Linux/Wine. One of my projects for this winter is to install Linux on one of my Windows laptops. I’ll have to give the old app a try.
It was originally written as a C DLL utilized by a Visual Basic front end. The C DLL used the Win95 API, though, so it wouldn’t have worked on anything but Windows 95 and onwards. I subsequently ported the entire thing to C# but still using the same API to do the actual playing of the audio (I experimented with using DirectSound instead but that was really not appropriate for an application doing its own audio mixing). Now I’m working on an iOS version and I couldn’t give two fucks about Windows at this point.
As a programmer, it’s pretty wild how much of Windows under the hood has remained completely unchanged. I started writing software synthesizer applications back in the late '90s, using a part of the Win95 API called “winOutX”. The functions are kind of clunky to use but they allow you to programmatically create your own audio buffer arrays filled with whatever sounds you’re up to creating and dump them into the playback stream for seamless audio. This shit has remained in place, working pretty much perfectly, for the last 30 years. It was even there in WinCE/Windows Mobile, which allowed me to write software synthesis applications for early smartphones circa 2005. And it’s still all there today.
I like to rip on MS as much as the next guy (not least for them completely dropping the fucking ball as far as smartphones were concerned), but sometimes their incredibly long-term conservatism can work to your benefit.
Escort carriers?
their company has refused to read or implement one or several of the fundamental principles
The companies I worked for just kept doing shit the same way they always had but renamed everything with terms borrowed from agile.
My favorite approach to team processes was to work entirely alone and do everything by myself.
At my last job I had to endure 2-hour daily standups involving 120 people. Yes, I know that that’s as far from actual agile as you can possibly get – we still called it “agile”.


I briefly wrote Blackberry apps circa 2010 (yes, I knew RIM was dying a quick death). The development process was insane: any module from the framework that you incorporated into your app had to be digitally signed by RIM servers every time you tried to compile your app and deploy it to a device, even if you had only made a one-line change to the code. On good days, this would make the compilation take 5-10 minutes; on bad days it would be upwards of an hour or never happen at all. Some wags had even set up a special website that would tell you whether the RIM servers were down or not (long gone now, of course). I got in the habit of making a large number of code changes before attempting to run and test stuff, which is obviously not the ideal way to do things but it certainly teaches you to be careful. It also make me think long and hard before including a new module into my code. As one example, for my GUI I needed to use trigonometry functions which were naturally (lol) part of one of the cryptography modules which took an especially long time to get signed. I ended up writing my own sin() function in Java just to avoid the hit of including that module.
The great part of this was that I always had a ready-made excuse whenever I felt like taking a long lunch or going shopping or going home early. “Sorry boss, the signing server is down” and I made damn sure they never knew about isthesigningserverdown.com. It also helped that it was Blackberry circa 2010 and it didn’t make a shit bit of difference whether I got the app done or not.


We don’t have that in software engineering. And outside of critical software we don’t need it. When the audio fucks up in Teams and you have to leave and re-enter the meeting, people don’t die.
I had a co-worker who was writing remote control software for a baseball-throwing machine. Not exactly “critical software” but he ended up firing a 125 mph knuckleball a foot above a 10-year-old kid’s head.


Þufferin’ þuccotash!
Lol I found the only less competent people than the managers were the consultants they hired.
With one hilarious exception: at my first real programming gig I was left alone and I had created the sort of vastly overcomplicated, unmaintainable mess that newbie programmers always manage to create. My company brought in a highly-paid consultant who correctly identified the problem: me. Since I was a rock star, my managers laughed and sent the consultant packing and I was allowed to keep fucking things up for another year or so.