Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API

From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "decisions"
-
!!fml
"Root, go fix this bug. It'll take you two days."
The "bug" is a feature that was never implemented for one particular payment type.
The code in question is two years old, full of typos, smells, junior-isms, and is convoluted AF. The feature's commit touched 190 files and implemented many other features as well. Thus far, I have been unable to narrow down where this particular feature's code lives for the other payment types, nor which code or payment paths lead to it. Burned out, I can barely focus on the screen, let alone follow its many twisting and dynamically-inferred paths. I hint as to the ticket's scavenger hunt nature during standup.
"But I wrote comments on the ticket telling you exactly where to look to fix it," Thundercunt admonishes in front of the team.
"Sure, you did," Root replies. "You reworded what the original dev had said in the comments 20 minutes prior, and agreed with him. His comments were helpful, but it doesn't tell me how any of it works," she continues.
TC scoffs and closes the meeting.
Root stares blankly, seeing neither code nor screen, questions her life decisions, and recalls the previous tickets she has worked on: nearly every one of them busywork, fixing other people's bugs. Bugs she never could have gotten away with if she tried.
"Why do I put up with this?" She asks. "They don't care, and it's killing me."
But the bills remain, and so must she.
"Fuck my life" she finally decides.20 -
In retrospect, being open about autism in the workplace was a very bad decision.
My manager and CTO got to know about it and since that moment, every single thing I do has a different meaning to them.
All my technical decisions have to be validated by someone else, and my critique about how certain things are done is dismissed as if I were some kind of alien.
I really wonder when they're gonna ask me about their future or something.28 -
The longer I work in IT, the longer it takes me to answer tech questions.
In my jr days I was confident and used to blab out the first thing [solution] that came to my mind. But now.. Now I tend to require a few minutes to think about the question, the problem, possible solutions, weight out their pros and cons and only then can I start answering.
If I don't wait, I usually tend to regret rushing as a better answer comes to me a few minutes later
is it just me getting old? Or do you have the same thing?26 -
Yeah Mozilla fuck merit and fuck you too!
This, this is what I was talking about when the fucking CoC came out and everyone (including it's author) started it using it as a political weapon.
You castrated fucking virgins! Mozilla, I want to support you I really don't like chrome but you always manage to disappoint everyone. I'm tired, tired of you morally superior socialists infecting my fucking workplace, entertainment and news.
This is just an excuse for lazy assholes to have their cake and eat it too and it's damn fucking INSULTING to us "minorities", I can work to get nice things just like anyone else bitch! having another skin color is not a disability!
Worst of all, you seem to have straight out millennial retards making these decisions seeing as it's based on an article from a washed up "gender research" professor that thinks Barbie Doctor is problematic, the most biased and dumb source you can possibly pull out of your ass.
Two classmates were murdered this morning, do you really think we care about what your diversity and inclusion Dept thinks it's problematic? You delusional halfwits, the only comforting thought is that your soft bigotry will perish alongside your product when it inevitably diminishes it's quality for sake of "equality".
Want to make better products? Ditch your useless diversity and inclusion department and start optimizing the memory consumption on firefox.
Want to help minorities? Start paying your outsourced developers decently.
I hope this helps people who thought including politics in software development wouldn't have dire consecuences to open their eyes; if not, oh well I guess people will get it when mozilla keeps going down the drain and they get fired because they just outsourced their work in the name of "diversity" just to save money.
https://blog.mozilla.org/inclusion/...100 -
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
College can be one of the worst investments for an IT career ever.
I've been in university for the past 3 years and my views on higher education have radically changed from positive to mostly cynical.
This is an extremely polarizing topic, some say "your college is shite", "#notall", "you complain too much", and to all of you I am glad you are happy with your expensive toilet paper and feel like your dick just grew an inch longer, what I'll be talking about is my personal experience and you may make of it what you wish. I'm not addressing the best ivy-league Unis those are a whole other topic, I'll talk about average Unis for average Joes like me.
Higher education has been the golden ticket for countless generations, you know it, your parents believe in it and your grandparents lived it. But things are not like they used to be, higher education is a failing business model that will soon burst, it used to be simple, good grades + good college + nice title = happy life.
Sounds good? Well fuck you because the career paths that still work like that are limited, like less than 4.
The above is specially true in IT where shit moves so fast and furious if you get distracted for just a second you get Paul Walkered out of the Valley; companies don't want you to serve your best anymore, they want grunt work for the most part and grunts with inferiority complex to manage those grunts and ship the rest to India (or Mexico) at best startups hire the best problem solvers they can get because they need quality rather than quantity.
Does Uni prepare you for that? Well...no, the industry changes so much they can't even follow up on what it requires and ends up creating lousy study programs then tells you to invest $200k+ in "your future" for you to sweat your ass off on unproductive tasks to then get out and be struck by jobs that ask for knowledge you hadn't even heard off.
Remember those nights you wasted drawing ER diagrams while that other shmuck followed tutorials on react? Well he's your boss now, but don't worry you will wear your tired eyes, caffeine saturated breath and overweight with pride while holding your empty title, don't get me wrong I've indulged in some rough play too but I have noticed that 3 months giving a project my heart and soul teaches me more than 6 months of painstakingly pleasing professors with big egos.
And the soon to be graduates, my God...you have the ones that are there for the lulz, the nerds that beat their ass off to sustain a scholarship they'll have to pay back with interests and the ones that just hope for the best. The last two of the list are the ones I really feel bad for, the nerds will beat themselves over and over to comply with teacher demands not noticing they are about to graduate still versioning on .zip and drive, the latter feel something's wrong but they have no chances if there isn't a teacher to mentor them.
And what pisses me off even more is the typical answers to these issues "you NEED the title" and "you need to be self taught". First of all bitch how many times have we heard, seen and experienced the rejection for being overqualified? The market is saturated with titles, so much so they have become meaningless, IT companies now hire on an experience, economical and likeability basis. Worse, you tell me I need to be self taught, fucker I've been self taught for years why would I travel 10km a day for you to give me 0 new insights, slacking in my face or do what my dog does when I program (stare at me) and that's just on the days you decide to attend!
But not everything is bad, college does give you three things: networking, some good teachers and expensive dead tree remnants, is it worth the price tag, not really, not if you don't need it.
My broken family is not one of resources and even tho I had an 80% scholarship at the second best uni of my country I decided I didn't need the 10+ year debt for not sleeping 4 years, I decided to go to the 3rd in the list which is state funded; as for that decision it worked out as I'm paying most of everything now and through my BS I've noticed all of the above, I've visited 4 universities in my country and 4 abroad and even tho they have better everything abroad it still doesn't justify some of the prices.
If you don't feel like I do and you are happy, I'm happy for you. My rant is about my personal experience which is kind of in the context of IT higher education in the last ~8 years.
Just letting some steam off and not regretting most of my decisions.15 -
Worst thing I've seen a co-worker do?
Its all relative, I've seen a lot of "worst's". Here's one of many I'll try to post.
A (married) DBA would often come to work drunk, starting fooling around with a couple of devs (which we suspect she had sought adventures outside the IT dept based on rumors), and ultimately got fired because she was caught sleeping at her desk (and she was drunk). One of her conquests told us she came from a very poor childhood and this was her first real high paying job. Abusive husband, being attractive herself, and being surrounded by other attractive, highly intelligent, single bucks (aka horny) that had no morals, equaled bad decisions.
She wasn't the worst, it was the assholes who took advantage of the situation that makes it in my top 10 worst things I've seen.8 -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.9 -
I think my biggest problem is not being able to let go.
I love this product and believe in it 100%, but I CANT FUCKING STAND ANOTHER MINUTE WORKING WITH THESE FUCKING CLUELESS CLOWNS WHO ARE GOING TO DRIVE IT TO THE FUCKING GROUND!!!!!
...you know what? fuck 'em, I meanwhile reap $400+ monthly checks from Udemy, while our "best startup / amazing startup / omg wow lol i'm a fucking idiot" has earned a TOTAL of $200 in the past FUCKING YEAR
YOU FUCKING CLOWNS GET YOUR HEAD ON STRAIGHT OR I WILL TAKE THIS COMPANY OVER AND CONTROL ALL DECISIONS, IGNORING ABSOLUTELY ANYTHING YOU THINK IS 'WISE' YOU DON'T EVEN KNOW WHAT 'WISE' IS YOU FUCKS!!!!!!!
WHAT ARE YOU GOING TO DO? YOU DON'T EVEN REMEMBER YOUR BITBUCKET CREDENTIALS!!!! YOU CAN'T EVEN REVOKE MY ACCESS
AAAAAAAGGGGGG YOU FUCKING CLOWNS GODDAMMIT THIS IS SO FUCKING FRUSTRATING I CANT EVEN I NEED TO SMASH SOMETHING TO GET THE RAGE OUTAASDASDJKLFJ;KLAFDSJKL;AFDSJKL;AFES L;KADFS AF LSAFS DHI;A EGWHIOAEGW IOAEGWHIO3 -
The minister of human resources is a fucking idiot. Nobody including ministry employees knows exactly what will the rules be 6 hours ahead, but they take effect immediately and failure to abide is punishable. Yesterday the HR minister said that if public schools close down, everyone will have to repeat this year. In response to this and a few other questionable decisions on behalf of schools across the country, today the government banned anyone from closing down public schools including headmasters, public health services, the police and the ministry of human resources.2
-
how often does it happen that you have to prevent terrible architectural decisions from being made, because people who are in charge but obviously have no clue, make really weird suggestions and are really confident that this is a good idea?
PM: so please analyze functionalities X with dev Y, since module Y that dev Y develops shall provide these functionalities.
me: as i said yesterday, module Y will use my module X and shouldn't care about how this is going to be implemented.
PM: yeah, but module Y shall be able to... (lists some functionalities)
me: yes, that's what i'm currently working on in module X. my current state of the API can be used in a way that... (lists different low level functions and how a combination of them can be used to provide these functionalities)
PM: okay, hmm... i just realize that module Y will actually be a user of module X...
well.... yeah?!!
i always thought that was crystal clear?? 🤦♀️10 -
The increasing number of people with pronouns in their profiles at my job is really annoying. I don’t know you and I am not participating in your delusions with you. If the company makes it mandatory, I will refuse and force them to fire me over it. I cannot work effectively at a company that has hallucinating employees with no grasp on objective reality. There’s no way to know whether decisions are based on solid objectivity and data or just how someone “feels”.81
-
Why does MS need to be such a scumbag with Windows updates?
Every now and then, this unskipable blue setup screen appears and forces the user to make some decisions.
"Do you want to set Edge as the default browser?"
"Do you want a 360 subscription?"
The usual crap.
But it‘s not skippable!
You have to make a decision and the UI for "fuck off" is different for every decision.
You can‘t just press the Nope button every time.
It‘s fucking deliberate. They want you to spend time on reading their shit and force it down your throat.
And let‘s not forget about people who don‘t know computer stuff very well and are confused by this. Then call us because "the computer isn‘t working again."
And you can‘t tell them to skip this slimy rotten vomit of a marketing weasel because you need them to tell you what the options are for each fucking decision screen.
😫17 -
Recruiter: I have an open position for lead DevSecOps role.
Me: Tell me more
Recruiter: It’s an AI company , where the AI is making clinical medical decisions. It’s really cool. They need somebody to help them pass government audits and you’d be solely responsible for the systems security, AWS accounts, and also all of DevOps, which they’ve never heard of before but I told them they needed and they though it was cool.
Also, they use AWS but not sure what services inside AWS, they think it’s AWS storage and AWS servers or something like that .
Me: That’s a big hell no. 👎 Got any other positions though ?9 -
“In 15 years, do you see X still being there? No? Then fuck it” - my manager on how to handle “important” decisions4
-
Don't update your pull requests half asleep, I repeat don't.
Now it's 2 AM, I am fully awake regretting my decisions.1 -
Issue in production. Multi billion dollar enterprise. Complex landscape. We sort of make things.
Turns out there is a single point of failure at a specific integration point. Kind of a lot stopped. When I reached out to the people knowing anything about it and I raised the issue that maybe we should make a slight change in how we do things they just brushed it off. Like it was nothing… 😬
No data was lost but everything was delayed for many hours. The _truth_ varied in different parts of the ecosystem causing potential wrong or suboptimal decisions to be taken.
When I asked why this LOS was not detected they told be they have no means of detecting it. 😬
I’m like, yeah, it’s 2023, we’re going to land on Mars and you can bet your ass we can detect it and you are just LAZY DEVELOPERS!
Anyway, I escalated (nicely) and they are now implementing a (more) resilient system and we’re helping the team detecting THEIR LOS in minutes instead of downstream services hours later (they are bad also but it’s not their fault!)
Stay safe!15 -
I feel like a sailor waiting for an upcoming voyage. Restless, yet hopeful, yet a bit anxious about what will happen.
Also, am unemployed now. Lol. Feels awesome... Except for the financial part. ¯\_(ツ)_/¯
Also, am making way too many philosophical decisions as I stand at the edge of an important phase of my life. And rediscovering a part of my personality I forgot existed.
Anyways, hopefully future brings more robots, more AI, more fantastic things to build, and more money and success.2 -
Something that annoys me about AI discussions:
We often have this explanation that it is not real intelligence. It lacks an inner life. It doesn't wonder.
But most of those argument are biased on a believe. The believe that we have real intelligence. That we wonder.
Just as an example: https://youtube.com/watch/... (You are two video from CGP Grey about split brains)
To the best of my understanding, we do not make reasons and decisions usually at the same time. We decide. We are asked why, we invent a reason.
This can be shown via contrast MRI. Also shown in the above video about split brains.
There is this hypothesis, that reason developed as a way of non-hierarchic decision finding in groups. Two group members make different decisions. No reason. They find out they disagree with each other, there bains come up with defenses for their decisions. Now they can decide which arguments are better. Those decisions are now reasoned.
Different study found that it takes usually up to 15 seconds before the rational part of the brain is activated when hearing an argument that you're oppossed to. When hearing (or making) an argument agreeing with your own opinion, the rational part of your brain is turned on immediately. Also in support of a group communication hypothesis.
Our brains evolved to fool us into believing we make rational decisions based upon reasons. That we are one entity. And that it belongs together. Because that was best for our survival. We take ownership of our decisions.
But in the end, it just makes us believe this intelligent thought has happened.
Now, we examine our inner self, which as just right now explained fools us. And we assume that other have similar inner selfs. And we arrive at the believe that we are terribly complicated and have an amazing sense of self.
Oh, an humans run on wet ware. Meaning, it is probably very unreliable. We must experience the equivalent of bit flips all the time. We must have great error correction systems. But lots of our human like tendancies might just be error corrections. (Some forms of creativity for instance.) It would be simple to add bad internal communication to simulate errors.
Emotions are bad communication aswell. But for a different reason. Imagine you have to put a few million states within a few states. Well, you mix and add, but in the end you just get as close as possible. And have an intelligent observer find out why you feel dread. Maybe your lizard brain saw a snake. Maybe you realised you're late for an assignment. Same flag. Our cognition has to work out why the flag was raised. Fewer than required states are also easy to simulate.
I think the thesis of this rant is: There is a good likelihood that we fool ourselves into thinking our own intelligence is so special and AI is actually far closer to human level intelligence than we think.
Or in other words, we are internally a Chinese room and we have decided we actually speak Chinese.
Disclaimer, I freely mixed my hypotheses with scientfic results. But hey, this is not a thesis, it's a rant.13 -
Working with the Android SDK after about a decade of mostly avoiding ever having to do so directly...and fucking hell, nothing has changed.
It's still obtuse as fuck, you constantly have to provide contexts to operations which can't need them (there's only one fucking keyboard to close), and whilst they have added some new stuff which helps like Material, the APIs are just as mental, the setup just as elaborate and manual - and they don't seem to have deprecated anything along the way, so fifteen years of random software design decisions cohabit awkwardly together like the Bucket family.
I don't really mind Java, it's just long-winded C - but boy has it found its niche here. Your code is more boilerplate than not until you've written more than you'll mostly ever need to for an app.
At this point I'm just laughing when I come across another Stack Overflow solution for a trivial operation that involves writing an entire class. I would try Kotlin but this isn't a new project, and I'm not pissing another ingredient into this hot mess.
Alright, Android Studio is an improvement on Eclipse, but that's not really saying much.3 -
My dev lead is a uniquely poor leader with an impressive ability to produce a large amount inflexible, temporarily functional code.
As we're in another pair programming session where I try to keep him from destroying over all type safety and architectural decisions to meet a self imposed demo deadline, he keeps trying to access properties of his state.
This state object is incorrectly typed with an anonymous type with incorrect properties.
Despite repeating calmly stating that the object is incorrectly typed, and that's why there are red underlines when he tries to access a property he knows is in there, he insists that that's not correct.
Finally, he knowingly says that he's figured it out and that he's been doing this for many years.
What was the solution you might ask? (state as any).myProperty;
Truly breathtaking mastery. -
This item on my TODO list reads "Finish the paper" but it's more like wishful thinking. I have very few pages available (cuz IEEE still can't afford to give you free pages all the while being fully electronic and each extra page costs like €1000000) and much more to explain. As well, am trying to fit words by removing other words...
Fuuuuuuuck youuuuu toooooo IEEE.24 -
Here we are, three years later. Our system breaks down at the slightest load. An architecture is hardly recognizable anymore. The code consists of methods that have been refactored beyond recognition. The so-called architects came and went, leaving behind an ever-growing fiasco. Wrong decisions are concealed, criticism of them dismissed as ignorance. Our clients are on the verge of having us all killed. Daily crisis meetings are the norm. The remaining developers skulk around the unmaintainable code like emaciated ghosts. Everyone who has even the slightest chance to escape takes a parachute. Our dailies are made up of lies to cover up yesterday's lies. Our Mondays have become days of dread, because that's when the weekend disaster news has to be analyzed. Yet there are still developers who turn a blind eye. Who recommend this and that workaround in a good-humored tone. The code consists only of workarounds. Sarcasm has replaced any normal discussion. Reasonable suggestions on how to basically refactor the whole thing are rejected for cost reasons. In the process, our entire budget is eaten up by maintenance costs. Middle management should be put up against the wall. Why am I still here? This deceptive feeling that one could still turn the tide. This is eating me up.2
-
So, I've had a personal project going for a couple of years now. It's one of those "I think this could be the billion-dollar idea" things. But I suffer from the typical "it's not PERFECT, so let's start again!" mentality, and the "hmm, I'm not sure I like that technology choice, so let's start again!" mentality.
Or, at least, I DID until 3-4 months ago.
I made the decision that I was going to charge ahead with it even if I started having second thoughts along the way. But, at the same time, I made the decision that I was going to rely on as little external technology as possible. Simplicity was going to be the key guiding light and if I couldn't truly justify bringing a given technology into the mix, it'd stay out.
That means that when I built the front end, I would go with plain HTML/CSS/JS... you know, just like I did 20+ years ago... and when I built the back end, I'd minimize the libraries I used as much as possible (though I allowed myself a bit more flexibility on the back end because that seems to be where there's less issues generally). Similarly, any choice I made I wanted to have little to no additional tooling required.
So, given this is a webapp with a Node back-end, I had some decisions to make.
On the back end, I decided to go with Express. Previously, I had written all the server code myself from "first principles", so I effectively built my own version of Express in other words. And you know what? It worked fine! It wasn't particularly hard, the code wasn't especially bad, and it worked. So, I considered re-using that code from the previous iteration, but I ultimately decided that Express brings enough value - more specifically all the middleware available for it - to justify going with it. I also stuck with NeDB for my data storage needs since that was aces all along (though I did switch to nedb-promises instead of writing my own async/await wrapper around it as I had previously done).
What I DIDN'T do though is go with TypeScript. In previous versions, I had. And, hey, it worked fine. TS of course brings some value, but having to have a compile step in it goes against my "as little additional tooling as possible" mantra, and the value it brings I find to be dubious when there's just one developer. As it stands, my "tooling" amounts to a few very simple JS scripts run with NPM. It's very simple, and that was my big goal: simplicity.
On the front end, I of course had to choose a framework first. React is fine, Angular is horrid, Vue, Svelte, others are okay. But I didn't want to bother with any of that because I dislike the level of abstraction they bring. But I also didn't want to be building my own widget library. I've done that before and it takes a lot of time and effort to do it well. So, after looking at many different options, I settled on Webix. I'm a fan of that library because it has a JS-centric approach. There's no JSX-like intermediate format, no build step involved, it's just straight, simple JS, and it's powerful and looks pretty good. Perfect for my needs. For one specific capability I did allow myself to bring in AnimeJS and ThreeJS. That's it though, no other dependencies (well, at first, I was using Axios because it was comfortable, but I've since migrated to plain old fetch). And no Webpack, no bundling at all, in fact. I dynamically load resources, which effectively is code-splitting, and I have some NPM scripts to do minification for a production build, but otherwise the code that runs in the browser is what I actually wrote, unlike using a framework.
So, what's the point of this whole rant?
The point is that I've made more progress in these last few months than I did the previous several years, and the experience has been SO much better!
All the tools and dependencies we tend to use these days, by and large, I think get in the way. Oh, to be sure, they have their own benefits, I'm not denying that... but I'm not at all convinced those benefits outweighs the time lost configuring this tool or that, fixing breakages caused by dependency updates, dealing with obtuse errors spit out by code I didn't write, going from the code in the browser to the actual source code to get anywhere when debugging, parsing crappy documentation, and just generally having the project be so much more complex and difficult to reason about. It's cognitive overload.
I've been doing this professionaly for a LONG time, I've seen so many fads come and go. The one thing I think we've lost along the way is the idea that simplicity leads to the best outcomes, and simplicity doesn't automatically mean you write less code, doesn't mean you cede responsibility for various things to third parties. Those things aren't automatically bad, but they CAN be, and I think more than we realize. We get wrapped up in "what everyone else is doing", we don't stop to question the "best practices", we just blindly follow.
I'm done with that, and my project is better for it! -
How to manage when you start something good for you, start taking decisions for your good and people start spreading hate about you. It obviously will effects your mental health right?
How you guys manage it? I mean how?
Today I'm feeling of getting bullied and getting bullied again from the same person. I'm correct but can't show the correctness just because there's no proof I've in-hand.
I'm literally tired of people now!4 -
having some rich and poor friends , i have found some weird behavioural patterns:
1. the poorer they are the lesser they value time over everything else. rich guys not only value their own time, they value other person's time too
2. the poorer a person is, them more they find happiness in people than objects. the richer a person is , the more they spend 'buying' happiness in the form of shiny objects/materialistic stuff than celebrating with people
3. poor people are inclined towards respects and beliefs , while rich people are inclined towards facts and logics. a rich guy is always trying take decisions and make opinions around facts+logics(and even sometimes trying to create false facts around their perspectives), while the poor folks end up doing something out of respect because their ancestors or relatives etc "told" them to do so
======
I am not sure if i can infer anything from above facts. these are not the points that "make" someone rich or poor (or maybe they do, idk)
Both have their goods and bads, but both types of folks are not ideal : Poor people have decency, humanity and respect for traditions/people, but lack areas of growth. while rich people are so much focused on growth and gains, they forget to be a human first
As a friend, i enjoy both styles : get ample amounts of outing, fun, budget parties with my poorer folks, while going into fancy expensive restaurants and trying new cuisines with my richer folks :P5 -
I don't care about market cap. Stick your hype-driven business practices up your ass. Infinite growth doesn't exist. I won't read your fucking books and attend your fucking bootcamps and MBAs. You don't have a business model. Selling data is not a business model. Fuck your quick-flip venture capital schemes, and especially fuck your “ethics”.
I will be the first alt-tech CEO. I only care about revenue. The real money, not capitalization bubble vaporware. You don't need a huge fleet of engineers if you're smart about your technology, know how to do architecture, and you're not a feature creep. You don't need venture capital if you don't need a huge fleet of engineers. You don't need to sell data if you don't need venture capital. See? See the pattern here?
My experience allows me to build products on entirely my own. I am fully aware of the limitations of being alone, and they only inspire lean thinking and great architectural decisions. If you know throwing capacity at a problem is not an option, you start thinking differently. And if you don't need to hire anyone, it is very easy to turn a profit and make it sustainable.
If you don't follow the path of tech vaporware, you won't have the problems of tech vaporware, namely distrust of your user base, shitty updates that break everything, and of course “oops, they raised capital, time to leave before things go south”.
A friend of mine went the path I'm talking about, developed a product over the course of four years all alone, reached $10k MRR and sold for $0.8M. But I won't sell. I only care about revenue. If I get to $10k MRR, I will most likely stop doing new features and focus on fixing all the bugs there are and improving performance. This and security patches. Maybe an occasional facelift. That's it. Some products are valued because they don't change, like Sublime Text. The utility tool you can rely on. This is my scheme, this is what I want to do in life. A best-kept secret.
Imagine 100 million users that hate my product but use it because there are no alternatives, 100 people in data enrichment department alone, a billion dollars of evaluation (without being profitable), 10 million twitter followers, and ten VC firms telling me what to do and what data to sell.
Fuck that. I'd rather have one thousand loyal customers and $10k MRR. I'm different, some call it a mental illness, but the bottom line is, my goals are beyond their understanding. They call me crazy. I won't say it was never about the money, of course it was, but inflating your evaluation is not “money”. But the only thing they have is their terrible hustle culture lives and some VC street wisdom, meanwhile I HAVE products, it is on record on my PH. I have POTDs, I have a fucking Golden Kitty nomination on health and fitness for a product I made in one day. Fuck you.6 -
I don't know if on the outside it seems like I know my shit and I know what I'm doing or not, but on the inside, I have no fucking idea what I'm doing. I'm just going with my gut and hoping for the best and I don't know if people are actually falling for that or not.3
-
I just love it when the management/project office make decisions regarding code language and frameworks and such... just ignore the devs with actual experience...4
-
I was in a company (if you can call it that) for 3 months but I didn't exactly have a good selection process and I was even afraid to get paid for the first month. They made me install Hubstaff (or new slavery), I was in a project that mixed too many technologies, we were not clear who was making the decisions and finally they fired me this week, you don't know how happy I am.2
-
I can now appreciate some design decisions behind react-redux after witnessing some angular OOP clusterfuck.
I am sure there is some clean/correct way to code in angular, but everyone is treating angular as java.
Some angular application (the one I have to work with) is littered with network calls. It's difficult to spot duplicates. People usually resolve promises everywhere. In services, in a top-level component, or in for loops. In react, people use apollo/redux-query or redux-saga to handle network calls. Since these libraries prevent duplicate network calls internally and reassigning apollo network call function or redux action function is always useless, it's easy to spot all network calls in a component tree.
In angular, it's difficult to trace data mutations when data can be updated everywhere. In react, you can easily find UI state updates by tracing state hooks/dispatch/apollo usages.
In angular, it's difficult to trace data pipeline. Since everything is imperative by default, people need to add update functions in data subscriptions. With all the littered mutations. Soon you will lose track of what the fuck is going on.
I hope angular get the agonizing death it deserves and fuck everyone who codes JS OOP clusterfuck UI.11 -
When you’re interviewing for a job and the recruiter tells you the hiring manager is brand new, and
the hiring manager’s manager is also new, how do you react?
I’ve had two jobs in the last six years where basically everyone in my sphere of technical collaborators were new to the company and both times it utterly sucked, both for administrative reasons and because there was no institutional/historical knowledge I could lean on to make decent enough decisions on my work.
So now when I hear a recruiter say “oh yes John is the hiring manager, he’s been here six weeks and the Director is also new!” I’m suddenly much less interested in the position anymore.
I’m probably thinking about this too much, right?4 -
Nearing the end of the year, and all I'm thinking is that I'm just making bad decisions left and right. And these are like long term decisions, that don't show results until much later.
It's making me really depressed and it's not good.
There are a bunch of should haves all littered throughout the past 3 months and it's really fucking with me.2 -
Imagine you're in a company, one year in now. You've tried your best to amass as much knowledge of legacy services as you can (specially given no documentation) and you think you've done the best you can.
Now imagine your manager is upset that you haven't gotten as much domain knowledge as an engineer who's been in the team for five years now. Then also imagine that your manager whenever asked about specific product or tech or any knowledge on a service just keep tagging the 5 year engineer. If he ever gives an update in slack on any incident, he doesn't read what everyone has written in the channel so far, but invites the team on a call, and asks them to verbally tell him what to write as an update so as to show he actually understands it all and is showing leadership. What do you do?
Also I've read a good manager let's his team self function without any micromanaging but I feel this is literally hypocritical (lack of knowledge comparison) and useless of him to essentially making no decisions or understanding anything without pointing fingers. What would you all do about this kind of manager, or am I just inexperienced and maybe not seeing what he's actually doing and contributing. -
Does anyone else find it strange that the stupidest people in the company are making all the decisions.
In order to be able to engineer software you have to understand everything that the product owner knows, the business analyst knows, the product manager knows + how to actually make the system both work in a reasonable time frame and be maintainable long-term.
But we're not the one making the decisions. The irony of it is something that I can't get beyond.
And when I do go out on a limb to point out a logical inconsistency to UX or product... They don't thank me for it they hate me for it and then 3 days later figure out that they should be doing it and quietly follow my suggestions.
Seriously is the goal here to create good software or to avoid stepping on everyone else's toes in the company who is overwhelmed by the complexity of the project.
I think companies based on a hierarchy of non-technical people controlling technical people, in the creation of software products are a dying breed.
When it comes to creating software products everyone in the hierarchy should be technically minded.
I've seriously been trying to come up with an alternative perspective here.
The executives of the company are completely out of touch and the only thing which looks like progress to them in a sprint review is something visual on the front end.
The technical architect, the product owner and the product manager all seem to be engaged in keeping the executives happy and managing their expectations. By means of obscuring the truth.
Imagine how much more cost-effective building a software product would be if the executives were engineers themselves.
I'm keen to do an experiment and build a company comprised of engineers only.
Obviously they need to have insight into the other roles. But none of these other roles are as complex as implementation itself.
So why exactly are we the slaves of these well-meaning under thinkers?7 -
#Story time.
Been working on a project for 2 months with Colleague "Jim" doing the code reviews. Project is finished in a stable form and can be extended if needed. Then my other colleague/boss "Mo" decided that we need to do a refactor. Fast forward a bit and the conclusion is "Mo" and "Jim" are going to discuss every step with me. And we started a new project that should do the same as the project I just finished
Here some facts:
Every day a meeting/ code review / discussion.
Decisions they make I do not agree with.
I need to redo my work multiple times.
Now this does make me look like a toddler that needs supervision which is not the case.
They want something future proof and something that fits his new coding standard "Mo". and certain things I do agree with and is clearly the better architecture. however somethings are just stupid, time wasting, making it worse. I'm getting so frustrated by the fact that billion dollar companies have clear coding standards that work. and are correct. and this company decided to do their own thing of stupid rules!
- shorten variables
- Keep lines under 90char
- put multiple things in 1 file
- Keep function names short
and many more of removing stuff and let you guess stuff..
I just... *sigh* get so tired of this shit.
*names are randomly chosen2 -
On the topic of having to make decisions as a dev that shouldn’t be made (solely, at least) by devs…
There’s a lot to like in my current work environment: I enjoy being around my colleagues, I get to do a variety of tasks, and many of them interesting to me and/or great learning opportunities, the pay doesn’t suck and so on… there’s also not much pressure put on the dev team from other parts of the organisation. The flipside of the coin is that nobody who should express some kind of vision as to how we should develop the product further does so.
Me and my fellow devs in the team are so frustrated about it. It feels like we’re just floating around, doing absolutely nothing meaningful. It’s as if the business people just don’t care. And we are the ones ending up deciding what features to develop and what the specs are for those etc. and I really don’t think we should be the ones doing that.
One would think that’s a great opportunity to work on refactoring, infrastructure, security and process improvements and so on - but somehow we get bothered just enough by mundane issues we can’t get to work on those effectively. Also, many of the things we’d want to do would need sign-off from the management, but they are not responsive really. Just not there. Except for our TM, but they don’t have the power neccessary… at least they are trying tho… -
If you got job offers from Uber and IBM. Which one you would choose?
This would be my first big name company. Need advice. 🤷🏻♂️18 -
I got contacted by an other company and I am so unsure whether to accept their offer or stay at my current job.
For now I spend 2 years at my current company. The culture is great and everyone gets treated very well.
The bad part is, that it is located in a part of Germany I really can't stand and to this day fully remote is not an option.
Additionally lots of stuff is really frustrating in my daily work, e.g. colleagues that experiment with critical parts if our infrastructure, resulting in every developer who made the mistake to update the local development stack being unable to work for half a day or so.
This and the fact, that our techstack sucks hard. (mostly bad php for backend and server-rendered HTML and a weird mix of Typescript, Javascript, Vue and some old bits of deprecated angular for frontend). This company has it's own product (a web platform) and no real deadlines in the sense of "something bad happens, when your team won't achieve the project in the originally proposed time"
Company number two seems to work with a wide variety of technologies for very different projects (it's a consulting compan), would pay me ~28% more than my currently raised pay and allows for full remote.
When I try to look objectively on the facts everything points to accepting their offer, but on the other hand there is this weird feeling of this being a joice that would come to soon...
How do you make such decisions? I already talked to a great colleague of mine, who thinks it might not be a bad idea to stay at the company for an additional year or 2, because I haven't yet reached the point where there is not enough to learn here anymore, which I agree on, but this company seems to offer everything I want.
I feel overwhelmed with this situation :D that's why I would like to know how you people try to tackle such a situation8 -
As a dev, how can you work with a teamlead that second, third and 4th guesses your decisions?
Simple example: fixed a bug, but temlead was shitting bricks about some error. Did a thorough research and told him that that error message was already in codebase for years and can be safely ignored because there is no workaround. Main thing is that our solution is working and I followed the latest standards. Basically I had to advocate for myself. Fine. Shit happens I get it. But it seems that this is becoming a pattern.
Then I had to do another issue: fix some bugs. While testing I was not able to reproduce any bugs. Filmed a video of app, attached all proofs to the jira issue and informed the teamlead. He couldnt believe his eyes! One month ago he saw the bug and now its gone! I had to retest 3-4 times everything and he still doesnt take my word for it.
I cant continue working like this. I have few years of experience under my belt, never had to deal with such insecure teamlead. How can I work if he second guesses everything what I do? Jesus.5 -
unrealistic dream :
in my 40s, being cto of a market leading product in its v10 stage, whose v1 i created from scratch. me doing nothing except creating the best remote work hustler culture for the company .
i will be making both : the topmost and bottomost engineers/managers give ppts and talks of product that they created, ll system and hl system designs and the decisions that went into it
i also want some powerful management/ ceos as friends, that drive our boat to greater heights and generate tremendous revenue+ fundings + profits
----
realistic dream :
to keep being SE1 (or at worst SE2/tech lead) in a company, do 4-5 hr non impactful work per day and earn 3x the inflation as am doing now. plus somehow get a lottery or something once in a lifetime , that is worth 100x my current income so that i could build a home and 2 cars and a children fund
dev is not a great thing to be dreamt about, but it certainly paves way for a happier and healthier lifestyle if done right -
Do I waste a couple of hours to write a re-usable tool to make this setup process less of a slog
Or do I slog through it to make sure it's done on time then make the tool to make next month easier/faster
Decisions decisions 😮💨🤔2 -
!tech
I have this bad habit of never taking decisions without discussing. For risky, highly impactful decisions, ig this is a good approach, but when you are trying to be a host, or taking some very basic decisions like ordering food, or booking a time slot, i would ask opinion of all the parties involved.
I sometimes cross the line of being considerate to being bothering, irritating and unreliable with my debating nature.
I Don't know why but i for every situation i feel having a second opinion is necessary and good.For eg, Once i was my sister and our flight got cancelled due to bad weather.
I had to choose : either take the next available flight booked by the same airlines for free, which was around 26 hours later, or book the next flight from another airlines which was in 2 hours but costed twice. we were in a different state, and my middle-class/opportunity deprived brain was seeing a path for both choices, but i thought of consulting sis and she lost her mind. she got scared, she started regretting all our choices, the airway travels , everything.
if i had just taken the decision of going with the 2 hour late flight, i would hav saved myself from so much drama.
How to fucking man up in a decision making situation?8 -
I am probably going to regret this, but I’ve been having trouble making decisions about what to sing in Smule lately, so anybody got any requests for a song they want me to sing (probably badly?) 😂
-
Is it something like, with a great salary band you don't need to go to US? I'm a software developer, I get good money, in India.
There are a lot of people moving to US, the people I think can only take right decisions.14 -
Since the last rant is talking about brains, I feel like this summer heat is frying my brain. It's been some of the weirdest days for me these last couple of days. I cannot focus on anything. Cannot make sane decisions or conclusions. I'm more depressed/sad. More disorganized. I don't want to eat anything. I'm sky-high anxious. I'm more shy than ever in public. I have no reason for that but I don't what's happening.3
-
One of the weirdest aspects of Docker for me is cross-compiling program installations. One would think that something as complex as a container with several programs that each make unknown decisions based on the environment as part of the installation process can't be cross-compiled.2
-
I hate and despise all governments so much right now. Blunder, waste money. Politicians are rarely held accountable for the bad decisions
People say that anarchy is bad. Like, the streets would be full of thieves and bandits: you walk 10m and you get robbed because there is no police. The real question though, is: do we have any real evidence on this matter? Just something I've been wondering about lately.
Do we have a real-world example where the crime rate actually goes down because of a good decision made by the government? Do we have a historical example of an anarchy society? The way I understand it, people were just more bloodthirsty in the past: many liked the idea of going to war and killing enemies (is fact). Now the culture has changed, but the governments are stuck in the past.19 -
How do I put "forced to cowtow to a product manager who doesn't know the product" into my resume?
As an addition, maybe add in "asked questions several times but was browbeat into conformity only to realize conformity was wrong" and "asked for support I never got, then thrown under the bus when I acted on my own on a deadline". If it helps matters, I have been in meetings I never should have been in and had to make decisions I never should have been in the position to make.2 -
> Colleagues complain all the time about dumb shit which have no relevance whatsoever to the job (see my "cat in voice call" post): I get scolded, I need to change
> I complain for the first time in 2 years about relevant stuff which actually matters to the job (some guy collecting bad decisions one after the other): I get scolded, I shouldn't trash talk colleagues
The key lesson I'm learning here is how everyone is allowed to do everything towards everyone, everytime, but by God don't you dare doing it about what should be relevant about your fucking job. We don't do that here.1 -
I don’t really know how people make technology decisions… there are just so many factors to consider. And there’s some sort of drawbacks to every approach.4
-
Remember, you're not just the dev. You're the asset designer, UI designer, UX designer, translater, network assistant, general computer help, and more! What wonders you can work!
Actually, I'm wondering what management actually does other than "making decisions", whatever those could possibly be. We seem to make all the others. F*&#%*! -
Currently witnessing Conway's Law in person. No shit our sprint fails when task description are just changing suggestions, designs are poor and no one questions decisions, no debate or conversations about implementations. I think it's time for me to jump ship because bringing up this concern has only brought hatred towards me from the team.
-
Excelling in my job depends on me understanding where the company has been burned in the past. Once I figured out those places, it's easy to see why we prioritize certain decisions.
-
Suddenly, I find myself in a crossroad situation. I have been offered a position which would align perfectly with my career path aspirations (cloud solutions architect) with double the pay to my current salary. If only those were the only variables in this equation, taking the offer would be a no-brainer. Alas, it is never that simple (unless all you care about are pay and career path, of course)…
So, let’s break it down to pros and cons of jumping ship, shall we?
Pros:
- double pay compared to current salary
- aligns with my career aspiration
- part of a team of cloud solutions architects (mentorship opportunities)
- varying projects (position is at a consultancy firm)
- shares of the company come with the position ($$$ if it grows)
- possibility to influence strategic decisions
- no more 2h+ commutes
Cons:
- it’s a consultancy startup (emphasis on both consultancy and startup)
- 100% wfh
- would mean losing my current team where we are well and truly glued together and have such great vibes (and I value this, very very highly - this really is the main con)
- would mean losing my current work environment, where we have a gym and sauna at the office etc all kinds of stuff that support my athletic lifestyle
- would mean I don’t have as many opportunities to visit my parents anymore (since they live close to my current office but not close to me)
- at my current position I have super interesting projects both ongoing and in the horizon for a long time to come
- would mean eating my words (see previous point, and the fact I’ve said to my TM ”I can see myself staying as long as this job offers me opportunities to keep learning skills that are meaningful to me”), and I value my integrity
- would mean leaving my colleagues in quite a hairy spot, effectively betraying them in my mind (when our lead dev jumped ship a few years ago, he left us in quite a limbo and hands full of shit we didn’t know what to do about… I don’t wish that situation for anyone)
So, to sum it up, my reasons to stay are more those of moral integrity and convenience, well as the will to see the wheels I got rolling to the end, whereas my reasons to go are more personal finances and career oriented. A difficult decision. What to do?14 -
My boss told me that he wants me to switch projects soon and I am not sure how to feel about.
Old project
- have been working on it for four years, mostly alone, sometimes with others
- i am more or less product owner and make most of the technical decisions
- i assign tickets to other when they get assigned to help me
- i inherited the code base and refactored a lot. Some parts i am proud of, others are a mess and others aren't touched by me at all
- one of my helpers would take this
New project
- kind of data science plattform, so I have to learn a lot in this direction. Will be very complicated though.
- my first big greenfield project actually
- i will be mostly alone with this
- tech stack is fixed; no more php.3 -
I feel like the fear of technical debt is driving organizations to make rash decisions. I think we’re creating more technical debt by rushing to replace perfectly working and supportable systems with clobbered together ones using the framework of the week. Maybe I’m just old though too. I don’t know, I think I’m just getting tired of re-writing the same system over and over again.6
-
Google Business continues to piss me off. Just because I don't have a physical storefront at which to receive clients for web development doesn't mean I'm not working in a legitimate business. The fact that there's STILL no option to hide my home address from searches for web developers nearby is just inexcusable. And it's not just me. There are TONS of at-home freelance workers who RELY on organic searches to stay afloat. But Google only cares about people who make decisions about how to run their businesses in the way Google finds beneficial.2
-
Sorry but this has to be one the dumbest decisions in software history
https://sass-lang.com/documentation...1