4,021 karma · joined May 11, 2017
The issue of course is the islanders did not understand the science behind planes, Wallis talkies, guns, etc.
Likewise, cargo cult devs see what is possible, but do not understand first principles, so they mimic what they see their high priests of technology doing, hoping they can copy their success.
Hence the practice of copying, pasting, trying, fiddling, googling, tugging, pulling and tweaking hoping that this time it will be just right enough to kind of work. Badly, and only with certain data on a Tuesday evening.
I stopped emphasizing my full experience around 45, by fifty I was actively avoiding the subject, now I really avoid it.
I am fortunate I have a so called “baby face” thanks to my Hungarian dad.
I have found more and more that people value me a lot more as a strategic advisor than a coder, and that sweet spot works very well. In that role I can draw on my full 35+ years of experience. Stuff I did in the early 90s still has some relevance all these decades later, at a high level at least if not in the details.
Being a coding IC at this age is much harder as they can generally hire someone younger / cheaper with lower expectations and get somewhat similar results.
The US election gives Donald Trump a second act, with limited but real support of both houses and a lock on the Supreme Court.
He in turn has nominated quite the cast of characters.
Meanwhile governments around the world are teetering or falling. A global trade war is likely. Shooting wars like Ukraine and Israel? Who knows.
Mass shooting events are probably going to go up. Prices certainly will.
The release of hundreds of thousands of social media and “FAANG” developers back into regular society without their massive pay checks will continue to have positive effects on tech. The rest of the world will be able to afford to hire developers again :-)
AI will continue to be a vaudeville act, bright lights and pretty girls and loud noises won’t distract from the fact that generative AI is ultimately a dead end.
The new administration will do something incredibly dumb with cryptocurrency. Multiple cabinet members will be indicted before 2026 is here.
Finally, Trump will have influenced enough leaders to allow him to change his middle name from John to Johne, he will use this technicality to run for a third term as “New Trump”, will win and enshrine the middle name loophole into history.
They had an apple II and some equipment they figured might be able to interface with it. Like the article author, I basically got a few manuals and just figured out how to make it work. I was able to do some simple control of one of the new instruments via the RS-232 serial connection, plus print out some it’s internal state.
I was very proud that all the other volunteers were basically candy stripers, and I was doing software development in a lab environment.
I would have gone bonkers with everything available today. But then again, in the 80s the sorting function was very strong - you were either one of those who could figure this stuff out, or you weren’t. Then of course, there were further delineations. Case in point, my apple ii basic and 6502 assembly hacks in the lab sound like child’s play compared to what this dude did!
I feel like this is the end game of scrum and most agile methodologies - endless refactoring on a treadmill with no off button,
I like to be introspective, and I am human so my code is far from perfect. But if I was refactoring half of my time I would go more than a little crazy.
The good systems I have worked on have converged on designs that work for that space. Both developers and users see and value the stability.
The bad ones have had the kind of churn the article mentions. Developers are constantly rewriting, functionality is subtly changing all the time; stability doesn’t exist.
These companies have achieved vast scale because correctness doesn’t matter that much so long as it is “good enough” for a large enough statistical population, and their Devops practices and coding practices have evolved with this as a key factor.
It is not uncommon at all for Netflix or Hulu or Facebook or Instagram to throw an error or do something bone headed. When it happens you shrug and try again.
Now imagine if this was applied to credit card payments systems, or your ATM network, or similar. The reality of course is that some financial systems do operate this way, but it’s recognized as a problem and usually gets on people’s radar to fix as failed transaction rates creep up and it starts costing money directly or clients.
“Just randomly kill shit” is perfectly fine in the Netflix world. In other domains, not so much (but again it can and will be used as an emergency measure!).
The reality is, most of the time when you “ship” your software, executive management neither notices nor cares. Even if you get the “attaboy” from a manager, they will forget it 10 minutes later.
You ship your software because you care about work, and maybe because you care about your users. In a big software company, shipping is not going to get you noticed unless you are literally the guy delivering gmail or google maps.
This article is not about “shipping”software.
It’s about pleasing upper management. Those are not the same things. The article even says it explicitly - if your users hate it and the market laughs, but executives like it, you’ve shipped. If you’ve given users the best software ever but your executive management doesn’t know, or even actively hates it, you haven’t shipped.
Blech.
Navigating it for the first time is daunting.
Very different from most single-line stations.
Going back more than a quarter century ago (!), I was one of those zealots in favor of checked exceptions in Java. It took a good 15 years to finally conclude the “checked” part is more trouble than it’s worth.
Given that there is inevitably a root context for any given language invocation (main() for a command li program, top of a thread for a multi threaded app, etc), unchecked exceptions and a top level handler have proven to be more than enough.
I won’t comment on Python backwards compat, will just shake my head.
What you cherish on your death bed is often enabled by plain old hard work. You may not love the work, but for most of it is the path to those happy death bed memories().
Skip the work, and for most of us it will be a short, miserable life scrabbling for food and shelter.
() The big asterisk of course is tech salaries are completely out of whack with effort and complexity. There are a lot of us out here who get enormous salaries for doing comparatively little in the grand scheme of things. These lucky folks are skewing the narrative for the rest of the world.
For me, I will always cherish memories of vacations, my son’s first varsity touch down, my daughter’s vocal solo for a Christmas show, hanging out with friends in the woods with little more than tents, firewood and beer. I will also be quite honest that it’s been enabled by a lot of luck at work and the incredibly high salary I earn in software - which is less than half of the FAANG salaries I see mentioned here.
Life isn’t about living in the now. Or in the tomorrow. Or ignoring the long term, or short term, or whatever term.
Life for most of us is finding balance that works in our situation,
What could have been a simple SQL query in a sane architecture becomes N REST calls (possibly nested with others downstream) and manually stitching together results.
And that is just the read only case. As the author notes updates add another couple of levels of horror.
Nearly all the micro services based designs were terrible. A common theme was a one or two scrum team dev cohort building out dozens of Micro services and matching databases. Nearly all of them had horrible performance, throughout and latency.
The monolith based systems were as a rule an order of magnitude better.
Especially where teams have found you don’t have to deploy a monolith just one way. You can pick and choose what endpoints to expose in various processes, all based on the same monolithic code base.
Someday the Internet will figure out Microservices were always a niche architecture and should generally be avoided until you prove you need it. Most of the time all you’re doing is forcing app developers to do poorly what databases and other infrastructure are optimized to do well.
It is how they hold their power. If it was optional, they would whither away over time.
The moral is - part of listening to your body is learning how to train within your age / ability band.
Many companies that target PreK-12 also know there is a lot of incompetent admins with boat loads of cash. Pricing gouging is very common.
People are shocked when they learn about 70% of property tax bills goes to the school district, not the municipality or county.
For example, in NJ Board of Ed members are elected officials. If they conduct board business in their personal phones or other devices or accounts, they are discoverable.
However, a judge ruled that, to protect their privacy, if this arises then Open Public Records Act (or State version of FOIA) request search on private phones can only be done by the phone’s owner, not the OPRA administrator.
So suddenly you have to trust individual board members to actually search their phones properly and not just lie.
In my case a board member was in this situation and just said “I deleted those texts”.
Which maybe is a technical violation of OPRA, but the penalties are a slap on the wrist here in NJ.
The code was simply God awful. Nearly every method was tagged ad “throws Exception”, no comments, and the famous endless sea of classes with only a few lines of code per method.
The code itself ran with constant exceptions filling up the logs. This was going back over a decade or more when I looked at it.
You can see his lineage of trying to sell consulting services and books all the way back to the comp.object Usenet groups back in the 90s.
Sadly he still commands big fees to speak at various conferences and companies, I was very disappointed when he spoke at Bloomberg many years ago when I worked there.
But to their dismay the crazier it gets, the more some people dig in and embrace it even more.
/sarcasm. I think.
With that expectation set, the end product was severely underwhelming. The visual flare is non-existent.
I reality the dozens of Counties and hundreds of municipalities in just NJ are all different. Some online. Some not. Some online but with enormous time lag. Differing systems with different data. My township and a few dozen others were all coveted by a tax assessor who had an abomination of a Flash based web site that degraded to the devil’s own JavaScript when Flash not available.
Then you need to know the County system. And state system.
Then get into the courts. Court eFiling and search capabilities vary wildly.
In my town’s case you would need to do several on-site searches plus a few Internet based ones to do a proper title search.
Now tell me how you find the public record. When much of it is not on the internet?