• 0 Posts
  • 29 Comments
Joined 1Y ago
cake
Cake day: Aug 03, 2023

help-circle
rss

A) Take the L and don’t do it again.

B) Welcome to the internet.



You can live off minimum wage in Canada in some regions, if you’re children-free. It gets harder with kids, though the state will cover some of it of you’re low-income (Like a couple hundred per months, and virtually no income taxes).


Yeah, payroll was outsourced and they met with the firm once or twice a year. The firm took care of mostly everything legal, including insurances and tax benefits afaik. The head of “HR” was a lifelong friend of the owner so I guess he didn’t want to go there.

My experience in a big software company was different and probably just like yours. The people there were rockstars.


Yeah, 4 employees out of 20.

The fact this department even existed is a mystery to me. They didn’t even screen candidates or participate in interviews. It was basically 4 glorified secretaries. To be fair they also managed the payrolls, which consisted of sending the same excel file to he accountant each week. Realistically we would only have needed 1 person to keep track of whatever might pop up and to make sure the payroll system was up to date. The owners liked to screen and do the interviews themselves.

At some other place I worked we had 1 admin/accountant person working like 1 or 2 days a week for a business of about 40 employees. Again the owners were taking care of new hires.

HR as a department seems largely useless unless you’re hiring 365 days a year and have so many employees that you can’t keep up with all the requests. HR people are usually terrible at screening candidates anyway.


Holy. One place I worked at had way too many HR personnel. It was crazy. I happenned to have my workstation directly next to them. They quite literally did nothing all day. Nothing. At. All. It blew my mind.

So why did we have so many? Well at basically every company-wide meeting this dep was putting on the biggest theater performance of being overwhelmed by “governmental endless bureaucracy” or something. So they always tried to hire more of their own friends. Temporary roles always became permanent and we ended up with 20% of the company working HR. The owner of the company, bless his heart, really could not say no.

My experience with HR in most companies has been hit and miss, but this one example really opened my eyes. Of course if you hire people who are basically actors you run the risk of forming an HR dep that is very dramatic and manipulative.

I can’t really blame the workers for taking advantage of an easy job and making a great living out of browsing Facebook and gossiping all day. But it really suck that the actual good workers were over-worked because other areas of the business were under-staffed. Virtually nobody else had the political impact in the hiring process HR had. Obviously this business wasn’t run by genius.


I really like ReactiveX for async programming, though having to go through a library is definitely a pain. It also does not make it less awkward to design your public API unless you’re okay exposing Rx types. Fair points!


It is incredible really, I worked with C# for so long, and I tend to be very critical of the stuff I’ve used for a long time. For C#, I am struggling to figure how I would improve it, because all the stuff that suck in C# is usually the lesser of two evils.

Of course if you hate classes, types, managed memory or anything invented in the last 20 years you will hate it, and I’ve met people like this. That is why you gotta keep learning as a dev, you don’t want to be one of those.



The database should be made in Flash.


Yes, and the test suites were insane. The program was outputting a lot of data, and we basically asserted on anything and everything for any given integration. I mentioned that testing wasn’t the only issue, well there was a lot of issues. Unfortunately the behaviour changes were requested by the stakeholders and there was no way around it. That being said, had this thing we maintained been properly developed those changes would have been a breeze imo. The actual requirements were very simple.

But anyway, I realize this is maybe an extreme example to paint integration tests negatively, but the point remain. In this scenario, every time we changed a bit of code it broke dozens of integration tests instead of breaking just a relevant integration test, had everything that could have been unit tested been written that way. The integration tests could probably also had been less… exhaustive, but it was probably for the best considering the codebase.


Makes a lot of sense. I figure contract tests is more or less what I have been doing then.

I think there is that misconception that unit tests are about validating each line of code and preventing logic bugs. Though obviously you understand that this isn’t just about that, or not at all about that I would argue. Unit tests won’t prevent accidental breaking changes, but you can at least add new tests every time this happen, so you’re at least guaranteed that the next maintainer won’t be doing the same mistake.

In an ideal world we could probably have nothing but integration tests, but in my experience if you only do integration testing you end up working really hard maintaining tests that are prone to break and costly to run. Unit tests are cheap to code and cheap to run, it is a great place to enforce your “contracts” with tests that are theoretically immutable. After those tests are out of the way, you can focus only on the actual interaction between your systems with the more expensive tests.

Anyway, you have a good take I am just blabbering. This is based on my personal experience as someone who only cared integration tests but was later converted by a person much smarter than I am. And then later on by joining a team that exclusively did integration testing, hundred of tests. It was hell (imo), we had to change dozens of tests for every little bit of modification. The rest of the team seemed fine with it though. We rarely shipped bugs but progress was incredibly slow for a module of such low complexity. Testing wasn’t the only issue with that codebase though.


