Details
Joined devRant on 6/20/2018
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
-
Do coding outside of work. I got into the industry because I enjoy writing code, but your job won't always be fun. That's why they give you money. Make sure that spark of joy doesn't die.
Or, when it does die, at least you'll have something to rant about.3 -
probably gonna have to do with environmental software certification (optimizing for energy reduction, that sort of stuff)15
-
I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.
The best way I've advanced my career is by changing companies.
Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.
There's a reason why people recommend job hunting. If I'm unsatisfied at a job, it's probably time to move on.
I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.
I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.
If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.
pour another glass
Qualities of a good manager share a lot of qualities of a good engineer.
When I first started, I was enamored with technology and programming and computer science. I'm over it.
Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.
The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any recommendations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)
Related to above, writing good proposals for changes is a great skill.
Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.
The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.
If I ever find myself thinking I'm the smartest person in the room, it's time to leave.
I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fuck there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.
We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.
sip
Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.
Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty programming language that's good at almost everything.
The greatest programming language ever is lisp. I should learn lisp.
For beginners, the most lucrative programming language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.
Tests are important but TDD is a damn cult.
Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.
Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.
Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.
Work from home is the tits. But lack of whiteboarding sucks.37 -
First we were called "rockstar" developers.
Then HR started using "heroes".
Then "tigers" and some confused associates who didn't get the memo used various other big cats.
Now they're starting to call us "product warriors".
🤦♂️36 -
devrant needs DRAFT.
I left so many rants unposted because I felt stupid or cringy AF after writing it.6 -
Someone here on devrant that used to go under the name LetMeCode ranted about php and said how much they'd rather work with the Phoenixframework.
Love on first sight. Studied Elixir to get a job as an elixir dev and got my first and current job right after graduating high school.
So yeah, that rant might have changed my life. Saved me from becoming a java or php dev for sure!4 -
What an absolute fucking disaster of a day. Strap in, folks; it's time for a bumpy ride!
I got a whole hour of work done today. The first hour of my morning because I went to work a bit early. Then people started complaining about Jenkins jobs failing on that one Jenkins server our team has been wanting to decom for two years but management won't let us force people to move to new servers. It's a single server with over four thousand projects, some of which run massive data processing jobs that last DAYS. The server was originally set up by people who have since quit, of course, and left it behind for my team to adopt with zero documentation.
Anyway, the 500GB disk is 100% full. The memory (all 64GB of it) is fully consumed by stuck jobs. We can't track down large old files to delete because du chokes on the workspace folder with thousands of subfolders with no Ram to spare. We decide to basically take a hacksaw to it, deleting the workspace for every job not currently in progress. This of course fucked up some really poorly-designed pipelines that relied on workspaces persisting between jobs, so we had to deal with complaints about that as well.
So we get the Jenkins server up and running again just in time for AWS to have a major incident affecting EC2 instance provisioning in our primary region. People keep bugging me to fix it, I keep telling them that it's Amazon's problem to solve, they wait a few minutes and ask me to fix it again. Emails flying back and forth until that was done.
Lunch time already. But the fun isn't over yet!
I get back to my desk to find out that new hires or people who got new Mac laptops recently can't even install our toolchain, because management has started handing out M1 Macs without telling us and all our tools are compiled solely for x86_64. That took some troubleshooting to even figure out what the problem was because the only error people got from homebrew was that the formula was empty when it clearly wasn't.
After figuring out that problem (but not fully solving it yet), one team starts complaining to us about a Github problem because we manage the github org. Except it's not a github problem and I already knew this because they are a Problem Team that uses some technical authoring software with Git integration but they only have even the barest understanding of what Git actually does. Turns out it's a Git problem. An update for Git was pushed out recently that patches a big bad vulnerability and the way it was patched causes problems because they're using Git wrong (multiple users accessing the same local repo on a samba share). It's a huge vulnerability so my entire conversation with them went sort of like:
"Please don't."
"We have to."
"Fine, here's a workaround, this will allow arbitrary code execution by anyone with physical or virtual access to this computer that you have sitting in an unlocked office somewhere."
"How do I run a Git command I don't use Git."
So that dealt with, I start taking a look at our toolchain, trying to figure out if I can easily just cross-compile it to arm64 for the M1 macbooks or if it will be a more involved fix. And I find all kinds of horrendous shit left behind by the people who wrote the tools that, naturally, they left for us to adopt when they quit over a year ago. I'm talking entire functions in a tool used by hundreds of people that were put in as a joke, poorly documented functions I am still trying to puzzle out, and exactly zero comments in the code and abbreviated function names like "gars", "snh", and "jgajawwawstai".
While I'm looking into that, the person from our team who is responsible for incident communication finally gets the AWS EC2 provisioning issue reported to IT Operations, who sent out an alert to affected users that should have gone out hours earlier.
Meanwhile, according to the health dashboard in AWS, the issue had already been resolved three hours before the communication went out and the ticket remains open at this moment, as far as I know.5 -
Ok you fucks that don't believe in documentation - me included.
Document your shit, because one day, one day some dumb fuck is going to have to recreate your over engineered bullshit of a system and scale it up.
What would fucking be useful right now is ANY god forsaken insight into what in the flying fuck your code is doing, or not doing, or why it makes queries to a database with no fucking records in it 🤦♂️ and then attempts to use that data... in case it did exist.
There's nothing like unpicking a mess of bullshit, and documenting it, and then have to remake it on a new platform.
Documention saves lives kids, maybe your own life one day😬16 -
Fuck the memes.
Fuck the framework battles.
Fuck the language battles.
Fuck the titles.
Anybody who has been in this field long enough knows that it doesn't matter if your linus fucking torvalds, there is no human who has lived or ever will live that simultaneously understands, knows, and remembers how to implement, in multiple languages, the following:
- jest mocks for complex React components (partial mocks, full mocks, no mocks at all!)
- token cancellation for asynchronous Tasks in C#
- fullstack CRUD, REST, and websocket communication (throw in gRPC for bonus points)
- database query optimization, seeding, and design
- nginx routing, https redirection
- build automation with full test coverage and environment consideration
- docker container versioning, restoration, and cleanup
- internationalization on both the front AND backends
- secret storage, security audits
- package management, maintenence, and deprecation reviews
- integrating with dozens of APIs
- fucking how to center a div
and that's a _comically_ incomplete list; barely scratches the surface of the full range of what a dev can encounter in a given day of writing software
have many of us probably done one or even all of these at different times? surely.
but does that mean we are supposed to draw that up at a moment's notice some cookie-cutter solution like a fucking robot and spit out an answer on a fax sheet?
recruiters, if you read this site (perhaps only the good ones do anyway so its wasted oxygen), just know that whoever you hire its literally the luck of the draw of how well they perform during the interview. sure, perhaps some perform better, but you can never know how good someone is until they literally start working at your org, so... have fun with that.
Oh and I almost forgot, again for you recruiters, on top of that list which you probably won't ever understand for the entirety of your lives, you can also add writing documentation, backup scripts, and orchestrating / administrating fucking JIRA or actually any somewhat technical dashboard like a CMS or website, because once again, the devs are the only truly competent ones - and i don't even mean in a technical sense, i mean in a HUMAN sense of GETTING SHIT DONE IN GENERAL.
There's literally 2 types of people in the world: those who sit around drawing flow charts and talking on the phone all day, and those WHO LITERALLY FUCKING BUILD THE WORLD
why don't i just run the whole fucking company at this point? you guys are "celebrating" that you made literally $5 dollars from a single customer and i'm just sitting here coding 12 hours a day like all is fine and well
i'm so ANGRY its always the same no matter where i go, non-technical people have just no clue, even when you implore them how long things take, they just nod and smile and say "we'll do it the MVP way". sure, fine, you can do that like 2 or 3 times, but not for 6 fucking months until you have a stack of "MVPs" that come toppling down like the garbage they are.
How do expect to keep the "momentum" of your customers and sales (I hope you can hear the hatred of each of these market words as I type them) if the entire system is glued together with ducktape because YOU wanted to expedite the feature by doing it the EASY way instead of the RIGHT way. god, just forget it, nobody is going to listen anyway, its like the 5th time a row in my life
we NEED tests!
we NEED to know our code coverage!
we NEED to design our system to handle large amounts of traffic!
we NEED detailed logging!
we NEED to start building an exception database!
BILBO BAGGINS! I'm not trying to hurt you! I'm trying to help you!
Don't really know what this rant was, I'm just raging and all over the place at the universe. I'm going to bed.20 -
this image is fully authentic image of me as a single developer in a startup. All the used technologies in a single project.13
-
I’m happiest about code I deleted.
Deleted code is easy to maintain, easy to read and it makes applications run faster.
Moreover applications take less disk space and are faster to download.
The more happy than about deleted code I’m about deleted software or destroyed computers.3 -
If you asked me two months ago I'd have said building and using a Barnes Hut tree with CUDA.
Today my answer is working on a fuzzer with LLVM without knowing shit about either C++ and compilers. -
#fuckapple for holding back the open-web. Most folk don't know that Chrome on iOS is just Safari with a skin; neither Google or Apple want you to know that.
If you hate web-apps on iOS, that is Apple's intentional doing. Apple cannot allow a bug-free and modern browser to run on their iOS devices, else they lose their 30% tax + dev fees cut. There are literally so many crippling bugs in iOS Safari that it HAS to be intentional.
There are email exchanges between Phil Shaffer and Steve Jobs from years past, where Phil didn't believe Apple could continue to gouge users 30%. He argued the open-web would make native apps largely redundant, and so to stay competitive, they'd need to drop the store fees to something reasonable. I suppose Steve Jobs saw a different solution -- just impede browser development.
As someone who develops free and open-source apps, I believe I am doing the world a favour by not supporting a native iOS app. When users complain about missing features in the web-app version, I tell them to take it up with Apple or buy an Android. Guess what? They sometimes actually do just that.
Join me if you have the balls. Tell Apple to FUCK OFF the only way they understand -- threaten their bottom line. At the very least, you'll never need to touch XCode again if you do. If time is money, that alone will make you wealthy.8 -
I have personally struggled a little with CMake always. I usually have to take help from some senior dev. Today I was able to figure something out on my own so this is an achievement story. Think I should treat myself with a book3
-
Most kids just want to code. So they see "Computer Science" and think "How to be a hacker in 6 weeks". Then they face some super simple algebra and freak out, eventually flunking out with the excuse that "uni only presents overtly theoretical shit nobody ever uses in real life".
They could hardly be more wrong, of course. Ignore calculus and complexity theory and you will max out on efficiency soon enough. Skip operating systems, compilers and language theory and you can only ever aspire to be a script kiddie.
You can't become a "data scientist" without statistics. And you can never grow to be even a mediocre one without solid basic research and physics training.
Hack, I've optimized literal millions of dollars out of cloud expenses by choosing the best processors for my stack, and weeks later got myself schooled (on devRant, of all places!) over my ignorance of their inner workings. And I have a MSc degree. Learning never stops.
So, to improve CS experience in uni? Tear down students expectations, and boil out the "I just wanna code!" kiddies to boot camps. Some of them will be back to learn the science. The rest will peak at age 33.17 -
I think the main issue with Computer Science is that it's considered an Academic study, while 99% of work is very much dynamic, quickly evolving and hands-on.
I think all forms of (higher) education should be part time, starting at 4:1 college/work, gradually moving towards the opposite.
Currently, combining work and study is only done for "lower level" education, at least in my country: For example a car mechanic needs to work on actual cars, and barbers need to cut actual hair.
To me, it makes sense if engineers work on actual software, during their education.
It also feeds back into the education itself, when companies are paying for courses and the course doesn't teach practicalities, there's a lot more feedback to the colleges on how to adjust their material.8 -
I think what would help is to teach them these things:
- awareness for security in code
- how to use a fucking VCS like Git and how it works -
i think it's a waste of time and resources to memorize syntax and other stuff you can google. since we have a lot of material available, we should focus on logic, more abstract concepts, stuff you can't copy paste. well, I think that should be the way in every area, not only CS15
-
Python, the language, is fine.
Some aspects of it are even kind of elegant.
But Python, the VIRTUALENV ANACONDA BLEEDING ASSHOLE WHEELING PIPPING FUCKING TOOLCHAIN IS MORE RAGE INDUCI̵N̵G̵ THAN ANY O̶͔̔̄T̶̊̆ͅH̵̥͒Ȇ̶̥̓R̷̹̳̎̒ ̴M̴o̸d̵u̷l̸e̶N̴o̷t̴F̸o̸u̸n̶d̶E̵r̷r̴o̵r̴:̵:̶̼̳̙̾̈ ̷̧̲̗̓́̾͂N̶̙̆ó̵̱ ̷͔̔m̴͇̔ơ̸͕ď̷̲ư̷̢ḻ̷̉ê̷̼ ̸̗̓n̷̝̔a̷̙̓m̶̖̄è̷̡d̸̳̋ ̷̝̍ ̷͎̚'̷̻̌ḋ̷͔i̴͓͌ṡ̵͍t̵̘̽ṵ̵̊t̷̹͝i̴̛̦l̴̒͜s̸̩͝.̸̱̚u̵̪͆t̵̥͑ỉ̸͍l̵͚͠'̶͚͘14 -
Fuck China.
Fuck the U.S. government.
Fuck the UK and Australia and all the other governments for taking advantage of the crisis of the last two years to get more power and money for their elites.
Fuck them all for starting COVID with their unsanctioned and unethical “gain of function” lab experiments and creating so much chaos that nobody really has a chance anymore at living the life they had dreamed of or so carefully planned for.
Fuck them for the out of control spending and money printing and inflation and even messing around with trying to regulate and tax crypto so we don’t have any kind of escape valve to live a normal, happy life.
Because of them, I can’t even enjoy my time off work. Even if I could plan a vacation that wouldn’t have to be canceled due to an outbreak or resultant supply chain issues, I can’t travel without severe restrictions that make it miserable and not worth the trouble.
Fuck them for making everyone into stupid monkeys fighting over opinions about data that is incomplete, misunderstood, misrepresented, or downright fixed toward a specific pharma-fascist authoritarian outcome.
And fuck them especially for being hypocrites and going to parties and generally not following their own rules they made for us when they think we’re not watching, and then persecuting and prosecuting us when we dare do the same.
Fuck ‘em all. I’m so done.20 -
I would absolutely love it if people would write their own stupid code instead of blindly mixing everyone else's mental diarrhea together and pouring the resulting mess into their bloody stupid IDE. At least then I could insult them properly. As it is, they're outsourcing their fucking stupidity to the lowest fucking bidder and then bragging about how quickly they get everything done. And management eats it up! No wonder everything is a slow, tangled, unmaintanable mess.
I can't fix much of anything because almost none of it is in my control. It's all autogenerated bullshit glued together with laziness and poor taste. "But Root, why is fixing this taking so long?" Gee, I wonder why. Maybe if someone had built it somewhere in realm of correctly the first time, it wouldn't have all fallen apart when someone looked at it the wrong way!
Seriously, there's no way this pile of stale fertilizer could have passed QA.rant idiots import * fragile monstrosity leggy devs why code when you can steal no independent thought npm mentality10