Details
Joined devRant on 9/1/2016
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
-
Be visible! As much in the action as possible. As much in the comms with mgmt, stakeholders, clients as possible.
You can be the best and smartest engineer in the world, but if noone sees you - noone will know you exist.6 -
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 -
Got a few
Crystal reports - words cannot describe how much I loathe this
Sybase ASE or IQ - both are just a hot mess to setup properly
Not a service now fan either
Esri map processing - basically entirely undocumented, slow, old fucking hate it
Arc GIS online - ridiculous licensing issues, undocumented APIs are given as official answers from the dev team, massive pain in the arse3 -
Some empty-headed helpdesk girl skipped into our office yesterday afternoon, despite the big scary warning signs glued to the door.
"Hey, when I log in on my phone, the menu is looking weird"
"Uh... look at my beard"
"What"
"Just look at this beard!"
"Uh.... OK"
"Does this look like a perfectly groomed beard"
"Uh... it's pretty nice I guess"
"You don't have to lie"
She looks puzzled: "OK... maybe it could use a little trimming. Uh... a lot of trimming". "I still like it though" she adds, trying hard to be polite.
"I understand you just started working here. But the beard... the beard should make it clear. See the office opposite to this one?"
"Yeah"
"Perfectly groomed ginger beards. It's all stylish shawls and smiles and spinach smoothies. Those people are known as frontend developers, they care about pixels and menus. Now look at my beard. It is dark and wild, it has some gray stress hairs, and if you take a deep breath it smells like dust and cognac mixed with the tears caused by failed deploys. Nothing personal, but I don't give a fuck what a menu looks like on your phone."
She looked around, and noticed the other 2 tired looking guys with unshaven hobo chins. To her credit, she pointed at the woman in the corner: "What about her, she doesn't seem to have a beard"
Yulia, 1.9m long muscled database admin from Ukraine, lets out a heavy sigh. "I do not know you well enough yet to show you where I grow my unkempt graying hairs... . Now get lost divchyna."
Helpdesk girl leaves the scene.
Joanna, machine learning dev, walks in: "I saw a confused blonde lost in the hallway, did you give her the beard speech?"
"Yeah" -- couldn't hold back a giggle -- "haha now she'll come to you"
Joanna: "No I already took care of it"
"How?"
"She started about some stupid menu, so I just told her to smell my cup". Joanna, functional alcoholic, is holding her 4pm Irish coffee. "I think this living up to our stereotype tactic is working, because the girl laughed and nodded like she understood, and ran off to the design department"
Me: "I do miss shaving though"68 -
Admin: "Wait, I noticed unusual traffic."
Me: "What is it?"
Admin: "Looks like we have a bot here."
Me: "A bot? Didn't know we are so popular."
Admin: "It makes constantly login requests through our API, it already surpassed 600.000! I will ban it right away."
Me: "wait, that just sounds like my bot.."
Admin: "DUDE, WTF? ARE YOU SERIOUS?"
When there is bug, you don't know of, it can end up quite embarrassing.11 -
Today I received the best bug report I could've ever asked for..
Received an email from a member of our customer service centre containing a description of the bug they'd found and not only did it contain the steps to reproduce the bug, but a goddamn video of him reproducing the suspected bug!
The greatest feeling when the client decides to take time to make your life that little bit easier24 -
Builds a site around a CMS, so non devs can update content
Gets asked to make simple changes that can be made using said CMS
🤦♂️3 -
For higher grade software development it should be mandatory to understand the big picture of problems...
If you are working for a online shop, you might want to ask marketing, what they want to sell, before they do it
You might want to ask billing, what customers buy, before you spend time on unnecessary features
You want to ask billing and legals, how they do fraud detection and you want to get the it security fellows on board too.
If marketing and billing knows, that maintenance needs time and money, they can calculate with that. If security knows, that some fails will be catched, no matter if you fix it in software or not they can adapt their priorities.
You might want to know something about process optimisation... Factories of car parts have spent years on such problems - learn from them.2 -
stop teaching language syntax and start explaining the ideas and the concepts in computer science.1
-
Start changing how young people look at programming. It’s not nerds doing nerdy things, it’s about real people using code to solve real problems. I think once the mindset changes it will get many more people interested.6
-
*cracks knuckles*
Boy was I happy to see this when I opened devRant up.
So for starters, more group projects are necessary. Many reasons why. To begin with, it allows for more complex programs than getting some input and printing some shit out. It also develops interpersonal skills (I hate people too, but when you go out to look for work you'll be with them, so better get used to it soon). If a platform like GitHub is used, it's easy to track who did what, and see what each person in the group did, so it should be fairly easy to discourage lazy asses.
Beyond that, stop giving us half completed assignments and asking us to fill in a function/method. Yes, it will take longer. But one doesn't learn to program by doing the minimum required work, you've got to crash and burn a lot in order to git gud. So ffs, let us do all the work. We're like AI, we learn through reinforcement learning.
Stop giving us a spec to follow. We'll do plenty of that in the future, right now we need to make mistakes, not be held by the hand all the way. Let us do dumb shit so you can fail us and tell us our code is repulsive, and this other way was better. Explain why. That's how people learn, not by telling us what each function should return, what can and can't be used, etc. And if you can't come up with a scenario in which what you're teaching is useful, then maybe you're not teaching us the right material.
I'll leave it at that for today... But I'll be back 😈 -
Teach people how to google properly.
May sound a bit sarcastic but I think an important part is how to look for errors on your own rather than going to the professor/TA. I’ve seen people paste in whole error logs or more often “code throws error, what do?”
At least teach in classes what to look out for like what error type in java and understanding how to look at stackoverflow questions to apply their solution to your issue.
Moral of the story: teach people how to use existing knowledge rather than just depend on someone to help their exact issue.6 -
Got call from extremely angry customer, our product is shit and doesn't work. At all. Important customer so I went to visit.
He had the perfect setup, our product to the left, our competitor's to the right.
He connected the Ethernet cable to their product, it worked. He plugged it out and connected to ours... Nothing. Shit.
I started to debug on the premises, took logs, everything. It seemed like our product didn't receive any data at all. What the fuck? Tried everything, debugged low level, still nothing. Sweating as hell.
After two hours I got a strange feeling. So I swapped place, our product to the right, competitor's to the left. Now OUR product worked, competitor's zilch.
THE FUCKING ETHERNET CABLE HAD A GLITCH. IF YOU BENT IT TO THE RIGHT IT WORKED, IF YOU BENT IT TO THE LEFT IT WAS BROKEN.
I had never seen a customer be this embarrassed in my life. He apologized to me, my boss, his boss, the Queen, everyone.
We got the contract.20 -
We're having an ongoing credential stuffing attack right now. Hackers hit us hard over the weekend and the web team sent out an email congratulating themselves that they stopped the threat.
I decided to look to see how they "fixed" the issue.
They modified their code to stop logging the errors to prevent Splunk from sending the automated emails to management (how we have been able to spot/monitor the attack).
They literally just put their heads in the sand, stapled a sign to their ass that reads "Meteor? We see no meteor approaching. Everything is fine."5 -
People who send an email saying "I'm getting an error message".
WHERE DID YOU GET IT?!
WHAT IS THE FUCKING ERROR MESSAGE?!
OH NO SURE LET ME LOOK IN MY CRYSTAL BALL, I'LL HAVE IT FIGURED OUT FOR YOU IN NO FUCKING TIME.
😡20 -
A friend called ITIS guys about some network issue on his system.
Frnd : Hi, I'm facing some security policy issues on my system. Could you help me connect?
ITIS guy: Ok. Please run 'gpupdate /force' cmd from cmdpromt.
Frnd: Well actually I'm on Linux.
ITIS guy: Well, at least give it a try and tell me how it goes.
*Facepalm*? *Bodypalm*? Murder?4 -
Boss: “Our YouTube channel doesn’t look at all like our website.”
Me: “I’ve made it look as close to our branding as YouTube allows for with its limited editing controls.”
Boss: “This is unacceptable. I expected more from you.”
Me: “I cannot accept the blame for this. YouTube is setting the design parameters for all channels and I can only do so much.”
Boss: “You can call the YouTube, can’t you? Why didn’t you call them?”
Me: “.......and ask them....what?”
Boss: “You don’t ask! You tell! Our company has been around for 140 years. Our brand name carries that weight. They’ll change their design to what we need if you’re assertive enough.”
Me: “Ma’am, that’s just not how this works. That’s not how any of this works.”50 -
My dumb CEO just hired an even dumber CTO. The new CTO asked me the following questions...
1. What is GitHub?
2. What is JSON?
3. What’s an array?
4. What is Get and what is Post?
5. When an iPhone is offline, can it call an API on our server to tell us it’s offline?
6. I know you’ve spent 11 month the writing this backend in PHP but can you change it to Java now?
Me: Why?
Dumb CTO: Because it’s better.
Me: How?
Dumb CTO: because it is.
7. I know you’ve started to rewrite this codebase I Java but can you convert it to Node.JS now?
Me: Why?
Dumb CTO: Because Facebook uses it.
8. What is MySQL? Why aren’t you using a database instead?
9. What does NULL mean?
Somehow, I doubt that asshole is remotely qualified for the job.
Fakin shyt for brains.180 -
Latest update for the devRant app has some new twists: 1) collabs are now free for all 2) black theme is available for devRant++ members 3) when posting a rant we now ask for you to classify the rant as a specific type of post. RIP !rant :/ To be clear, this isn't meant to say that any posted content needs to be different than what everyone is doing already, just that the extra categorization helps all parties who like or dislike different types of content. This categorization will help better inform the algo and allow for advanced filtering which is coming soon.
If you have any questions, comments or concerns please ask me or @dfox in this thread.65