Oh, very interesting! I bookmarked it thanks for sharing!


It seems to be a rare talent indeed.

I am a programmer so my own approach is to find whatever similar project had to solve the same UUx requirements, either by searching the web or from memory, and to start iterating on that. Fortunately it is pretty uncommon to have to reinvent the wheel.

Well, most of the UX designer I have worked with don’t do that, and most didn’t seem to have that much experience using softwares. I have seen some weird shit in meetings, as the “non-expert” it can be very delicate to call those bad designs repeatedly. Even basic rules like when to use radio buttons vs checkboxes are sometime broken. All people working 6 figure jobs++.

I guess I have spent too much time on the computer over the last 2 decades and played around with too many interfaces to ever be satisfied with much of anything.


The best codebase I have ever seen and collaborated on was also boring as fuck.

  • Small, immutable modules.
  • Every new features was coded by extension (the ‘o’ in S.O.L.I.D)
  • All dependencies were resolved by injection.
  • All the application life cycle was managed by configurable scopes.
  • There was absolutely no boiler plate except for the initial injectors.
  • All of the tests were brain-dead and took very minimal effort to write. Tests served both as documentation and specification for modules.
  • “Refactoring” was as simple as changing a constructor or a configuration file.
  • All the input/output of the modules were configurable streams.

There is more to it, but basically, it was a very strict codebase, and it used a lot of opinionated libraries. Not an easy codebase to understand if you’re a newbie, but it was absolutely brain dead to maintain and extend on.

Coding actually took very little time of our day, most of it consisted of researching the best tech or what to add next. I think the codebase was objectively strictly better than all other similar software I’ve seen and worked on. We joked A LOT when it came time to change something in the app pretending it would take weeks and many 8 pointers, then we’d casually make the change while joking about it.

It might sound mythical and bullshity, and it wasn’t perfect, it should be said that dependency injection often come in the form of highly opinionated frameworks, but it really felt like what software development should be. It really felt like engineering, boring and predictable, every PO dreams.

That being said, I given up trying to convince people that having life-cycle logic are over the place and fetching dependencies left and right always lead to chaos. Unfortunately I cannot really tell you guys what the software was about because I am not allowed to, but there was a lot of moving parts (hence why we decided to go with this approach). I will also reiterate that it was boring as fuck. If anything, my hot take would be that most programmers are subconsciously lying to themselves, and prefer to code whatever it is they like, instead of what the codebase need, and using whatever tool they like, instead of the tools the project and the team need. Programming like and engineer is not “fun”, programming like a cowboy and ignoring the tests is a whole lot of fun.


I think unit testing is good at enforcing a spec so other developers know what to expect from your module and how to maintain it. It also kinda force you to dogfood your own stuff. I see a lot of hot takes about unit tests (its okay, this is why we’re here), but I am a bit curious how many people here worked in big chaotic software companies before and not just hobby project or small teams.

Imo it is strictly something you do when you write something like a library or any sort of module that you expect other developers to interact with. I’ve seen teams get all smug about code coverage as if this made them diligent. My personal experience is that developers who understand why unit tests are important tend to write better code than those who skip them or do it “just because”.


After 10 years working in offices, the last 3 being mostly remote, I hate to say it because I am lazy and it makes no sense to commute 2hours a day to go into an overcrowded city, but being in a physical location beats remote if done right.

The problem is, it is rarely done right. Some workplaces also just happen to be filled with people I will never bond with.

I also fucking hate to have my calendar filled with meetings and useless 1:1. It is worst than it ever been. What could have been a quick chat at my desk is now a reserved 1h long meeting for which I have to prepare and stay glued at my webcam for.

I have a friend who absolutely love remote and webcams. He loves sitting still in front of the computer and making faces and everything. Well I am not like that. I like multitasking, talking to people while I work or moving around. I loved going out for dinner with the people I bonded with to talk about stuff.

Work in the office can be made to not feel like work, I experienced it in at least 1 place. Made me feel like I was hanging out with friends all day. Remote work will sort of always feel like work for me, even with the people I like it is sort of meh. Being on call is too intrusive and not being on call is too isolated. We’re sort of missing the in-between. Anyway I could go on.

I always wished I could simply teleport into the building, because the commute has always been the worsy part of the day, by far.


Yeah I have this particular alt-right website I visit every now and then due to my morbid curiosity. It is basically a mix of Q-stuff, Trump fans, pro-genocide folks and people who shouldn’t be there but who are completely lost. They certainly think highly of themselves.

