I wrote my first program at age 13 in 1967, executed on a mainframe owned by the US Navy, filling a medium sized room with 4K or memory. Looking back it was in an assembly language called COMPASS. I knew nothing; the machine had an 8 bit integer and I was trying to calculate the first 180 powers of six. I didn’t even know about overflow.
My next foray was in 1984 on a very reduced version of BASIC on a Casio calculator with 1.68 K for everything; it sought primes by trial division. I look at that 1" wide paper printout and there are so many things wrong with the program structure but after 30 years of professional work I couldn’t do the algorithm much better, though I know a lot more number theory and wouldn’t do trial division again.
I got my first job in 1988, writing in C. I was one of the first people outside AT&T to learn C++, I bought both K&R and Stroustrup as new first edition books and at Microsoft we were all give a copy of Codd and Date, also a new book.
Microsoft was great in 1989. But in 1990 Windows 3.0 came out and the company went downhill at astonishing speed. From private offices to double-ups and org charts. I would never work there again and I resist giving them money in every way I can. That pair programming episode did me serious psychological harm, and they only did it to get me to quit (they could have asked; I’d met my next manager and I would rather be homeless than work for that bastard). Anyway.
I’m on a bit of a crusade to bring back Flow. This article
summarizes my position in very stark black and white terms not intended to project nuance at all, but the linked articles go into a lot more detail and in a less strident tone.
I think the industry is in a real mess. I’ve had people tell me that my desire to focus, to work uninterrupted, is indicative of mental illness and social maladjustment (the guy who articulated this reached the apotheosis of his existence by growing a beard so I am not losing a lot of sleep over his judgment). Anyway.
I find the emphasis on testing very disturbing, but I understand it; nobody is allowed to concentrate, so they write shit code, but too timid to demand better working conditions they think the answer is to elevate testing over development. Personally I think unit tests are a waste of time for how little they yield. They are for detecting the kind of mistakes one doesn’t make in OOP. I prefer blackbox testing and I do tracelogging.
I remember one meeting per week, private offices, catered dinners for we who worked late, stock options, signing bonuses. Glorious times and as gone as the dodo.
I’m one of those people who can do more work than six, who can write code for six weeks and have all work at the end with no testing during the coding. Yeah one or two trivial bugs but … object oriented design. At an Intel telephony project they actually excused me from the morning meeting,which at Intel is like being crowned Pope. A job I thought was over my head, but I decomposed my component into objects and, astonishing myself more than anyone, brought it home. One Tuesday everything worked. Now people talk like OOP is antiquated.
Now I am not even coding. I like doing servers, that’s my sweet spot, but EVerybody wants onsite and I won’t do that. Mobiles are my #2 but almost everyone wants ReactNative and I don’t like weak-typing languages. I have some decisions to make. Technical writing is VERY easy to get gigs for, I had an interview less than a day after putting in for the gig and met a very demanding deadline without breaking a sweat.
I don’t want to stop coding, though.