- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
CREATE DATABASE frist; COMMIT;
Admin
This resonates. It's sad places like this exist and somehow manage to survive by doing pretty much EVERYTHING wrong. Let me guess, Wally had been there for years and did everything way back when.
Places like this are strange wormholes. It's like finding an island inhabited by a tribe that once met a group of sailors 50 years ago and nothing else so they have no knowledge or understanding of anything modern.
Admin
This sort of thing used to be common at small companies. The company had 1 computer guy who did both programming and hardware and didn't have any formal training at either. Knew enough to build a simple system from book examples and build it up into a big messy system because he knew everything about that one system. If a person is reasonably smart and spend all of their time working with one system they can build that system up pretty big without source control or logical organization. Security is non-existent but since the system isn't connected to anything it gets by.
Now days it's different. The computer guy probably has a degree in programming. Rather then having everything done with one language and one database you instead get a pile of different open source and free account bits scattered across half a dozen different languages and back ends. Companies end up with essential services being run on free trial accounts. The code is now kept on github in theory but in reality a lot of the code and configuration exists only in the account that it goes with. Everything is theoretically secure but there are huge holes across the various accounts.
Admin
Wally is a hero. In a world where technology moves on at a much quicker pace than one person can possibly learn, and probably with a shoe-string budget (if at all) he maintained the unholy mess and kept it running well beyond its sell-date. Then a young whippersnapper comes along, wants to upset all of the ingrained procedures he knows by heart, the only lifeline he has in his job, knowing that the contractor will vanish one day, and he will be confronted with an unmaintainable mess of new-fangled inner workings he doesn't have a chance of understanding.
In this situation, the only reasonable approach is to ask: What do you think would make your work easier? If there is no (good) answer to that, then go with the flow as long as you can bear, and run.
Wally will suffer until his company goes belly up. He will be the casualty who fights in the trenches; any air-support notwithstanding.
Admin
I think Dunning-Kruger comes into effect here.
TRWTF is the fact that they deliberately bring a contractor in (who, presumably, has been hired because he has some expertise) and then equally deliberately don't want him to contribute said expertise.
Bin there dun that ... I was brought into a job as the expert on how to build an application using the proprietary application-building tool which was our flagship product. We also sold consultancy on how to build such an app using that tool. And that's what I was sent to an overseas customer to do: provide expertise.
But the chief architect was the Chief Architect and What He Says Goes. "Seems silly to use that tool, it looks like it generates inefficient code. So let's hack the generated html into shape to make it more efficient." And so on. It didn't work. They canned me as a result. (Turned out that this team had been together for the last 3 years and had completely failed to build the website front-end that they had been tasked to do, which is why we were brought in as a last resort. Years after dumping us, they still hadn't built their app, because everybody knew everything and their way was the best.)
As for the story, the real victim of this piece is the warehouse of books. I feel great distress for them, and I hope they are presented to a good home.
Admin
On a positive note, while they're an ancient tribe, they're not cannibals, and they let him build a boat and sail away.
Admin
One missing detail, it doesn't say anything about what process George proposed. If it was pretend agile with a "project manager" looking serious in endless meetings where programmers waste their time answering stupid questions, i would've fired him, too.
Admin
The first suggestion is that Wally keep a copy of the database code somewhere other than in his own head. That seems to be the first and probably final straw!
Been there, done that too. People can build empires which are easy to defend; baffle the managers with pseudo-tech and any improvements or changes are treated as seditious heresy that will definitely cause armageddon or worse. Kruger-Dunning, Imposter Syndrome, and my personal favourite, bullsh1tting, all converge into a happy-ish Dev or whatever busy doing nothing good and everything bad.
There's an article here about the {redacted}{redacted}{redacted}{redacted}{redacted} in a cave {redacted}{redacted} printing maps and glueing them together {redacted}{redacted}{redacted} for nucl{redacted}{redacted}{redacted}
Admin
So Wally can type out the entire DB structure from memory in 25 minutes?
And it worked?
Admin
That does appear to be his method of back-up. When he needs a new test database, he just types it out again.
Admin
That my friends is called job security.
Admin
I felt like George at my last job. Contractors had been there for years. "Branching is too hard", "MVC is too hard", etc, etc. Sigh.
Admin
I think Wally has a future as a stand-up comedian. Here Roberto Benigni explaining and then reciting by heart a chant from Dante's Divina Commedia. Database creation table is more boring and doesn't get engaged in TV shows.
https://www.youtube.com/watch?v=2eBcf44SQNI
Admin
When George asked for the database creation script, I thought he was going to run it and accidentally drop the production database. Not sure which story is better (worse), honestly.
Admin
Wise man say: when company die, custom internal code no longer need support!
Why does Wally need to teach anyone how his code works? If the company dies, nobody will need to support it anymore. If Wally dies, then is in a better place where he no longer cares what happens to the company. Nothing more is needed, Wally is at one with the universe. Who needs books anyway?
Admin
What do you mean, "test database"? We already have a database!
Admin
George is gettin' upset!
Admin
I can imagine* using an old version of Delphi, but 1.0 which was targeted towards Windows 3.x apps? That's, well, interesting.
Admin
Well, duh. George suggested that, but Wally heard, "I don't trust you, and you shouldn't either." Not a good message to be sending, even if you didn't realise you were sending it.
Admin
I proposed that they have one line: type CurrentDBConnection = OldUnsupportedDBConnection;
so that in six months or so we could change it to: type CurrentDBConnection = NewShinyDBConnection;
... instead of having to change 660 hard-coded references in 200+ forms.
I just got the canonical caveman looking at a black monolith kind of look, so I distracted Wally with a racist joke and that sidestepped that uncomfortable situation.
Admin
circa 2005, it was every programmer for himself to find any software tools with which to build our web pages. The employer supplied no coding software at all. Some used notepad. They were power users, in the MS DOS sense I guess. My omg moment was the well attended demo by some guy who had succeeded in creating working web pages with Microsoft Word's built-in HTML generation.
Admin
"saved a script on hand" ... for whom?
I won't say that George should have been completely indifferent, but you don't go into a company and start shaking up its line-of-business software for the sake of engineering aesthetics. And if the aesthetics are truly terrible, you don't stay there any longer than necessary either.
Admin
I mean what are you going to put on your resume? "Delphi 95 and crustybase (5 years)"? Let the eye-rolls commence.
Admin
What probably happened here, and in a lot of the other stories, is that the company started to use computers and Wally became the entire IT department. He may have been an employee who was interested or showed ability, or even someone with experience and/or training brought in from outside. It didn't matter, once he was installed he was expected to do everything: need a new PC, Wally goes to Best Buy and gets one, then wires it up, and installs the software; need a new report, Wally will write it and run it and take the papers to the CEO. And so on.
Over the years he's asked for more funds, for more staff, for more training, for updates to how the system is, and every time the answer is that the system is running fine so there's no need to do any of that. Besides Wally has to keep anything running so how can he do that and train himself or new staff, or make a system wide change?
Wally could walk away, knowing the the company will come to a halt a month later, but he a good man and doesn't want to do that, so he put up with it and keeps duct taping everything. Finally when they do something about it, it's to hire a contractor (and they're probably paying more for that than Wally gets) who instantly cannot help from criticizing how out dated and inefficient everything.
Admin
I recognize that version of Delphi - Delphi 7.0; the last Win32-native version with deterministic runtime. Still a primary development platform at a company I know. Fortunately they use a standard SQL Server datastore instead of off brand XYZ database.
Admin
Been-there-done-that, too. I was hired as an experienced software engineer to help improve a system that had been written by mostly self-taught programmers. One of the issues was how slow the system was. I proposed replacing the pile of CSV files with a relational database. I was gone two weeks later.
Admin
@radarbob
Circa '97-98 my highschool had a class called "The internet"; where after mastering the fine art of boolean searches the final project was to create a personal home page in MS Word.
When those of us in the programming (Turbo Pascal FTW) class "WTFed" about, that teacher explained that trying to teach the bulk of those bozos actual HTML would be impossible.
I think you might have worked with one of the idiots I graduated with. I'm sorry. 😭
Admin
Leaving aside this was basically the situation in every company I worked... and mind you some are well estabilished "market leaders" with an headcount over 30!
A company I recently interviewed for heard about unit tests. They still have 0% coverage and no automated testing but from next month, they are going to be agile with ONE WEEK sprints AT LONGEST.
Admin
You young people with your sprinting and your running and always being in a hurry. You'll get me to have a heart attack one of these days. What ever happened to the good old days of typing out your code on paper and relaxing under a waterfall whilst the intern turns it into punch cards?
Admin
that describes 1997, not 2005 (down to using Word to produce HTML - did that!). We were using .Net in 2005.
Admin
Some years ago I worked for a publisjing company that made alumni directories (print version of Classmates.com) that in 2007 had everything running on I believe FoxPro 2.6 on PCs that, other than management (family run of course. Dad was CEO and apparently started there years ago as a programmer and bought the company, Mom was in charge of everything else but IT, Son was IT Manager) and IT, ran Windows 98 or even Me (yes, I'm serious). One PC in the mail room was running Windows 3.1 and their main application was running on DOS. Their website was like a 1996 era classic asp site written by the son with everything output using Response.Write because at some point he read it was faster than the angle bracket percent equals method.
Strange place. The office had a musty smell like an old person's home and the white walls were starting to yellow. But like everyone had been there for years and years and had no problem.
There's something for that, I guess. Living a primitive and ignorant life where you do the same rote, boring thing day in and day out but at least you can completely check out at the end of the day and not worry.
Admin
I once worked somewhere they were using Supercalc and Wordstar into the 21st century. It was a highly specialised business, they'd set it up when that stuff was current, nothing had needed to change for external reasons, and there simply wasn't any economic benefit to rewriting the whole thing to use modern tools. No security risks in an air-gapped system, even if it is using Win 3.x. No turnover of staff to bring training costs into consideration. It just worked.
Eventually the business was sold to a much larger company who, extraordinarily, were doing manually what the first company had automated. I found that a much less explicable decision. MuchLargerCo had reason to build the modern version.
Admin
To top it off they used an idiosyncratic SKU numbering system. The rest of the industry uses ISBN-13, not ISBN-19.
Admin
What is it really that's going on here? / You've got your system for warehouse control, / built on obsolete versions of software / with a network drive to store the code.
You keep the data schema in your head. / My proposals all get denied. / Then one day my contract's over. / Now this is what it's like when worlds collide!
Admin
... but.... but... ... did that script actually execute without errors? and did it actually correctly create the whole current db structure?? whyyy were we not told this???
Admin
I have worked with Borland C++ Builder in 2012 on a project that relied totally on the fact it was Delphi-in-C++, so was impossible to move on to modern C++.
One rule that it inherited was a class called DoEverything would have to exist in a single file DoEverything.cpp. One of those was 50000 lines of code and comments long. And there were a lot of DLLs (about 150) all created by tricking the compiler.
It printed custom labels for products, for which there existed no possible commercial software, as the label layout and content changed dependent on which country the product was intended for. It used a wierd document markup page element drawing "assembly language" that had been invented in-house. Eventually we did manage to migrate that to Lua plus a C library.
Version control was by copying the source code repository. I arrived 2 months after the previous software engineer had resigned as he couldnt cope any more. He came back as a contractor and we worked together for a while.
The other part of my job was embedded coding for products - I created a modified Earliest Deadline First scheduler which was more deterministic than an RTOS at running radio transmission bursts sharing one transmitter across several time division multiplexing radio systems. And that hurt the brains of normal software engineers.
I stuck it another 6 years, working by myself and other contractors, gradually becoming that person in the corner.
Eventually the job and the department came to an end, a project overran badly caused by bizarre hardware issues with bought in modules (ceramic packaging letting infra red light into affect silicon dies in an RF module .. )
Addendum 2021-03-02 16:10: Actually the real problem with that C++ Builder was that it had more in common with the C++ version proposed by Microsoft which was rejected causing them to go off to .net land.
Admin
I had a boss like this at a $100M Series B, but he was the Head of Machine Learning. Oh and he wasn't nearly as nice.
Admin
Built with Pennywise. The manager knows all hope is lost, and has exactly the right attitude.
Yep. Exactly the right attitude. Researchers should study him to see how he got his employees to memorize a script that takes 25 minutes to type. Guy's a legend.
Admin
Delphi 7 wasn't released until 2002 If it really was 1995 it would have been the 16bit Delphi 1 But yeah, Delphi 7 was the last really reliable/predictable version. Delphi 8 was a major rewrite to support .Net. The .net support was dropped fairly quickly, but the IDE still requires it.
Admin
This isn't just small places, I've been drifting into and out of contracts like this for 25 years. I don't get carried away forcing people to adopt the latest faddy stuff, basic source control, error tracking, DR etc can be achieved with negotiation and the tools "Wally" is familiar with. There's nothing worse than a codebase like Wally's were it's had a succession of trendy ideas forced into it by people who didn't really get the point ... a 4GL platform that had been well written in the 80s, subsequently spaffed with someone who read a book on OO, and then someone else with a wasp in their knickers about microservices, was a particular delight. And I speak as someone who primarily works with legacy Access stuff that found it's way to be business critical, bleurgh.
This stuff exists in horrible corners of some very well known organisations, places that really should know better. I had a gig not so long ago with a security agency that anyone who reads the news occasionally will have heard of, they had one of these. Trouble was "Wally" was an insecure psychopath who should never have been let near a keyboard. It was an unholy mess, but he was incredibly proud of it. Any attempt I made to fix stuff got sabotaged, what he wanted me to do was "just finish" his screwed up attempts at projects that had failed, mostly massive inner platforms of spaghetti copy pasta. To my eternal shame I took the bait and wasted a lot of time achieving nothing.
Admin
thanks for info
Addendum 2023-09-03 23:55: Are you ready to take your fellowship application to the next level? Look no further! Introducing https://www.fellowshippersonalstatements.com/ , your go-to destination for crafting compelling personal statements that leave a lasting impression. With years of experience and a team of expert writers, we specialize in creating captivating personal statement for fellowship tailored to your unique strengths and aspirations. Don't let your application blend in—stand out from the competition with a powerful narrative that highlights your achievements, passion, and dedication. Let our professionals help you make a lasting impact!