This is a weekly roundup of awesome DEV comments that you may have missed. You are welcome and encouraged to boost posts and comments yourself using the #bestofdev tag.
@codemouse92 described the steps they had to take in response to Have you ever had to take an ethical stand while on the job as a developer?:
The Project That Doesn't End
I was volunteering with a non-profit I cared about, at the behest of the director, who was a long-time friend of mine. The goal was to get their web store and recurring donation form built...a project I was informed had taken seven years and three leads so far, with no end in sight. The non-profit was in imminent danger of going bankrupt in a few months without the new site.
Through my initial work, the current lead on the volunteer project offered me a job at his then one-man IT firm. The pay was pretty good, and the circumstances were right, so I accepted.
A couple of months in, I started noticing some weird things in the project at the non-profit I was working on with my (then) boss. We didn't seem to be getting anywhere even still, owning largely to the platform we were using. Said platform (Odoo) was only being used because my boss said he liked it, but he had no timeline to finish this simple website with a CMS, basic web store, and donation form.
The director of the non-profit came to me asking about the timeline. He'd already been informed by my boss that it was "impossible to say for sure, but it will take at least ten years.". The director asked me to look into how to speed the project up, and as he the final authority on the non-profit project, I agreed.
Having familiarized myself with Odoo over the prior months, and having ultimately concluded that it was the single worst code base I'd ever laid eyes on (seriously, avoid it like the plague!), I began to look for alternatives. I found one, and put together a robust proposal that would guarantee the web site would be done, to spec, within three months. I tried to propose it to my boss, but he announced he was on vacation until the end of the year, and was not to be disturbed.
The director of the non-profit took charge and had me present my proposal at a board meeting of the non-profit. By time my boss got into the conversation a week later during a follow-up meeting, he was enraged that I'd proposed something without getting his permission first (although he'd refused to take my or the director's calls).
When the director confronted him on the 10+ year timeline, and then declared "Whatever we use, it will NOT be Odoo," my boss literally threw a kicking-and-screaming-tantrum during the board meeting, which I have never seen the likes of before or since!
Then he began the games: he attempted a strategic gaslighting campaign during the board meeting, dragging it out to a four-hour affair. I had to constantly interrupt him to correct deceptions. "This proposed platform has no transactions!" he declares at one point, scaring the business manager, until I forced him to admit he meant database transactions, not financial transactions.
When he played the "I feel so dishonored" card (it was a Christian organization), I announced to him, in front of everyone, that what he was doing was dishonest and unethical. He had manipulated his volunteer position into a paid position at an already struggling non-profit (something he had been foolish enough to do in front of me two weeks prior), deceived everyone into paying for an expensive and unnecessary corporate license of Odoo, and then strategically manipulated the project to never end. After all, as soon as the site was deployed, he'd no longer be needed for 20+ hours a week. I caught him out in several deceptions. And then I announced, in that meeting, that I could not in good conscience, work for him anymore.
The result: his sympathy cards went from playing religious notes to failing to impress the board. He was removed from the lead role on the project. And as I was his only employee, he had to drop some of his clients....clients I was now certain he was taking advantage of.
I never regretted it.
Triggered by an event related to activity on GitHub, open up a virtual machine and have it do something. Possibilities are endless but include building, testing, deploying, and posting GIFs.
@thomlom shared their guidance and a generous offer to help in What are the absolute top learning priorities for getting the first junior software engineering job?:
Comment Not Found
A function (or method) should do one thing, and do it well.
@liquid_chickens had a great answer to the prompt of Have there been more reliability incidents lately?:
I don't think most folks realize that even in the best of times, all of this * gestures broadly to the world at-large * , is held together by duck tape, hope, and 50+ year-old code. The older I get, the more amazed I am that anything works at all.
But yes, there's been an uptick in incidents. If you think of "the internet" as an interconnected ecosystem (which it is), stress in individual areas affects others. That's why it's really important to implement dependencies thoughtfully and consider the SRE bon mot that the network is not always reliable.
See you next week for more great comments ✌