Details
-
AboutSomeday I might write a text adventure or something.
-
SkillsMS Paint, Visual Basic
-
LocationPortland, Oregon
Joined devRant on 7/24/2017
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
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
A young guy I work with burst into tears today, I had no idea what happened so I tried to comfort him and ask what was up.
It appears his main client had gone nuts with him because they wanted him to make an internet toolbar (think Ask.com) and he politely informed them toolbars doesn't really exist anymore and it wouldn't work on things like modern browsers or mobile devices.
Being given a polite but honest opinion was obviously something the client wasn't used to and knowing the guy was a young and fairly inexperienced, they started throwing very personal insults and asking him exactly what he knows about things (a lot more than them).
So being the big, bold, handsome senior developer I am, I immediately phoned the client back and told them to either come speak to me face-to-face and apologise to him in person or we'd terminate there contract with immediate effect. They're coming down tomorrow...
So part my rant, part a rant on behalf of a young developer who did nothing wrong and was treated like shit, I think we've all been there.
We'll see how this goes! Who the hell wants a toolbar anyway?!401 -
Well what the fuck. Life just won't stop with the dick punches this year.
To recap: My wife had me arrested on bs charges. While i was in jail, she packed her shit and left. She filed a restraining order, which i fought in court amd won. I have visitation with my daughter every other saturday and every Monday. I lost my apartment because she left, so I'm homeless. Living in my car.
Today, I was fired from my job of 6 years. Fuck me.16 -
Got very little sleep last night, not in a great mood to begin with. Came into work to find someone borrowed one of my cables that I need and hasn't returned it. It was wrapped around a few things to keep it tidy, all of which have been moved, stretched, bent etc. Now my battery is running low and he has emailed to say won't be in for 30 minutes.
Think the only reasonable course of action in a just world, is for me to strangle him with the cable when he gets in. I mean come on, whats the alternative? Still haven't gotten that pen back from last year ... this place is going downhill fast!8 -
This is Facebook Messenger. And thats a fuckin Advert. Fuckin adverts in my fuckin inbox. For fuck me's sake, What the fuck17
-
I gor a problem with my gf, and she asked for space, then i got a new problem in my workplace, i want to kill my boss and my senior mothercuker! FUCK THIS!!!8
-
What is the most ridiculous over-the-top "startup" thing you've been the victim of as a developer?
Alternatively, what kind of weird startup luxury would you absolutely love to have at your company?
For me, at various companies I've worked at/visited:
1. Hammocks & fatboy beanbags. Current employer has a "Netflix & Chill" corner with nice couches, and a small gym. I have encountered isolation/flotation tanks at the office of one of our partners... which is cool, but over the top in my opinion.
2. A fully automated aquaponics garden in the lunchroom. Was awesome, until some fish died and started to rot.
3. One hoverboard per employee, at previous employer. I splashed hot chocolate milk in an arc over three desks. A coworker broke his ankle while watching me spill chocolate milk.
4. Daily scrum standup meetings, on socks, in a big bouncy castle. Not kidding. Fucking ridiculous... (but secretly fun). That employer also had spiral slides between all floors, a tiny half-pipe with tiny skateboards, and someone who rode a unicycle way too much. It was a fucking circus. Stuck in the office of a Fintech company.
5. Soldering bench (at my current company), with drawers full of breadboards, servos and electronics components. Completely unrelated to my work, but it was my idea. It's just great to build a simple kits together with another random coworker while brainstorming platform features & refining specs... much better than meetings with bullshit slides.
6. Unlimited energy drink. Developed a serious caffeine habit (15-20 cans a day), and almost got a stomach ulcer. Not beneficial to employee health.
7. I really do love working from home + unlimited holidays. Just being able to honestly say "fuck you guys, I'm gonna get drunk and play games today", and at other times working until 4am and sleeping in the next day, or taking a week to work in a park in Rome... It makes work truly feel like my favorite hobby. Combined with a good sprints and curious/ambitious people, you can easily track productivity anyway.19 -
Interlude (Break Room)
Me (Lead Developer), HR lady (HR)
Enter stage right ME
Me > "Oh hey HR lady, how was your vacation?"
HR lady > "Well, we didn't end up taking the kids to Disneyland after all."
Me > "What? Why not? Come on, I have to hear this!"
HR lady > "Long story short my husband and I are getting a divorce."
Me > "Oh shi-"14 -
"Work for me", client said, "I won't pay you but you will get some reputations for working with us" he added.
"Sorry, my body can't digest reputation", I replied.11 -
To my ex-coworkers who used to tease me about using Vim although I never bragged or even talked about it to any of them, GO FUCK YOURSELVES.5
-
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Dear people who complain about spending a whole night to find a tiny syntax error; Every time I read one of your rants, I feel like a part of me dies.
As a developer, your job is to create elegant optimized rivers of data, to puzzle with interesting algorithmic problems, to craft beautiful mappings from user input to computer storage and back.
You should strive to write code like a Michelangelo, not like a house painter.
You're arguing about indentation or getting annoyed by a project with braces on the same line as the method name. You're struggling with semicolons, misplaced braces or wrongly spelled keywords.
You're bitching about the medium of your paint, about the hardness of the marble -- when you should be lamenting the absence of your muse or the struggle to capture the essence of elegance in your work.
In other words:
Fix your fucking mindset, and fix your fucking tools. Don't fucking rant about your tabs and spaces. Stop fucking screaming how your bloated swiss-army-knife text editor is soooo much better than a purpose-built IDE, if it fails to draw something red and obnoxious around your fuck ups.
Thanks.62 -
My company just did its first delivery to a new big customer , got the acceptance docs signed etc.
Was pretty funny to see management and the business-tards furiously emailing one another with company wide replyAll
Congratulating one another over an excellent job they had done in particular,
for example :
Gavin : Ahh capital , well done john for your undertaking in this tremendous accomplishment
John: oh and thank YOU for your guidance Gavin, couldnt have done it without you, we really exceeded outselves with the hard work we put it, also a big mention to (insert another inbred manager's name)
And that keeps on bouncing on and on
( absolutely no fucking mention of devs who did the actual Work, nooo nooo just a brief reference to us as "the boys in london"....)
Kinda glad they aren't in office most of the time else this level of back-patting would have probably turned into a circle jerk in the board room.
Almost thought of getting the dev teams to join the storm of emails and start randomly congratulating one another too with company wide replyAlls but that kind of prank would likely be ill received by out high and mighty leaders.
( on the flip side maybe they would actually learn out names)3 -
Just spent an hour trying to fix a bug on my Xamarin app that only affected the android project. Finally decided to Google it and figured out it's a Xamarin bug. FUCK YOU XAMARIN GO FUCK YOURSELF WITH A BROOMSTICK WITH NO LUBE.7