One thing I noticed, is that beside the conspiracy stuff for which the evidence is paper-thin and mostly made up of air, they don’t say anything really. I mean it is all one-liner, posturing, saying how the left or the globalists are so bad, but they don’t actually discuss in-depth of anything but those made up facts. Take our little conversion right here, we’re trying really hard to understand them, you yourself shown empathy for them. Well, they don’t speak like that over there. They don’t try to understand “the left”, they don’t discuss facts or events outside the talking points except to agree on the conspiracy stuff. But man do they think that we’re literal morons.

That’s one thing I noticed with some people in real life. People with simple world views have very black and white answers. They feel very smart because they’re pretty damn sure they solved whatever it is they believe. When they hear other people talk with nuance, cite allegories and abstract concepts they are completely at a lost. Often, their first instinct is to believe that we are completely stupid for talking nonsense. After all, it is all very simple right? It must be because we struggle to understand that we’re having such strange discussions. Aaaannyway. It will get worst until it get better. The cure for ignorance is education, but a few generations have been lost already.


Makes sense.

I suppose it comes back to the allegory of the cave, though I really like the idea of them having an inverted Okham’s Razor, because it helps to visualize on which side of the thought prison we are. Because, you know, Trump supporters would argue that we are the one missing the big picture.


It is flipping the complexity of the world upside down basically.

The world is a complex system made of many simple observable facts and events.

To them, the world is a simple system made of many overly convoluted and self-contradicting facts and events.

They still have to make sense of the world, so that complexity has to go somewhere. Every little thing has to be twisted and distorted to make sense of their simple world view. It is both intriguing and scary. It is the opposite of okham’s razor really, because they use it to justify the simplicity of the world, but really they picked the most convoluted answer.


You cannot do a whole lot without JS to be honest. My comment was not about Facebook but fingerprinting in general, though I kinda forgot to mention. I suspect finger-tracking strategies are kinda trade secrets so it probably varies. Running a VM still expose your VM settings, which basically let them track your VM around. This is the insidious thing about fingertracking, you can be followed around with spoofed data just as well. The very first time you will login anywhere, whether you use a VM or a VPM everything you touched with those settings will now track back to you.


Using weird anonymization techniques will also make you more unique. Disabling JS, running in a VM and having uncommon settings in general will make you very easy to follow around.


I lost a pretty substantial amount in stock options, this is why I stuck around. I was afraid to regret this decision my whole life. Well, years later I can tell you best fucking decision of the decade. I can make the money back, maybe, but the small chips of soul I lost in that environment will never grow back.


We had daily 45min+ stand-up at my old place, averaged 10 minutes per person. That team just reaaally loved meeting. Code was in de facto maintenance mode, even though there was years-long backlog and a shit tons of reasons to rework on the code base. It is like they hated coding, manager was old and he enforced coding standard like it was the early 00s, no OOP, no abstraction, bo new language features. Anyway, I disgress.

I raised the issue with the 15-25 hours of meeting per week and how little was being done, which I swear, they said was because we did not do enough “admin” and scrum work, and doubled down on the process. We were now expected to take 30min per day to write down how we spent our time to present to the team each retro.

Job was technically easy, because, well, we did very little technical stuff. I always had hated useless meetings, but I always managed to have some input on how to spend my time in othrr jobs. Someday I felt like crying in the morning before opening the mandatory webcam, thinking about the next hour of meeting, and I quit right then, I never joined another call and I kepty resignation to emails.


Agile is definitely not for everyone and every team. This is quite the irony because it was meant to be completely flexible and beside retros, all this businsss jargon was not made up by the creators of agile.

In some positions I only wished to be left alone with the relevant developers and make progress. Ultimately I get intertwined in a billion different metting to “loop me in”, years later after leaving one of those companies, I like to think of the hundred of wasted meeting hours for stuff I never had to act on in the company.


To be honest, I had a similar experience in a workplace, and I definitely did not have the guts to post it before reading your comment.

It is important to take all accusations seriously, but it is also important to verify.

I have seen baseless accusations getting reported and shared on my previous workplace. It was made to sound like a living hell, and frankly you would have needed to be on a psychotic break to experience it like this. This same employee had pledged on their first day of work to print a chart of conduct and equality that would bind us all. It was very weird to be honest. Unfortunately some people saw the articles and believed every words and felt “betrayed” by my old bosses.

Anyway, here’s a disclaimer because everytime I post an anecdote encouraging to be diligent I get replies telling me I am assuming this or that. Let me be clear, I believe Madisson and I would be very surprised if she wasn’t abused considering everything. But still, I like to verify, we must always verify. In this case, it means waiting for further development. You can encourage and support the supposed victim while simultaneously not jump to the throat of the accused.


I am so sorry I already gave all my money to a foreign prince or else I would.


The two-party system gotta end so the big parties can split and leave their history behind. You could have another party born out of bernier-aoc-warren with better PR called People of America or.some shit, with actual socialist policies, but it probably would not make them as mad, because their grievances are with the “Democrats”, you know, like a rival football team.