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 - "senior needed"
-
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 -
After listening to two of our senior devs play ping pong with a new member of our team for TWO DAYS!
DevA: "Try this.."
Junior: "Didn't work"
DevB: "Try that .."
Junior: "Still not working"
I ask..
Me:"What is the problem?"
Few ums...uhs..awkward seconds of silence
Junior: "App is really slow. Takes several seconds to launch and searching either crashes or takes a really long time."
DevA: "We've isolated the issue with Entity Framework. That application was written back when we used VS2010. Since that application isn't used very often, no one has had to update it since."
DevB: "Weird part is the app takes up over 3 gigs of ram. Its obviously a caching issue. We might have to open up a ticket with Microsoft."
Me: "Or remove EF and use ADO."
DevB: "That would be way too much work. The app is supposed to be fully deprecated and replaced this year."
Me: "Three of you for the past two days seems like a lot of work. If EF is the problem, you remove EF."
DevA: "The solution is way too complicated for that. There are 5 projects and 3 of those have circular dependencies. Its a mess."
DevB: "No fracking kidding...if it were written correctly the first time. There aren't even any fracking tests."
Me:"Pretty sure there are only two tables involved, maybe 3 stored procedures. A simple CRUD app like this should be fairly straight forward."
DevB: "Can't re-write the application, company won't allow it. A redesign of this magnitute could take months. If we can't fix the LINQ query, we'll going to have the DBAs change the structures to make the application faster. I don't see any other way."
Holy frack...he didn't just say that.
Over my lunch hour, I strip down the WPF application to the basics (too much to write about, but the included projects only had one or two files), and created an integration test for refactoring the data access to use ADO. After all the tests and EF removed, the app starts up instantly and searches are also instant. Didn't click through all the UI, but the basics worked.
Sat with Junior, pointed out my changes (the 'why' behind the 'what') ...and he how he could write unit tests around the ViewModel behavior in the UI (and making any changes to the data access as needed).
Today's standup:
Junior: "Employee app is fixed. Had some help removing Entity Framework and how it starts up fast and and searches are instant. Going to write unit tests today to verify the UI behaivor. I'll be able to deploy the application tomorrow."
DevA: "What?! No way! You did all that yesterday?"
Me: "I removed the Entity Framework over my lunch hour. Like I said, its basic CRUD and mostly in stored procedures. All the data points are covered by integration tests, but didn't have time for the unit tests. It's likely I broke some UI behavior, but the unit tests should catch those."
DevB: "I was going to do that today. I knew taking out Entity Framework wouldn't be a big deal."
Holy fracking frack. You fracking lying SOB. Deeeep breath...ahhh...thanks devRant. Flame thrower event diverted.13 -
One week, and it turned out to be worse than that.
I was put on a project for a COVID-19 program in America (The CARES Act). The financial team came to us on Monday morning and said they need to give away a couple thousand dollars.
No big deal. All they wanted was a single form that people could submit with some critical info. Didn't need a login/ registration flow or anything. You could have basically used Google Forms for this project.
The project landed in my lap just before lunch on Monday morning. I was a junior in a team with a senior and another junior on standby. It was going to go live the next Monday.
The scope of the project made it seem like the one week deadline wasn't too awful. We just had to send some high priority emails to get some prod servers and app keys and we were fine.
Now is the time where I pause the rant to express to you just how fine we were decidedly **not**: we were not fine.
Tuesday rolls around and what a bad Tuesday it was. It was the first of many requirement changes. There was going to need to be a review process. Instead of the team just reading submissions from the site, they needed accept and reject buttons. They needed a way to deny people for specific reasons. Meaning the employee dashboard just got a little more complicated.
Wednesday came around and yeah, we need a registration and login flow. Yikes.
Thursday came and the couple-thousand dollars turned into a tens of millions. The amount of users we expected just blew up.
Friday, and they needed a way for users to edit their submissions and re-submit if they were rejected. And we needed to send out emails for the status of their applications.
Every day, a new meeting. Every meeting, new requirements that were devastating given our timeframe.
We put in overtime. Came in on the weekend. And by Monday, we had a form that users could submit and a registration/ login flow. No reviewer dashboard. We figured we could take in user input on time and then finish the dashboard later.
Well, financial team has some qualms. They wanted a more complicated review process. They wanted roles; managers assign to assistants. Assistants review assigned items.
The deadline that we worked so hard on whizzed by without so much as a thought, much less the funeral it deserved.
Then, they wanted multiple people to review an application before it was final. Then, they needed different landing pages for a few more departments to be able to review different steps of the applications.
Ended up going live on Friday, close to a month after that faithful Monday which disrupted everything else I was working on, effective immediately.
I don't know why, but we always go live on a Friday for some reason. It must be some sort of conspiracy to force overtime out of our managers. I'm baffled.
But I worked support after the launch.
And there's a funny story about support too: we were asked to create a "submit an issue" form. Me and the other junior worked on it on a wednesday three weeks into the project. Finished it. And the next day it was scrapped and moved to another service we already had running. Poor management like that plagued the project and worked in tandem with the dynamic and ridiculous requirements to make this project hell.
Back to support.
Phone calls give me bad anxiety. But Friday, just before lunch, I was put on the support team. Sure, we have a department that makes calls and deal with users. But they can't be trained on this program: it didn't exist just a month ago, and three days ago it worked differently (the slippery requirements never stopped).
So all of Friday and then all of Saturday and all of Monday (...) I had extended panic attacks calling hundreds of people. And the team that was calling people was only two people. We had over 400 tickets in the first two days.
And fuck me, stupid me, for doing a good job. Because I was put on the call team for **another** COVID project afterwards. I knew nothing about this project. I have hated my job recently. But I'm a junior. What am I gonna say, no?7 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
Navy story continued.
And continuing from the arp poisoning and boredom, I started scanning the network...
So I found plenty of WinXP computers, even some Win2k servers (I shit you not, the year was 201X) I decided to play around with merasploit a bit. I mean, this had to be a secure net, right?
Like hell it was.
Among the select douchebags I arp poisoned was a senior officer that had a VERY high idea for himself, and also believed he was tech-savvy. Now that, is a combination that is the red cloth for assholes like me. But I had to be more careful, as news of the network outage leaked, and rumours of "that guy" went amok, but because the whole sysadmin thing was on the shoulders of one guy, none could track it to me in explicit way. Not that i cared, actually, when I am pissed I act with all the subtleness of an atom bomb on steroids.
So, after some scanning and arp poisoning (changing the source MAC address this time) I said...
"Let's try this common exploit, it supposedly shouldn't work, there have been notifications about it, I've read them." Oh boy, was I in for a treat. 12 meterpreter sessions. FUCKING 12. The academy's online printer had no authentication, so I took the liberty of printing a few pages of ASCII jolly rogers (cute stuff, I know, but I was still in ITSec puberty) and decided to fuck around with the other PCs. One thing I found out is that some professors' PCs had the extreme password of 1234. Serious security, that was. Had I known earlier, I could have skipped a TON of pointless memorising...
Anyway, I was running amok the entire network, the sysad never had a chance on that, and he seemed preoccupied with EVERYTHING ELSE besides monitoring the net, like fixing (replacing) the keyboard for the commander's secretary, so...
BTW, most PCs had antivirus, but SO out of date that I didn't even need to encode the payload or do any other trick. An LDAP server was open, and the hashed admin password was the name of his wife. Go figure.
I looked at a WinXP laptop with a weird name, and fired my trusty ms08_067 on it. Passowrd: "aaw". I seriously thought that Ophcrack was broken, but I confirmed it. WTF? I started looking into the files... nothing too suspicious... wait a min, this guy is supposed to work, why his browser is showing porn?
Looking at the ""Deleted"" files (hah!) I fount a TON of documents with "SECRET" in them. Curious...
Decided to download everything, like the asshole I am, and restart his PC, AND to leave him with another desktop wallpaper and a text message. Thinking that he took the hint, I told the sysadmin about the vulnerable PCs and went to class...
In the middle of the class (I think it was anti-air warfare or anti-submarine warfare) the sysad burst through the door shouting "Stop it, that's the second-in-command's PC!".
Stunned silence. Even the professor (who was an officer). God, that was awkward. So, to make things MORE awkward (like the asshole I am) I burned every document to a DVD and the next day I took the sysad and went to the second-in-command of the academy.
Surprisingly he took the whole thing in quite the easygoing fashion. I half-expected court martial or at least a good yelling, but no. Anyway, after our conversation I cornered the sysad and barraged him with some tons of security holes, needed upgrades and settings etc. I still don't know if he managed to patch everything (I left him a detailed report) because, as I've written before, budget constraints in the military are the stuff of nightmares. Still, after that, oddly, most people wouldn't even talk to me.
God, that was a nice period of my life, not having to pretend to be interested about sports and TV shows. It would be almost like a story from highschool (if our highschool had such things as a network back then - yes, I am old).
Your stories?8 -
A couple of months back I got an interview for a junior android devel position. I do not consider myself a junior devel, bt fuck it they paid 78k a year plus benefits and this is for south texas where it ain't thaaat expensive. So i kept my mouth shut and went with it.
The company was glorious, one of those hipsert marketing companies with cool couches and shit and people doing fuckign whatever all over the place and cool tools and desks.
So the initial interview with the hr dept went amazing, real cool guys and very down to earth. Next was the senior android dev.
This dude.
It was to be a phone interview, with a lil coding test. Fine whatevs. But the moment he called i knew shit was going down hill. Dude sounded dead af. Like he could not stand being himself that day. Asked asshole questions that every developer in Android should know that were frankly quite insulting ("what company develops the Android os" kind of deal) but kept my mouth shut and answered as needed.
Then the coding portion. Given a string, find the first position of the first repeated char, so if I had , fuck i dunno "tetas" then t was the first (and only) char repeated and it should have given out 2.
Legit finished it up in less than 6 mins and only because he was making me explain my entire thought process.
He got angry for some reason. Mind you I speak like a hippie, with a melow town and calm voice all the damned time, got that Texas swag going on as well as any good ol' boy from Texas should right?
Well this dude was not having none of that shit that day.
Dude was all like "ok now....why exactly did you do it this way?"
With a VERY condescending tone. And i explained that at first I normally think about solutions in pseudocode, so I wrote that as well...1 min or less. In python. This is after I still had the Java solution on screen with perfectly clean and working Java. I saif that since Python was as close to pseudocode as it gets that I figured i would just write the "pseudocode" in python and then map it to Java with all the required modifications.
"Welk i did not ask you to write it in java, so i dunno why you would even do that to begin with"
That is one of many asshole remarks. The first when I mentioned that I found React Native good for prototyping complex ideas for FUCKING FUN. Passion motherfucker. Shit so fly I do it for fun. "We don't deal with that here so I am not interested in what you can do with that or how would it help me"
Mofocka plz.
Well going back to the python shit. I explain (calmly) that it was just a way that I had to figure details, to think of different implementations. He continues by saying that it takes valuable company time.
Then he proceeds to tell me that he believes that i cheated since i fi ished the java "problem" too fast.
I told him that simple stuff like that should take even less for any senior java dev and that we could run another example if he wanted.
Bring it puto.
But no.
He then said that he still did not understand the need for Python in my solution. I lost it.
"Look man, getting real tired of your tone, i explained already, it is just a mental process, i do this when comming up with solutions, thinking in theory, not languages, helps me bridge the gap between problem and implementation, the solution works, it is efficient and fast and i can do it in 5 diff ways if you wanted, i offered and you said no. Don't really know what else you want"
"All i am saying, i am not going to hire you if you are going to be writing Python for Android, that is useless to me"
Lost it more.
I do sound different when pissed. So I basically told him that he asked for my reasoning behind and it was given, that not getting it was a you problem.
Sooooo did not get the job. Was relieved really. Can't imagine having a twat like that as a lead devel.19 -
My whole team was a circus:
- Dev 1, the senior: he will be spent his days coding his personal projects and will convince management that everyone else needed to prove themselves so he will have nothing to do and we will do all the work.
- Dev 2, the junior: he was convinced that his mission in life was to be friends with his team. He's desk was far from the rest of the team so he will show just right after lunch EVERY FREAKING DAY with a list on his phone of random things he wanted to talk about like music, artists, art, news, etc., he really thought I didn't notice the list.
- Dev 3: the vegan: you will hear on every chance how she was so awesome for being vegan.
- Dev 4, the expert: if you ask him anything he will stare at you in silence to make you feel like you are a stupid for not knowing the answer and then turn around like nothing.
- Dev 5, the ghost: he will show early every day, code without mouthing a word and leave at 5pm, I think I heard him saying "hmmm" once but I might be wrong.
- Dev 6, the coder by accident: he was a graphic designer and ended up doing front end so he hated his job.
- Dev 7, me: the one who didn't care about anything but doing his job and leave.
- The project manager: she didn't knew anything about technology but will attend meetings with clients on her own, commit to deadlines and then inform us that the project that we estimated for 8 weeks will have to be done in 2 with new additions to the features.
You know the drill, here's your potato :/5 -
We've got a team of around 20 developers and the most junior of them all is a interesting specimen.
The kind of person who thinks they a 'expert' in anything and everything and is constantly trying to school our senior developers who have 20+ years experience behind them.
The sort of person that spends 15 seconds googling something he has never heard of before, but now that he has skimmed 1 page on Google would classify himself as a 'expert' in said topic.
He comes into my office yesterday and proclaims that it has been decided by himself that he no longer wants to be a developer anymore and wants to do Ops/Infrastructure, then starts rambling on about how he is a Kubernetes expert.
I asked what experience he had with Kubernetes and his response was "I watched a webinar they did last night" to which I asked if he had ever actually used anything to do with Kubernetes in his life.
"No, but I'll watch a few YouTube videos and will then be more than qualified" he says
Followed by him telling me that we'll be moving all of our current Docker Swarm clusters into Kubernetes.
This was news to me (I'm head of infrastructure and operations)
I needed a good giggle, so I asked why we would get rid of our exisiting Docker infrastructure that's got a 100% uptime over the past 2 years and has worked without failure. It's truely been a dream.
He says "Because it's shiny and cool and better"
The nest afternoon he comes to me and says "When I move everything into Kubernetes I am going to convert everything into micro services"
He says that he watched a YouTube video the night before on microservices and has decided that it's what we need to use for a particular project.
(It's a simple php website that gets 100 hits per day)
Hopefully his boss will notice that he is producing no output soon. Don't want to tell the manager that the guy he hired delivers no work and lives in a fantasy land.
"your not touching the infrastructure. Ever"15 -
Back in the day when I was a junior developer, I somehow got hired by this guy who asked me to code his entire platform from scratch. I was being paid a junior dev salary, being asked to do senior dev work, and unfortunately I needed the money, so I didn't want to turn the job down. So I did what any junior dev would do in the situation... I decided to experiment and ended up with an insanely inefficient codebase.
For some stupid reason I thought that a good DB model would be to pull one record from the DB at a time, and then just repeat the method in a loop as needed. Keep in mind I was a self-taught junior dev. The backend worked great during development, and after 3 months of developing we decided to add a lot of data in the DB for further testing, and... you guessed it... the platform slowed down like shit!
Moral of the story... u get what you pay for, so hire great talent and pay them well! And also that self-taught junior devs don't know that the f@*k they are doing sometimes.5 -
So there is this girl who joined the company as a trainee.
The company developed a 1 year project to train 25 trainees and she joined saying that she already had some experience making websites. (remember this)
They started in the beginning of January and stayed for about 3 months just studying the platform (Salesforce) and receiving some classes from Senior Devs, on subjects like OOP basics, loops, conditions and features of the platform.
After this time they joined the teams, 2 joined my team, a guy with 32 years that worked 10 years in a bank and wanted to go for a IT job and the girl of 22.
We gave her a really small task, just to make a code to copy info from one field to the other on a list of objects.
After 3 days of saying she was working on it we asked her to show us the code, she had written the "code" directly in the class, VS Code was going crazy with errors. When we asked her "But where is the method?", she answered "What is a method?"
After it we had other experiences trying to teach her some things. The team was formed by me (mid level dev), another mid level dev, a senior and a architect (who was self taught and one of the best teachers I've ever seen).
We tried for about 3 months to teach her how to do basic stuff, like a for loop, and every time we learned that she was missing some "foundations" of this basic stuff, so we would come back and explain the foundation, and a couple times she needed to use this knowledge like a week later and didn't remember shit.
So after this the team talked with our leader that we wanted to let her go and focus on the other guy who was going really well and some other junior devs who had joined the team.
But the HR found out that she had sued her last company, we don't know the reason, but HR guys were afraid of firing her without a careful firing process.
So now we're stuck with her in the team, and everything we ask her to do need to be remade, not because the code is bad, but because it NEVER works
And after all this I still ask myself, how did she finish college? Every person that i know that studied CS or CS like courses had a lot of OOP or at least knew what a class and a method were supposed to be.29 -
We called it "Project Hindenburg".
A huge planning and logistics app with hundreds of screens and dozens of interwoven subfunctions, suddenly needed to be able to support multiple time zones. Our project was to retrofit every area that touched on dates or times, to allow the user to specify, and work in, any time zone.
At this point in the story I can tell whether you have had to work with time zones in code. People who haven't are butting in with something that begins, "that should be fairly simple, you just need to..." followed by some irrelevant noise that betrays their ignorance.
People who have worked with time zones are nodding in shared pain, like fellow attendees of a survivors meeting.
You see, programmers tend to think of time zones as arithmetic; in reality, they are confusing, ambiguous, chaotic, and individual. You can't translate everything into a central time zone (eg UTC) because you lose the user's intent. For example, if you schedule a meeting for 3pm and then move it to the next day, you want it at 3pm even if the clocks have changed.
Project Hindenburg ended up using the entire development staff of the company for well over a year. It smashed our release projections to rubble, made an already tangled code base completely unmaintainable, introduced mind-bending edge case bugs that reduced staff across the company to tears (literally), and led to most of the mid-level and senior developers eventually quitting (including me).
I am @fuckfuckityfuck, and that was the story of Project Hindenburg.11 -
Sometime in mid 2013 or 2014 as a junior dev I woke up to a call from my company's CEO. He informed me that the legacy system they use for order processing is down nationwide that nobody can add new orders until it's fixed and that I needed to fix it. I had been working there 6 months and was hired along with a senior dev to begin developing a web app to replace this legacy system. The senior dev had left the company two weeks earlier for a better offer so it was put on me to figure it out. I was very frank with the CEO and told him I didn't know if I could fix it and suggested he try to call the company they hired to create it. I didn't even know where the source code was let alone what the design paradigm was or whether or not there was any documentation. He said he would try figuring out who created it and give them a call and asked "As a developer you shouldn't you be able to fix this?" I just told him it wasn't that simple and left it at that.
I get to work and the CEO has discovered that the company who created the software no longer exists and I tell him he may need to find a company to consult on this if I can find the source code and if I can't find the code he might be screwed.
I found the source code in a random IT shared folder there is no source control, no documentation, no unit tests, no test environment, and it looks like nobody had touched it since 2005 or about 8 years.
Despite being completely unfamiliar with the code and the design paradigm I was able to figure out that they were validating customer addresses against an old Google geocoding API that was shutdown the day before and the lack of response was killing the application. I fixed the issue and warned the CEO before deployment that I wasn't able to test but he said to go ahead and thankfully all went well.9 -
When I quit my previous job, they hired 3 guys to replace me. One of them was a swedish guy that was completely useless. He lived in another part of the country, and our manager and a senior dev flew him in and interviewed him at the airport. That was obviously not sufficient.
I got tasked with helping him get started. The code base seen in retrospect sucked really hard, but he got the simplest tasks at first. One time he needed to add a checkbox to a form, and do something different in the BL when that box was checked. I showed him where in the code he needed to do the change, and let him on his own. 1 hour later he asked again. He hadn't even been able to place the if-statement. Omg.
I told our manager that they really should get rid of this guy, since he isn't qualified to be a developer. They didn't listen.
In Norway we have a 6 month test period where it's easier to let someone go. After that, it's quite hard to fire someone.
After a while I talked to a old colleague of mine, and they had finally been able to get rid of him. That had taken months. When he was told that he had to improve, he went to the doctor and got a sick leave. You can't fire someone on sick leave.. Finally he got the option of resigning himself, or being fired. He chose the first option..
He should have been transferred to sales. If he could sell himself as a developer, he could sell anything to anyone... :D2 -
Man, I think we've all gotten way too many of these.
Normally most interactions that I have are through email. Eventually some would try to contact me via phone. These are some:
"Hey! We are calling you from <whatever company name> solutions! (most of them always seem to end on solutions or some shit like that) concerning the Ruby on Rails senior dev opportunity we were talking about via email"
<niceties, how are you doing, similar shit goes here...eventually>
So tell us! how good/comfortable would you say you are with C++?"
Me: I have never done anything serious with c++ and did just use it at school, but because I am not a professional in it I did not list it in my CV, what does it have to do with Rails?
Them: "Oh the applications of this position must be ready to take in additional duties which sometimes happen to be C or C++"
Me: Well that was not anywhere in the offer you sent, it specifically requested a full stack Rails developer that could work with 3 different frontend stacks already and like 4 different databases plus bla bla bla, I did not see c++ anywhere in it. Matter of fact I find it funny, one of the things that I was curious about was the salary, for what you are asking and specifically in the city in which you are asking it for 75k is way too low, you are seriously expecting a senior level rails dev to do all that AND take additional duties with c++? cpp could mean a billion different things"
Them: "well this is a big opportunity that will increase your level to senior position"
Me: the add ALREADY asks for a senior position, why are you making it sound that I will get build towards that level if you are already off the bat asking for seniors only to begin with?
Them: You are not getting it, it is an opportunity to grow into a senior, applicants right now are junior to mid-level
ME: You are all not making any sense, please don't contact me again.
=======
Them: We are looking for someone with 15 years experience with Swift development for mobile and web
Me: What is up with your people not making these requirements in paper? if I knew from the beginning that you people think that Swift is 15 years old I would have never agreed to this "interview"
Them: If you are not interested in that then might we offer this one for someone with 10 years experience as a full stack TypeScript developer.
Me: No, again, check your dates, this is insulting.
===
* For another Rails position
Them: How good are you with Ruby on Rails in terms of Python?
Me: excuse me? Python has nothing to do with Ruby on Rails.
Her (recruiter was a woman) * with a tone of superiority: I have it here that Python is the primary technology that accompanies Rails development.
Me (thinking this was a joke) : What do you think the RUBY part of Ruby on Rails is for? and what does "accompanies Rails development" even means?
Her: Well if you are not interested in using Rails with Python then maybe you can tell us about your experience in using Javascript as the main scripting platform for Rails.
Me: This is a joke, goodbye.
====
To be fair this was years ago when I still didn't know better and test the recruiters during the email part of being contacted. Now a days I feel sorry for everyone since I just say no without even bothering. This is a meme all on itself which no one has ever bothered to review and correct in years for now. I don't know why recruiters don't google themselves to see what people think of their "profession" in order to become better.
I've even had the Java/Javascript stupidity thrown at me by a local company. For that one it was someone from their very same HR department doing the rectuiter, their shop foreman was a friend of the family, did him the service of calling him to let him know that his HR was never going to land the kind of developer they were looking for with the retarded questions they had and sent him a detailed email concerning the correct information they needed for their JAVAscript job which they kept confusing with Java (for some reason in the context of Spring, they literally wanted nothing with Spring, they wanted some junior to do animations and shit like that on their company's website, which was in php, Java was nowhere in this equation)
I think people in web development get the short end of the stick when it comes to retarded recruiters more than anywhere else.3 -
Dropped out to grow a business I co-founded. Respect to all those that finished. I was already working a six figure salary as a software engineer before I even started at a university. I decided to attend though to have a more complete resume. One day a professor explained that we could look forward to doing really "advanced concepts" like web services OUR SENIOR YEAR. That was already daily life for me. Our business was starting to grow quickly and it needed more and more of my time. I chose the business and for me, that was the correct choice.6
-
On today's episode of Fucked Up Office Drama-Rama: useless project manager finally gets her desired outcome after 6 months of whining to her boss about a team member being "difficult to work with". She has only been with us for a year and is the only one that has had any "issues" with him, and the problem has simply been that he has called her out when her lack of planning, lack of effort, lack of common sense and lack of technical understanding has caused the team extra work and pressure. His contract gets terminated, she stays on, and on top of it all she's managed to hire a replacement without consulting anyone and therefore has the complete wrong skills compared to what we need. We needed someone with frontend skills, she decided on a senior backend / architect arrogant fuck that after only a few weeks is already showing us it's not going to be fun.
Fuck my life. Time to look for a new client.5 -
tldr:
everyone got the same hardware because senior dev liked it
So my project team was allowed to buy some hardware (monitors/keyboards/mouses etc.) so teamleader asked what we want.
senior dev: i need 1 monitor because i like to work with 1 monitor. i prefer this 27' zoll 4k monitor for around 1k dollars. since i work with multiple pc's i like this bluetooth keyboard and mouse because u can pair them with them and switch witch a click between the pc's costs around 300 dollar (1 setup of this costs 1'300 dollars)
me: so i like to use 2 monitors because i tried out multiple setups and this works for me the best (also what i have at home). but they dont need to be fancy. 2x 24' zoll montitors for each 200 dollar are enaugh (together 400 doller)
i also only work with 1 laptop and would like to have just a simple keyboard and mouse with cable because everytime they dont respons or battry runs out im fk triggered. so for me its okey if its this 30 dollar keyboard and 20 dollar mouse. it would be cool if i could get this mechanical keyboard for 80 dollars but not really needed. i only prefer mechanical keyboards a little bit more. and also i would like this mousepad i really like. it makes the mouse super responsive it's also just 10 dollars (this setup cost 510)
so at the end the teamleader was like. ah u know what senior dev has more xp and knows whats better for coding so we only buy this for every dev. but that 10 dollar mouse pad is okey u can get this extra its not that expensive.
WTF why u dont give me the cheaper setup which i more like. and why u even ask.4 -
The world makes no fucking sense.
In 2013 I had a manager approve a couple days' leave coz my son was having medical issues.
He was super nice about it and told me I could take as much time as I needed. I said, a couple days is enough. I took Thursday and Friday off. I took two days.
On Monday, an emergency meeting was held with the CTO (it was a small company, it went me -> manager -> C suite). I was told that a production deployment happened on Friday that fucked up a few clients' systems and that it had cost said clients hundreds of thousands dollars and are now suing the company.
Turns out on Friday, lead developer was also given the day off for whatever reason and I was being scolded because as the next senior developer, it was my responsibility to review code and make sure shit like this doesn't happen.
I agreed (and still agree) but also explained I had already filed leave weeks prior and I wasn't informed about dev lead's absence. Sure I could've checked my messages but my kid was in the hospital and I was busy. Still I couldn't help but feel a little guilty.
Manager holds a separate meeting with me and talks me into just writing an apology note in the email chain and he'll do the rest of the talking for me and make sure I get minimal punishment. I trusted him, he was the one who found me and brought me into the company (I know, I was naive).
So I wrote the email. It was a small note. I apologized for not checking messages and explained my situation again and mentioned I would've definitely checked if I was informed that the lead dev would be away.
Another meeting was held the next day and after pleasantries the Manager started with this, "Ok so we've all seen the email and understand that this was all Angry's fault right?".
Now, we're not native English speakers and Manager doesn't really do well with grammar. I was alarmed by what he said but wasn't angry because I was pretty sure that's not what he meant. I'm sure he meant to say that "Angry feel's guilty but his actions were understandable given the circumstance" or that he forgot a "not" in there and really meant "not Angry's fault". Surely this is what he meant to say. Right?
But then the rest of the meeting went on and I was unceremoniously let go. Immediately for "failing to accomplish my tasks and costing the client 100Ks of dollars". I wasn't even given a chance to say anything else.
The meeting ended and since we were both in the office, Manager approached me with exit papers and a check (~1200 USD)--it was my month's pay. I was asked to leave that day and was told I didn't need to come back. No handovers, no knowledge transfers, not a even a documentation of open projects I was handling.
I realized I just was made the scapegoat by a management screwup that costed our clients a lot of money.
Of course, I wrote the CEO multiple emails the next couple days. I also cc'd the CTO. No response.
A couple of weeks pass, I get another job at a cool company and i promptly move on.
I write this story now because I just found out today that in 2016, Manager was let go by the company for **sexual harassment**. Apparently, he actually did it too according to friends I still had within the company.
Here's where it gets fucked up. He turns and sues the company for unlawful termination and I guess to avoid a long legal battle? the company settled. They fucking settled and handed this man 2 Million PHP (at the time about 40k USD).
2 fucking million. Life changing money around here. And he got it by being a slimy piece of shit.
The world makes no fucking sense.10 -
My colleges and I were talking about salaries in our company. Our team as about 10 members. Many of us are receiving interesting offers from other companies, and we concluded that we were being underpaid.
In this life, unless you ask to, no boss will raise you, even if you put some extra effort and work the shit out of you, to bring that profit, new client or something else good to the company.
Nobody was interested in talking directly about that to our manager. Just a side note, our manager is an awesome senior developer and a very nice guy. It shouldn't be too hard to talk about this issue to him.
I waited until our annual performance and salary revision to talk about it. Everyday our team talks about this. Everyone is going crazy.
So I went straight to the point, during this meeting with our manager, and said that we needed to be raised. All of us, because other companies were offering much better salaries.
He said to me: "Take this paper, write down what value should every one receive, including myself."
I took this opportunity and put down the values, raising about 600€ for each one.
I looked at it and said: "This looks ok. I'll will ask your colleagues to do the same task. Wait here."
So he went and requested everyone to do the same thing, without explaining why.
Guess what happened? Some mother fuckers actually cut on others salaries, instead of raising everyone equally.
Anyway the manager said he would show that to the CEO, and maybe something would happen.
We were all raised in the values I said so, because the CEO want us to be among the companies that pay the most.
After the backstabbing, no one ever talked about that. Except for 3 good fellow developers, that thanked me for my initiative.11 -
After two extensive talks with a potential employer (they lasted for hours), I decided to accept the offer, although the salary was ~25% lower than at my previous job. Everything else sounded fantastic and I needed that desperately since at the previous company everything was toxic for years.
These new guys wanted a senior php dev because they had none of them, except only wordpress and drupal people who were not skilled enough to take other types of projects (they called them "custom php"). I liked it and thought I'm gonna shine there and quickly earn a raise because the agency will start earning more by getting projects that they were unable to even bid for.
First day at work and I got assigned to a new Drupal project, although it was supposed to be a simple restful API for a simple iOS app. It could be done in a week or less, with no rushing at all. But it had to be Drupal. And I happened to be around to hear that there is a queue of Drupal projects waiting. After 2 days leaving the office late and having my brain melted by nonsense I was looking at, I quit the job.
No offense to Drupal people, I really do admire you, but I just could not stand it after 8 years "doing custom php". It felt too much like being downgraded. But more than that I was pissed off by the fact that I have been shamelessly lied to and tricked to accept something I clearly said that I dont want.
This happened a year ago. I now earn 2.5x more money than those guys offered and work in a very healthy environment. In the meantime, I heard that the other guys shut their company down.2 -
"Mature codebase"
"Our entire team are senior devs"
"Almost everyone that worked on the project is still here and available, so nothing's lost! We can ask whatever we need to."
You would think this would mean the code was clean and easy to read, and you could ask the person who wrote it for help. But. no. It's kinda the opposite.
Here's an example:
I'm trying to write a mailer, and I have no freaking clue how to get it working. I talked with two of the more senior devs, and both assured me it was very straightforward, and then walked me through the quite complicated mailer structure and got lost. The first pretended not to, but glazed over a few holes in his tour, and said I could figure the rest out. The second one ended up admitting that he's totally unfamiliar with it -- his last commit on a mailer was from about 8 years ago -- and doesn't know how to get it working anymore.
So, I'm on my own.
I wrote a super basic mailer for debugging (no idea if/how it actually sends a mail, but I think I can construct one?). But whenever I call the mailer, it gets run twice? Somehow? Apparently I need to start a bunch of daemons to get that part of the system to work. Which is cool because they don't work fresh out of the repo. Got some further help, and now my ostensibly working code throws errors for an undefined var that i'm not even using, and to make it easier: without a backtrace. joy! There's so much inheritence and extending and including going on that it's going to take me hours to track this down. ugh.
I'm keeping my paystub in front of me for some desparately needed motivation.13 -
I just had a rather stressful morning. I should've known something was up by the sounds of thunder as I walked into the office.
I sat down and checked my emails. There was an email from the boss who was away on a business trip. The subject read, "CRITICAL BUG" and my name was mentioned. "Great...No time for coffee", was my first thought.
I began searching commits to see when and how the bug came to be. "SHIT! It was my fault", I said aloud.
(A bit of backstory, I am Irish, working in Germany with a B2 level of the German language.)
I now had to communicate the problem quickly with a senior developer who is Russian. He can't speak English well and I would not expect him to speak it. We are in Germany after all. I tried my best to communicate the issue, but I found it so difficult to understand his German in a Russian accent. Normally, in the office I speak German except when it is urgent and I must explain a problem in greater detail through English. I got past that obstacle, however, the real challenge of fixing the bug awaited.
After 2 hours of coding, I had a solution and committed it to the master branch. All the while, I had been replying to the bosses emails with updates, probably with many grammer mistakes.
We have no dedicated testers here and the code is written in a way which makes it very difficult to test (i.e. it was written many years ago). When I had initially written the code, I tested rigorously and found no issues.
Just needed to rant. I need a coffee break now...4 -
Does anyone else despise buzzwords? A little background. I am a senior dev with a government organization who works in machine learning. As everyone knows, AI is the hottest of the hot now. Thus, everyone believes that they need it.
Long story short. I had a "requirement" come down to develop an "AI" algorithm that totaled all of the hours that a device was used last month. I explained to them that they weren't looking for "AI" and instead they needed rudimentary mathematics and a touch of Business Analytics for visualization. When they finally understood, they told me "nevermind, we just want to get into AI"...11 -
I did it! My Senior Project is done! Seven months of my life have been spent leading up to the completion of my game engine and it's finally over. It is awful and should never actually be used by anyone, but it's done and that's all that matters.
And as my final middle finger to my school's administration, somebody has to grade a binder comprised of nearly 200 pages. That's what they get for not listening to me when I told them that it was a huge project and adding more to it. Dear administration, f*** you for making my life more stressful than it needed to be.7 -
Tl;dr porn is ruining my life.
Today I had a meeting with the project leader and the CTO. They had bad news, which did not come as a surprise.
In short, they said I did not pass the expectations they had, and unfortunately need to find somewhere else to work.
This is my third time being told to find somewhere else to work, and I really can't describe how it feels. I was even told that I maybe I should reconsider my future as a developer, and kids can do programming better than I can do.
It's really difficult when all you've done in the last year is to learn and improve your current skills.
I have good grades, a unique experience, built lots of unique projects, and a GitHub portfolio with high activity. The apps I've built are used by many customers today. I also have a blog with 600 k views where I share dev tips.
The thing with this work if I'm going, to be honest, is that they expected someone with senior experience, and unfortunately, I don't have that thus it takes many years to build it. So I started here with almost scratch experience of the things they needed.
On the other hand, it feels like a relief in that I can finally focus on my personal business. And maybe this wasn't the right place to work, maybe it requires a couple of jobs until I find the right place.
Despite the bumpy ride, and what such people tell you, I'm not going to give up.
10 years ago, my school teacher told me I was going to be a carpenter (nothing against that) but I manage to get an MSc degree in the engineering field.
There's a lot of shit going into your head when you receive such message like "What if they are true, what if I can't handle programming, what if I'll never be anything etc".
I'm not giving up, this is just a great story every successful person has.
What my number one problem is, and I will f*** win is porn addiction. Get rid of that, and the future is bright.
Sorry for mixing so many things here.14 -
This is going to be a rant, but personally, I'm pleased with the outcome of my life now.
I was part of a community for a few years and decided to help them out with my knowledge of programming Lua nearly 2 years ago since they lacked developers for the project itself.
Since it was sort of a custom language that they modified how Lua worked on it, it took me a bit to adapt, but within a few weeks, I was pretty fluent in this so-called custom language they had. Began working on some major updates, additions, removals, and just optimizing this code base. It was a pretty old code base and needed a good chunk of love.
A few months later, I've implemented loads of features, optimized the base whenever I could, and then things start taking a turn for the worse. We get new 'developers' who haven't ever coded the language, and worse they couldn't afford to provide them development servers thus they ended up breaking my servers. I helped them and they learned, they were decent, but now the Seniors and CEO's of the project began to take a toll on me.
I was told that this community had a reputation of driving out developers, ruining their reputations, and that is what started happening. I started getting questioned if I was loyal to helping them, that I've become lazy, even though they were explained I've had mental health issues for a few years and have been hospitalized multiple times.
These sort of attacks kept happening for months, and then they finally pushed my buttons, where I was talking to another Senior of how we should redo the base since it's just so massive and a few tiny updates to the base take a few days to implement across the entire code. What instead happened was that I went to sleep, and this Senior told the CEO I was going to steal the code base and go sell it...
I woke up to messages of how the CEO is all pissed off, and that this what the Senior said. At this point, I started responding with, fuck it. I was so sick and fucking tired of their bullshit. I was the only fucking competent developer, and I did more work in the few months I was there then some people did in 2 or 3 years.
A few hours later I decided to go chat with the CEO and explained what was truly brought up, and he just brushed it off like I was lying. At that point, I lost it. I told him why the code base was horrible since he hired stupid ass developers. He didn't know how to code. People wanted certain items, and he wouldn't be able to add them for fucking months and players sit there making fun of it. Some people state the only differences they see within the code is the code I've done. Basically, he was an incompetent fuck that said he knew what he was doing, and had all these big plans for the future yet couldn't listen to the only competent developer and fucking claimed bullshit.
Now a few months have gone by, I'm looking at their community and it's basically dead with no proper updates except for copy and paste updates claiming to be custom coded. While I'm working on my real life businesses (Which are currently being a headache, but within the year should resolve its issues), starting University for my Computer Science degree here soon, and even considering building my own game here.
Basically, karma is a bitch and that's why when you get loyal people in your life, keep them. (Writing this at 3 am after a few drinks, hopefully, it made sense, I think it does.)
Anyways, goodnight everyone.5 -
As a senior developer, I introduced a bug in the hiring system at the company I worked at and it took HR nearly 2 years to fix it.
Bug: Every candidate I interview on Wednesday between 12:30 PM and 4:15 PM gets selected irrespective of performance.
Impact: 270 candidates got a job
1st Fix [1.5 years in]: Add multiple developers to conduct a single interview (still did not fix it completely after all I was a senior developer)
2nd Fix [2 years in]: Removed me from the hiring committee
3rd Fix [though was not needed but for HR's extra safety]: Started recording all interviews
It was a good time.3 -
Found out a senior dev threw me under the bus for a mistake I made while coding and it affected my raise. Not only was I never initially informed of the mistake, I was never told what went wrong and why it needed fixing. We also don't implement code reviews or anything of the sort. Seems like a great avenue for improvement and growth, right? 😑5
-
Just need to get this off my chest. Started a new job 3 weeks ago at a company that has been around ~18 years, it is only recently that they have started to grow more rapidly. I was brought in under the guise that they wanted to embrace change and better practices and so said I was up for the challenge.
In my 2nd week I was asked to produce a document on tackling the technical debt and an approach to software development in the future for 3 consultants who were coming in to review the development practices of the company on behalf of the private equity firm who has taken a major stake in the company. I wrote the document trying to be factual about the current state and where I wanted to go, key points being:
Currently a tightly coupled monolith with little separation of concerns (73 projects in one solution but you have to build two other solutions to get it to build because there are direct references.).
Little to no adherence to SOLID principles.
No automated testing whatsoever.
Libraries all directly referenced using the file system rather than Nuget.
I set out a plan which said we needed to introduce TDD, breaking dependencies, splitting libraries into separate projects with nuget packages. Start adhering to SOLID principles, looking at breaking the project down into smaller services using the strangler pattern etc. After submitting what I had written to be part of a larger document I was told that it had been tweaked as they felt it was too negative. I asked to see the master document and it turns out they had completely excluded it.
I’ve had open and frank discussions with the dev team who to me have espoused that previously they have tried to do better, tackle technical debt etc but have struggled to get management to allow them. All in all a fairly poor culture. They seem almost resigned to their fate.
In my first 2 weeks I was told to get myself acquainted and to settle myself in. I started looking at the code and was quite shocked at how poorly written a lot of it was and in discussions with my manager have been critical of the code base and quite passionate and opinionated about the changes I want to see.
Then on Friday, the end of my third week, I was invited to a meeting for a catch up. The first thing I was told was that they felt I was being too openly critical in the office and whether I was a good fit for the company, essentially a stay or go ultimatum. I’ve asked for the weekend to think about it.
I’ve been a little rocked by it being so quickly asked if I was a good fit for the company and it got my back up. I told them that I was a good fit but for me to stay I want to see a commitment to changes, they told me that they had commitments to deliver new features and that we might be able to do it at some point in the future but for now I just needed to crack on.
Ordinarily I would just walk but I’ve recently started the process to adopt kids and changing jobs right now would blow that out the water. At the same time I’m passionate about what I do and having a high standards, I’m not going to be silenced for being critical but maybe I will try and tackle it in a different way. I think my biggest issue is that my boss who was previously a Senior Developer (my current position) has worked at the company for 12 years and it is his only job, so when I’m being critical it’s most likely criticising code he wrote. I find it hard to have the respect of a boss who I had to teach what a unit test was and how to write one. It makes it hard to preach good standards when by all accounts they don’t see the problems.
Just wondering if anyone has suggestions or experience that might help me tackle this situation?12 -
Am I really unlucky, or are juniors these days all lazy af and such pampered babies that need hand holding all the time?
So back when I was a junior, when I wanted to learn something new, I would ask for some pointers from my seniors, could be an article, a video or even a book. From there I would look up further knowledge, play with the idea in my machine. If I couldn't understand something, or if I needed a better explanation of something, I would go back to my senior, but it was really rare.
Then comes this modern day, I'm the senior now and I'm in charge of mentoring a bunch of kids, who would treat me like their personal chatgpt. "Hey Junior #0, this is something you may want to read to help your next ticket, let me know if you have difficulty". Next day junior #0 would come back and say "I don't understand, the article mentioned X but I don't know how to do X. Can you show me how to do X?". Bro, no one knows how to do X after being born, just google "how to do X" and it gives you the fucking answer. Why the fuck do you have to circle back to me because of this. Junior #1 would refuse to read any articles longer than 250 words, and require constant 1-1 meetings to give him personal lectures. Dude this is not a class room, grow the fuck up! Junior #3 would write the messiest code possible despite my efforts to introduce tons of resources, then complain "why I'm still junior, how do I grow". Bro maybe if you learned half of what I sent you, you would have gotten promote by now. Fucking lazy kids these days!
Oh I can't fire these juniors. Top management was very clear that "we don't have budget to hire other devs for you, it's your responsibility to train them better".21 -
We were 6 devs on a big project that needed to be completed in 3 months. Probably my first project as a full-stack dev and the work was very demanding.
The senior of my team was a very sharp and energetic, but also a very "in your face" kinda guy. Like, he was cool, but sometimes a little too much to handle for some people.
Anyway, this guy "Senior dev" worked faster (naturally) and harder than the rest of us and was always willing to help if somebody had problems with a framework, tool or other technology. Also, there was this other guy also a good dev (second best I would say) that just hated the first guy's guts for being "rude and obnoxious" as he put it.
One day, the PM and the senior had an argument about a major change that the PM had agreed to (just to save face with the client) that will force the team to come to work on the weekend. In the end he saved us the trouble of going throught that and the PM had to tell the client that the change wouldn't be made. From then on it went downhill for "Sr. dev" in the company. Until one day he was told that his contract was not gonna be renewed.
Short after, he showed some of us a screen cap. somebody sent him of an email from the "hateful" dev to the PM in which he wrote he had heard that the senior guy was leaving and he couldn't be happier because he was "damaging, problematic and a stressful part of his job". That was such a dick move, we thought he should get back at the guy.
So he sent a fake email to the PM using the "hateful" guy's email ID, that read:
"Dear PM. I'm sorry I said those things about 'Senior dev', I guess I'm just mad that he's a better professional than me and mad that I was born with no genitalia".
After the senior dev left I worked on one more project with the "hateful" dev and he was let go mid project for "not being proactive and making little effort on completing the project". -
First rant (hello everyone), just wanted to share my experience of my recent job search.
I had worked about 2 years for one of the bigger companies in my country when I decided I had enough with their bs (I have some decent rants from that company if someone's interested) and I wanted to move back to my hometown. I applied for a few jobs in smaller companies , one which I personally knew the lead programmer of, and he really wanted me to work there. One other company responded quickly and after a couple of interviews I got an offer from them. By that time I haven't heard anything from the first company, so I called them. The CEO was in a meeting but would call me when he was done about am hour later. Didn't hear from him. So I called them again, this time he answered. He seemed really interested and said they were just working some things out, so I said that I needed an offer soon since I already got an offer from another company. His response (without me telling anything about the other company):
"We're not going to be able to match the salary so if you only care about money you should take that. We want you to work for us because you want to, not because of the money"
Well that doesn't pay the bills, so I simply stated:
"I appreciate your honesty and good luck finding anyone"
I hadn't really understood just how bad that was until I told my wife and she pointed it out. The thing is, the company that gave the offer first was really for a junior role, but they increased the proposed salary when they saw my CV. The shitty company was looking for a senior dev. Yeah, good luck finding a senior dev wanting to work without getting properly paid.
Anyway, took the first offer and haven't been happier!11 -
One time, I was working with an org that got a new senior executive from Microsoft. He decided we needed to throw out our application's java stack and replace it with SharePoint. The code error was committing anything other than my immediate resignation.4
-
Wasn't so much a question but...
Before WFH got so popular, I was interviewing at a place 50km from home, loyalty and stuff came up and the guy said something along the lines of "The only potential problem I can see is the distance. Now I get the sense you're quite a loyal person blah blah blah"
Half way into my third month they decided not to keep me after probation, after giving no negative feedback at any point prior to that then "we just need someone mors senior"
So yea, tune me about loyalty and then do that....
Also, if they needed senior why were they advirtising junior?2 -
DO NOT be afraid to argue with people. It doesnt matter who they are. Senior engineers, tech leads, delivery managers, if you know something is wrong make it heard. I made a point of telling my Project Manager that the current project is the worst ive ever seen. The technology is awful and we all hate the development. They need to know this stuff. And if they come to you with a deadline that you dont think you can make, say it then and there. Then they cant come back and say why isnt this done. Basically dont just do as youre told. If we needed that we would get robots to do our job. We need people who think and have opinions and make those opinions heard at the appropriate level.2
-
That time you think you found your dream dev job...
But they really just needed a content entry person so the other dev could add 'senior' to his title and work on all the new fun projects, while you're stuck fixing IE7 bugs in his code from 3 years ago.
He used prototype instead of jQuery.
You try to tell them about responsive design, but they think everything needs a separate mobile version.
You spend half the day learning his custom functions to a cms he built 2 years ago, and he's in the process of rebuilding a new cms from the ground up, so you have to learn the new version too.
Was fired 3 days before my birthday, and didn't get my company gift, even though I contributed to every one else's gifts.
Fired 2 months before birth of my child so lost my insurance.
After my time there... They now build responsive, they now use jQuery for everything. I also showed them how to do IE testing with virtual box, instead of them using the secretary's computer.7 -
> Worst work culture you've experienced?
It's a tie between my first to employers.
First: A career's dead end.
Bosses hardly ever said the truth, suger-coated everything and told you just about anything to get what they wanted. E.g. a coworker of mine was sent on a business trip to another company. They had told him this is his big chance! He'd attend a project kick-off meeting, maybe become its lead permanently. When he got there, the other company was like "So you're the temporary first-level supporter? Great! Here's your headset".
And well, devs were worth nothing anyway. For every dev there were 2-3 "consultants" that wrote detailed specifications, including SQL statements and pseudocode. The dev's job was just to translate that to working code. Except for the two highest senior devs, who had perfect job security. They had cooked up a custom Ant-based build system, had forked several high-profile Java projects (e.g. Hibernate) and their code was purposely cryptic and convoluted.
You had no chance to make changes to their projects without involuntarily breaking half of it. And then you'd have to beg for a bit of their time. And doing something they didn't like? Forget it. After I suggested to introduce automated testing I was treated like a heretic. Well of course, that would have threatened their job security. Even managers had no power against them. If these two would quit half a dozen projects would simply be dead.
And finally, the pecking order. Juniors, like me back then, didn't get taught shit. We were just there for the work the seniors didn't want to do. When one of the senior devs had implemented a patch on the master branch, it was the junior's job to apply it to the other branches.
Second: A massive sweatshop, almost like a real-life caricature.
It was a big corporation. Managers acted like kings, always taking the best for themselves while leaving crumbs for the plebs (=devs, operators, etc). They had the spacious single offices, we had the open plan (so awesome for communication and teamwork! synergy effects!). When they got bored, they left meetings just like that. We... well don't even think about being late.
And of course most managers followed the "kiss up, kick down" principle. Boy, was I getting kicked because I dared to question a decision of my boss. He made my life so hard I got sick for a month, being close to burnout. The best part? I gave notice a month later, and _he_still_was_surprised_!
Plebs weren't allowed anything below perfection, bosses on the other hand... so, I got yelled at by some manager. Twice. For essentially nothing, things just bruised his fragile ego. My bosses response? "Oh he's just human". No, the plebs was expected to obey the powers that be. Something you didn't like? That just means your attitude needs adjustment. Like with the open plan offices: I criticized the noise and distraction. Well that's just my _opinion_, right? Anyone else is happily enjoying it! Why can't I just be like the others? And most people really had given up, working like on a production line.
The company itself, while big, was a big ball of small, isolated groups, sticking together by office politics. In your software you'd need to call a service made by a different team, sooner or later. Not documented, noone was ever willing to help. To actually get help, you needed to get your boss to talk to their boss. Then you'd have a chance at all.
Oh, and the red tape. Say you needed a simple cable. You know, like those for $2 on Amazon. You'd open a support ticket and a week later everyone involved had signed it off. Probably. Like your boss, the support's boss, the internal IT services' boss, and maybe some other poor sap who felt important. Or maybe not, because the justification for needing that cable wasn't specific enough. I mean, just imagine the potential damage if our employees owned a cable they shouldn't!
You know, after these two employers I actually needed therapy. Looking back now, hooooly shit... that's why I can't repeat often enough that we devs put up with way too much bullshit.3 -
So I am going to talk about interviews from a different perspective, the being on the question side of the technical interview.
We have had four interviews for a single Senior Dev position. I threw some very hard questions at the people and some very easy ones. The thing that amazed me was that people actually went for an interview when they where woefully under qualified.
The latest in this list was someone who didn't understand how inheritance works for object orientated programming, and when I asked him something very specific he needed to look at his notes...
The person that I felt did the best on the interview was the person that didn't have every answer but said clearly that he didn't know and talked about his ability and desire to learn. The people that failed the worst were the ones that were certain, arrogant, and wrong.
Technical interviews are fun 😏4 -
Declined a job offer with a startup, partly because of imposter syndrome. Applied for position as programmer, showed up for interview and got cold feet when it turned out they actually wanted/needed a senior programmer/chief technology officer and offered me the position after having asked me no technical questions, seen none of my code or previous projects.
Still, it was a job that paid money... And I'm still jobless two months later :(7 -
job ad said "need senior back-end developer", with skills:java, c++, node.js,etc. went to their office for interview and they just needed man for installing windows and things like that.
Conclusion: dont fu*kin put every language in requirements you heard when dont need any of them1 -
When your daily scrum takes an hour because your senior developer co-worker gives unnecessary and incredibly detailed updates...
"Well, first I tried hiding the button, but it wouldn't come up when I needed it to, so then I made an options menu, but the sliding transition was difficult to implement, so then I..."6 -
So one year ago, when I was second year in college and first year doing coding, I took this fun math class called topics in data science, don't ask why it's a math class.
Anyway for this class we needed to do a final project. At the time I teamed up with a freshman, junior and a senior. We talked about our project ideas I was having random thoughts, one of them is to look at one of the myths of wikipedia: if you keep clicking on the first link in the main paragraph, and not the prounounciation, eventually you will get to philosophy page.
The team thought it was a good idea and s o we started working.
The process is hard since noe of us knew web scraping at the time, and the senior and the junior? They basically didn't do shit so it's me and the freshman.
At the end, we had 20000 page links and tested their path to philosophy. The attached picture is a visualization of the project, and every node is a page name and every line means the page is connected.
This is the first open project and the first python project that I have ever done. Idk if it is something good enough that I can out on my resume, but definitely proud of this.
PS: if you recognize the picture, you probably know me. If you were the senior or the junior in the team, I'm not sorry for saying you didn't do shit cuz that's the truth. If you were the freshman, I am very happy to have you as a teamate.3 -
!rant
Thank you, senior developer!
Thanks for offering to help me when I said haven’t slept at all tonight.
Thanks for having a pair programming session with me when I said I would have trouble finishing todays tasks that the customer was expecting.
Thanks for being understanding and explaining, instead of just staying quiet and do everything yourself, when I couldn’t understand even simple solutions with my sluggish brain.
Thanks for making sure I understood what tasks needed to be done and how to do them before you resumed to your own.
Thanks for caring, and telling me I did good work even though I wasn’t my sharpest today!4 -
Man, I'm sure there are a million of these posts right now but...
The hiring market and hiring culture nowadays is so damn frustrating. I have a decade of experience in multiple senior/lead/principal roles at both big name companies and high-growth startups, along with a very well-written resume.
Even with this, I can barely get an interview these days. I'll apply to a role that lists qualifications for which I'm an exact fit, and either get a quick auto-denial or just never hear back at all. It doesn't matter if I custom-craft my resume and cover letter to match the job description or just send my standard resume and cover letter. We all love those pandering and patronizing "We know that this isn't the news you wanted to hear, but keep trying! Maybe you'll be good enough for us someday!" auto-denial email.
Sometimes I'll receive a denial, look back at the job posting, that they needed somebody with NLP experience or something, and say to myself "Fair enough, that makes sense." Other times, I'll look at the posting and say "Oh come on, I check every single box." It makes you wonder "What the fuck are you actually truly looking for?"
Sometimes I'll look at the company's current employees and see that almost every single one is ex-FAANG, indicating that the company will almost only hire other ex-FAANG employees (despite there being thousands of other well-qualified candidates out there who are just as talented and skilled as those ex-FAANG candidates.)
Other companies seem to be "brand shopping" for ex-FAANG employees after all the recent FAANG layoffs, hoping to land a bargain on an ex-Google engineer so they can brag that their product was built by the same people who built Google.
Then there's the question of even making it past the ATS and in front of an actual human's eyes. The hiring culture seems to be an ATS SEO game nowadays. God forbid that you didn't include the super secret magic keyword in your resume, else you'll automatically be filtered out and denied.
It's just incredibly frustrating and makes you wonder what kind of candidate you need to be to even get a first round interview nowadays. Do we all need to have a glowing personal recommendation from the ghost of Steve Jobs in order for a 50-person startup to even open our resumes?6 -
Welcome to Part III of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363551. It's title is: "Mt 13:12".
We left off the story in the very moment I had received feedback from 3 companies that decided to interview me. A, B and C. We won't talk about A from now on, since I refused their offer to offer me unpaid internship.
It's December 20, 18:00. I am returning home. Earlier that day I emailed guys at C that I need some time with my decision, because I have another offer that suits me better. It was awaiting response from B, obviously. That day they called me and offered me... full-time job. As a fullstack. On a project for a big company, that they described by something like: "They may not be one of the famous X of the market, but they're probably X+1, yeah". Needless to say, that was some bad marketing. I googled them up later tho. Anyway, my response didn't change, altho thing seemed a little big better for me. Except that I was a little suspicious of them too. Were they *that* desperate for a worker?[1]
It is December 24th. 10 am. My phone rings. It's guy from B. He tells me "saito, the recruiter guy is still sick. Since I don't know if we can hire you for sure, it may be better for you to accept another offer, if you got any. I'll keep you updated." That was pretty cool of him. Remember the quote from part II? That's the empathy part. He called me, even tho he didn't really have to. If you read this, monsieur, you're the best. Back to the story now. I emailed guys at C that I am willing to start the job anytime. They told me that CEO is back January 7th, 2020.
It is January 4th 2020, 10 am. Unkonwn number calls. It's actually a guy from B, but the other one. The one that was sick previously. He tells me that he wants to talk about my employment. He talked with the senior dev and he just wants a talk and a small code test in typescript. He told me that it's no prob that I don't know typescript, since it will be entry level and I have time to learn the basics. And so I do. We decide to meet at January 7th. Later on that day guys from C email me that they want to sign the contract n January 7th.
And here we get to the culmination and the lesson of those posts. What should I do? On one side I have a job that isn't 100% comfirmed, but I'm pretty positive about it. The people at B are great, I love them. During my interview I learned some stuff about the project I would participate in, so I didn't go in blindly. It was my field of interest. I was hyped for the possibility itself to work with that senior dev. On the other hand guys at C had their contract ready. They finally were ready to start. I still didn't know for shit what would I do. I knew that I would need to learn basics of data science and stuff. Their interview and CEO left me with a quite bad impression. I didn't really like them. But it was a job.
What I did I consider the best thing I could do for myself. I told guys from C to meet someday later. I visited B yesterday, January 7th. I've done the test. It had some code refactoring and implementing some React elements. Basic shit indeed. I am almost positive I would do it even if I didn't visit typescript docs during the weekend. We then talked about it. The dev told me what he would change in the solution, but didn't consider it bad. Then they told me I'm hired. And I emailed C that I can't accept their offer. The guy was pretty pissed. I can understand it, they seemed to be ready to start with me and I pulled out last day, in the evening. I am truly sorry for that. But also I feel no regrets. I have chosen those whom I trusted more. I've chosen guys who took notes of my CV and talked about it in my interview over people who didn't even get that I applied for a frontend positin. That's competence for you. I've chosen guys who actually wanted to talk wih me about me making music over people who sat me down at a computer and told me: "code". That's empathy for you.
Dear recruiters. If you want to attract best candidates, show your competence and empathy.
Dear recruitees. If you're looking for a good job, it may take some time. Also, knowing people helps a lot.
1 – Actually, I wouldn't be surprised, if they really needed someone to help them out on their projects and they didn't get a lot of attention. Why? Well, their webpage was unfinished and kinda sucked, their interview sucked also. I still don't know whether they're a startup or what. I just can't help but feel bad seeing HR and Marketing that bad. Because the guys actually might do a lot of good stuff, and their potential employees didn't get to know that.5 -
This was not exactly the worst work culture because the employees, it was because the upper level of the organization chart on the IT department.
I'm not quite sure how to translate the exact positions of that chart, but lets say that there is a General Manager, a couple of Area Managers (Infrastructure, Development), some Area Supervisors (2 or 3, by each area), and the grunts (that were us). Anyway, anything on the "Manager" was the source of all the toxicity on the department.
First and foremost, there was a lack of training for almost any employee. We were expected to know everything since day-1. Yes, the new employees had a (very) brief explanation about the technologies/languages were used, but they were expected to perform as a senior employee almost since the moment they cross the door. And forget about having some KT (Knowledge Transfer) sessions, they were none existent and if they existed, were only to solve a very immediate issue (now imagine what happened when someone quit*).
The general culture that they have to always say "yes" to the client/customer to almost anything without consulting to the development teams if that what was being asked to do was doable, or even feasible. And forget about doing a proper documentation about that change/development, as "that was needed yesterday and it needs to be done to be implemented tomorrow" (you know what I mean). This contributes to the previous point, as we didn't have enough time to train someone new because we had this absurd deadlines.
And because they cannot/wanted to say "NO", there were days when they came with an amount of new requirements that needed to be done and it didn't matter that we had other things to do. And the worst was that, until a couple of years (more or less), there was almost impossible to gather the correct requirements from the client/user, as they (managers) "had already" that requirement, and as they "know better" what the user wants, it was their vision what was being described on the requirements, not the users'...
And all that caused that, in a common basis, didn't have enough time to do all this stuff (mainly because the User Support) causing that we needed to do overtime, which almost always went unpaid (because a very ambiguous clause of the contract, and that we were "non-union workers"**). And this is my favorite point of this list, because, almost any overtime went unpaid, so basically we were expected to be working for free after the end of the work day (lets say, after the 17:00). Leaving "early" was almost a sin for the managers, as they always expected that we give more time to work that the indicated on the contract, and if not, they could raise a report to HR because the ambiguous clause allowed them to do it (among other childish things that they do).
Finally, the jewel of the crown, is that they never, but never acknowledge that they made a mistake. Never. That was impossible! If something failed on the things/systems/applications that they had assigned*** it was always our fault.
- "A report for the Finance Department is giving wrong information? It's the DBA's fault**** because although he manages that report, he couldn't imagine that I have an undocumented service (that runs before the creation the report) crashed because I modified a hidden and undocumented temporal table and forgot to update that service."
But, well, at least that's on the past. And although those aren't all the things that made that workplace so toxic, for me those were the most prominent ones.
-
* Well, here we I live it's very common to don't say anything about leaving the company until the very last day. Yes, I know that there are people that leave their "2-days notice", but it's not common (IMHO, of course). And yes, there are some of us that give a 1 or 2-weeks notice, but still it's not a common practice.
** I don't know how to translate this... We have a concept called "trusted employee", which is mainly used to describe any administrative employee, and that commonly is expected to give the 110% of what the contract says (unpaid overtimes, extra stuff to do, etc) and sadly it's an accepted condition (for whatever reasons). I chose "non-union workers" because in comparison with an union worker, we have less protections (besides the legal ways) regarding what I've described before. Curiously, there are also "operative workers", that doesn't belong to an union, but they have (sometimes) better protections that the administrative ones.
*** Yes, they were in charge of several systems, because they didn't trust us to handle/maintain them. And I'm sure that they still don't trust in their developers.
**** One of the managers, and the DBA are the only ones that handle some stuff (specially the one that involves "money"). The thing that allows to use the DBA as scapegoat is that such manager have more privileges and permissions than the DBA, as he was the previous DBA2 -
!rant I need job advice. Please reason with me.
I am 26, got 2 years of experience in c# and unity3d.
I did some research and it turns out that the minimal paying average with my job/experience over the whole country is at least 300€ a month more than what i get payed currently.
I made a list of pros and cons, and am just not sure what would be smartest to do in the long run. Here is a list for both options, please chime in on me if you can!
Points for current job:
Permanent contract (hard to fire me etc.)
Get to make mostly mobile games but nothing really big
Fun small team whom i get along with (i am on the spectrum and can be hard to deal with social or costumer related things)
Rarely any overtime (i like to know my hours)
Easy but slow jobs (badly organized, drag on forever)
Rarely challenged and thus boring me
I get to shoot nerf guns at colleagues whenever
Low chance of a 300€/m pay increase (not worth it to boss, financials aren't that great but the company is promising)
Points for any other job:
Unknown working condittions
I am probably bad and uknowledgeable about any tool they give me to work with because my experience is so monotone
Start on short term contract again all over
At the least a 300€ net increase a month
Prob closer to home then 1h drive away
I get to learn new things but give up on games/apps as i know them
Probably get knowledgeable seniors
Probably end up in a bigger more serious company where i am just a number
I am bad in new social envirnoments, oh the angst is real
And a few things besides it are that i personally only have as goal to own my own house with my fiance as soon as i can. And this means i will need to take out a 200k loan or something along those lines, to be paid off over 30 years max.
This means that the permanent contract is very valuable in my eyes, but so is monthly pay increase.
I want to have fun in my job, i want to learn new things and better ways. But i also want to be able to say "enough" to something if it overwhelms me. I just know some things are not for me and i would mess up if i were made to do them. I fear that to not be an option in a big company. I would be forced out of my comfort zone without any regard for me or my learning curve.
Any advice is welcome. Please keep it general if you can so others can learn from this as well. Seniors advice will probably be helpfull to all starting programmers!10 -
Rant r = new Rant(Rant.TEAM_PROBLEM);
Three months ago, a senior, one year older than me, decided to join me in doing startups. He said he's good at finance stuff (his parents are fund managers), and he is interested in startups just like I am. He treated me very nicely, so I gladly accepted him.
I'm currently working on many projects, and some of them won me quite a few awards, most notably on the national competition. I also got invited into startup incubator programs, met some awesome people and offered free scholarships at universities in my country.
He frankly said he joined because he wanted to learn about startups and have those "privileges" too, and I'm cool with that.
Anyway, the problem is that I'm the one doing all the work. He's really nice, doesn't claim anything whatsoever, but the thing is he doesn't have any skills whatsoever except soft skills like communicating. So, I'm horribly tired from working alone.
My tasks mostly involves full-stack development, such as planning the specs, designing and developing frontend for mobile apps and progressive webapps, developing microservices for the backend, up to deploying and maintaining the servers. It's a lot of work for a single person to handle in such a short timeframe.
Not only that, but I'm also the one handling the business/marketing part, albeit I'm still learning. From doing paperworks, pitches, business models, up to creating advertising materials for the product.
I'm obviously not the smart ones like the people out there, but I keep focusing on improving my skills.
So, he said he could help me, and I let him try. What did you think he did?
He made pitch decks using default fucking PowerPoint themes, shooted a demo video with his phone cam in 320p potato resolution and expect me to "add some effects", gives me loads of requirements when all we needed was a simple feature, copying and pasting prior documents in my paperworks which doesn't make any fucking sense at all, and quite a lot more.
Also, he said I should stay in the developer zone only while he maintains the business, whilist he obviously can't do much in the business part either. Seriously...?
I'm okay with his lack of experience, considering he's nice and all, unlike the other business guys I've met in the previous rants. However, I keep questioning myself why he is here in the first place when I'm the one doing everything anyway.
What should I do? Maybe just keep him and recruit more experienced people to join us, as he's not that much of a burden? What do you devRanters think?
Thanks for reading, fellow devRanters! 😀8 -
So, with couple of new people in senior managerial roles, pink slips started flying left and right before the holiday season. That didn't happen before in the company. It's still relatively small and when people left that was for better paid or more interesting work.
While I can understand that from the business perspective and especially for a few who might have been considered dead weight (devs and other roles), I have a serious problem with the way it was handled. It's one of those 5 minute notices. If we weren't remote, I guess escorting out by security would follow.
Most recent person to go is actually one of the most senior devs at the position that became redundant over time, as it clashed in the "pyramid" with another dev. He was involved in many aspects of the product and greatly contributed to the overall success during years of hard work, i'd say maybe more than any of us.
He didn't fuck up anything major as far as I know, his services were just not needed anymore, compared to the other guy. Saving money. I get that.
At T-1 day he prepared a demo of his project. Meetings, Slack, everything as usual. Next thing we got was a "we wish him well in future endeavours" e-mail.
What I find most disturbing is the fact his account was removed immediately, and then we were asked to get any files and anything else we might need, all over personal communication channels (private e-mail, Skype etc.) because he was locked out of all company accounts.
I seem to have have survived this year. One thing they have definitely achieved, based on some off the record chat and some public updates, tweets etc I can see, is for many of us to start networking, polishing CVs and generally stop giving many fucks about the company and the outcome.
I've myself started brushing up on some new skills (stacks) and some old ones (algorithms, etc.) I may need any day now, as it seems.
If they can basically tell "thank you and fuck off" to one person maybe most involved with the company growth, with zero dignity and respect for the person, then fuck them.4 -
TL;DR:
JuniorDev ignores every advice, writes bad code and complains about other people not working because he does not see their result because he looks at the wrong places.
Okay, so I am really fed up right now.
We have this Junior Dev, who is now with us for circa 8 months, so ca. a year less than me. Our first job for both of us.
He is mostly doing stuff nobody in the team cares about because he is doing his own projects.
But now there's a project where we need to work with him. He got a small part and did implement that. Then parts of the main project got changed and he included stuff which was not there anymore. It was like this for weeks until someone needed to tell him to fix it.
His code is a huge mess (confirmed by senior dev and all the other people working at the project).
Another colleague and me mostly did (mostly) pair programming the past 1-2 weeks because we were fixing and improving (adding functionality) libraries which we are going to use in the project. Furthermore we discussed the overall structure and each of us built some proof-of-concept applications to check if some techniques would work like we planned it.
So in short: We did a lot of preparation to have the project cleaner and faster done in the next few weeks/months and to have our code base updated for the future. Plus there were a few things about technical problems which we need to solve which was already done in that time.
Side note: All of this was done not in the repository of the main project but of side projects, test projects and libraries.
Now it seems that this idiot complained at another coworker (in our team but another project) that we were sitting there for 2 weeks, just talking and that we made no progress in the project as we did not really commit much to the repository.
Side note: My colleague and me are talking in another language when working together and nobody else joins, as we have the same mother tongue, but we switch to the team language as soon as somebody joins, so that other colleague did not even know what we were talking about the whole day.
So, we are nearly the same level experience wise (the other colleague I work with has just one year more professional experience than me) and his work is confirmed to be a mess, ugly and totally bad structured, also not documented. Whereas our code is, at least most of it, there is always space for improvement, clean, readable and re-useable (confirmed by senior and other team members as well).
And this idiot who could implement his (far smaller part) so fast because he does not care about structure or any style convention, pattern or anything complains about us not doing our work.
I just hope, that after this project, I don't have to work with him again soon.
He is also one of those people who think that they know everything because he studied computer science (as everybody in the team, by the way). So he listens to nothing anybody explains to him, not even the senior. You have to explain everything multiple times (which is fine in general) and at some points he just says that he understood, although you can clearly see that he didn't really understand but just wants to go on coding his stuff.
So you explain him stuff and also explain why something does not work or is not a good thing, he just says "yes, okay", changes something completely different and moves on like he used to.
How do you cope with something like this?6 -
Web development:
I'm honestly happy that my toxic "senior" colleague is gone.
- Didnt learn a single thing in the last 10 years. Used godamn serverside rendering with Jquery / plain JS for a highly interactive business Web Application. Yeah boii, save that UI state in the relational database, good job.
- Every error in his shit was the error of someone else.
- Manipulative as hell. Type of guy that is your best buddy to gather information.
- Blocked entire technical progress in the Web department by manipulating people. Understandable. I mean if your legacy shit is gone...
- Kept backend developers from doing their job with unjustified complaints about structures... etc to justify that he needed an insane amount of time to implement simple things.
- Cried for every shit to be documented to the last bits. Did never do any documentation himself.
Fuck these people, honestly.1 -
A bug is born
... and it's sneaky and slimy. Mr. Senior-been-doing-it-for-ears commits some half-assed shitty code, blames failed tests on availability of CI licenses. I decided to check what's causing this shit nevertheless, turns out he forgot to flag parts of the code consistently using his new compiler defines, and some parts would get compiled while others needed wouldn't .. Not a big deal, we all make mistakes, but he rushes to Teams chat directing a message to me (after some earlier non-sensible argument about merits of cherry picking vs re-base):
Now all tests pass, except ones that need CI license. The PR is done, you can use your preferred way to take my changes.
So after I spot those missing checks causing the tests to fail, as well as another bug in yet another test case, and yet another disastrous memory related bug, which weren't detected by the tests of course .. I ponder my options .. especially based on our history .. if I say anything he will get offended, or at best the PR will get delayed while he is in denial arguing back even longer and dependent tasks will get delayed and the rest of the team will be forced to watch this show in agony, he also just created a bottleneck putting so many things at stake in one PR ..
I am in a pickle here .. should I just put review comments and risk opening a can of worms, or should I just mention the very obvious bugs, or even should I do nothing .. I end up reaching for the PM and explained the situation. In complete denial, he still believes it's a license problem and goes on ranting about how another project suffering the same fate .. bla bla bla chipset ... bla bla bla project .. bla bla bla back in whatever team .. then only when I started telling him:
These issues are even spotted by "Bob" earlier, since for some reason you just dismissed whatever I just said ..
("Bob" is another more sane senior developer in the team, and speaks the same language as the PM)
Only now I get his attention! He then starts going through the issues with me (for some reason he thinks he is technical enough to get them) .. He now to some extent believes the first few obvious bugs .. now the more disastrous bug he is having really hard time wrapping his head around it .. Then the desperate I became, I suggest let's just get this PR merged for the sake of the other tasks after may be fixing the obvious issues and meanwhile we create another task to fix the bug later .. here he chips in:
You know what, that memory bug seems like a corner case, if it won't cause issues down the road after merging let's see if we need even to open an internal fix or defect for it later. Only customers can report bugs.
I am in awe how low the bar can get, I try again and suggest let's at least leave a comment for the next poor soul running into that bug so they won't be banging their heads in the wall 2hrs straight trying to figure out why store X isn't there unless you call something last or never call it or shit like that (the sneaky slimy nature of that memory bug) .. He even dismissed that and rather went on saying (almost literally again): It is just that Mr. Senior had to rush things and communication can be problematic sometimes .. (bla bla bla) back in "Sunken Ship Co." days, we had a team from open source community .. then he makes a very weird statement:
Stuff like what Richard Stallman writes in Linux kernel code reviews can offend people ..
Feeling too grossed and having weird taste in my mouth I only get in a bad hangover day, all sorts of swear words and profanity running in my head like a wild hungry squirrel on hot asphalt chasing a leaky chestnut transport ... I tell him whatever floats your boat but I just feel really sorry for whoever might have to deal with this bug in the future ..
I just witnessed the team giving birth to a sneaky slimy bug .. heard it screaming and saw it kicking .. and I might live enough to see it a grown up having a feast with other bug buddies in this stinky swamp of Uruk-hai piss and Orcs feces.1 -
I just have to rant...
7 months ago, I was still a pretty new iOS developer, but finally coming into my own. My boss gave me my first feature ever... a fully custom backend tweaker for our development builds, complete with text fields that devs and testers alike could fill in themselves for whatever they needed to test. I worked harder on that than I’ve ever worked on anything... and I got to make all the decisions on how it looked, behaved, what exactly the user saw/read... everything.
A month ago the most senior dev on my team was asked to update the tool to prepare for a backend migration to a new server. He was then hired to work for Apple, hurried to finish this task, and left forever. (He deserves it, we probably were slowing him down realistically. But that doesn’t forgive the following...)
Unfortunately, he thought it’d be a good idea to remove my entire custom backend tool in the process. Not sure why— maybe he thought it was legacy code or something. He must not have tested either, because the entire backend selector stopped working after that. But that was no problem— I could fix the pre-filled environment buttons just by updating a few values.
It’s the fact that he removed 100+ lines of my custom code from 3 separate classes (including entirely removing one of those classes), for no known reason, and now I have to completely rebuild the feature. Since it was entirely custom, it required no change for our migration in the first place. But he rewrote how the entire view works by writing an entirely new VC, so there is no chance I can just restore my work as it was written.
And in the shared class, he erased every line with the word “custom.” So, so many lines of hard work, now irrelevant and only visible in old defunct versions. And my boss has asked me to “just make it look how it did before the migration.”
I know it’s useless to be angry at a guy who’s long gone, but damn. I am having a real hard time convincing myself to redo all this work. He removed every trace, and all I can think is WHY DID YOU DO THAT YOU FUCKING MONSTER? IT WAS MY GREATEST WORK, AND NOBODY ASKED YOU TO DESTROY IT. THIS WAS NOT EVEN RELATED TO THE TASK YOU WERE GIVEN, AND NOW A SIMPLE TICKET TO RESTRUCTURE A TOOL HAS BECOME A MANDATE TO REBUILD IT FROM SCRATCH.
Thank you for being here, devRant. I would’ve gotten myself into deep trouble long ago if I didn’t have this safe place to blow off steam 🙏4 -
I am back after 5 years
It's been a long time
After working for a shitty company, I ended up working for a startup for an interesting big project as a software architect
It was a good experience just for some stuff, but I hated every moment we needed to build some demo or prototype for potential customers or allies
I was tired... 2 years of demoing is too much. And finally I got a Senior Devops in this company working in Kubernetes
I finally discovered my role and my position, I want to solve problems for other devs and myself. I help anyway in the final product, because fast and reliable build and release cycle need to be a must
I wish everybody could find their main role. I took 12 years to find mine lol -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
So, I had to listen very badly in a scrum about my poor code quality. Just because I haven't used the latest version of the library in my gradle build file, I haven't used DTO in the response of few endpoints in the controller class instead I used entity,... Etc was the mistake.
I admit that I have a long way to improve myself and there is a lot to learn, but there should be a proper way to escalate the situation rather than publicly pointing out mistakes rudely.
He is a senior with 10+ years of experience who badly told me in the scrum and not only that whenever there is a change needed in my PR he takes the screenshot and puts it in our dev team group and shows the mistakes and gives the suggestions instead of writing comments on the github PR.
Not only that, if I inform in the daily updates that I took 2 hours for this and that task, he says it should be done in 20 to 30 minutes.
Upper management has given him a lot of respect because he is knowledgeable and knows the stuff but it doesn't mean he is entitled to behave like this and demoralise other juniors.
The matter is cool now but this incident happened to me a few months back and those days were really toxic for me at work.5 -
Look here Mr Senior Tech if you don’t know 100% what you’re doing, don’t fucking touch the goddamn firewall with your fucking sausage fingers and you overblown call center team lead. I mean you need to have the confidence you would have if you were eating a banana and some one told you it was a poisonous berry, you’d laugh and eat it anyway, cause it’s obviously a banana. That’s the kind of confidence you need to have when fucking with the entire goddamn network configurations. I just went thru a 7 hour shit show because you THOUGHT you knew what you were doing. Not a damn thing was broken there. One service needed a hole in the firewall and you fucked all this beyond an easy fix. Now I’ll admit I don’t have that much confidence working with the firewall, that’s why I would fucking cal one of the companies that set it up even though we don’t necessarily have a support contract, it would have cost a lot damn less to have them work on it than for the whole company to be down and for me to have to stress over every fucking thing going (or not going) on.
-
So, a few years ago I did an internship at this company really close to my house. It was a total disaster but a few months ago I decided to give it another shot and apply for a junior position there as I needed money and they knew me there. For some reason they hired me and now I work there for about 2 months.
There's one other developer here and my problem is that he's the senior here. Guys I don't know what to do about it, this guy is so controlling. He won't allow me to decide ANYTHING.
I have a whiteboard with all my projects and he wrote deadlines there (because his boss said he needs to set deadlines since he never finishes anything on time, but he decided to put that on me) when I finished something in time (like 3 days early!) I wanted to put that under the project on the board. But he didn't want it. No reason. Just no.
He's also constantly talking, all day long. He writes 1 or 2 functions per day. Maybe fixes a small bug. And then one day per week he actually works. Constantly complaining about me, bugging me, removing electricity from my screens, setting my wallpaper to 2 dudes kissing ect. ect. its fucking annoying me. This guy even plays video games on his nintendo or call of duty.. Working for other customers that have nothing to do with this company. And the boss thinks he's great..
So 2 days ago, the whiteboard filled with his drawings was completely emptied because of me. It felt so good, he was so angry he didn't talk all day, to no one. What else can I do guys? I can't go to my boss, the other guy in this office doesn't really care and he's on his side. But when I code I need to be able to concentrate. I can't even have a serious conversation with this guy because he just doesn't take me serious. He always thinks he's right and wants control of every little thing...
What do I do?10 -
Lately I'm running into quite some negative atmosphere in meetings. Raise your hand if you think we all should improve our soft skills.
For example, we had a meeting with our client the other day. It was supposed to be only with the two most senior guys in the team and a couple of the less senior (just because one of us knows better the maths of it and the other one knows better about the limitations of the hardware), but in the end some other team members also joined.
In this meeting, we wanted to discuss an issue that had to be fixed. Quite a complex one. The main speaker from the clients, even though also technical, was having a hard time trying to explain properly to us what the issue was about. He was doing quite well, but it was complex enough. Well, one of the guys in my team kept interrupting him to ask very detailed questions (that would not help us understand it better, not until we got first the big picture). When I say "interrupting" I mean that the guy would half shout a question in the middle of a word from the client.
The client was patient and tried to answer, but our nice guy would keep answering back in a "gosh you really don't have a clue" tone.
We muted our microphone and one of the senior Devs asked the guy to please let them conduct the meeting, and that if he had such questions, he could mute the micro and ask them to us, so we knew we might have to ask about that.
Good. We unmute the microphone and 2 minutes after, our star guy goes in again and he even directs his question to someone else than who was talking (from the client).
Client gets pissed - I mean, I taught 12-16 year old teenagers for years and I don't think I would have hold it together for as long as the client did - and from then on all the meeting went in a really negative tone. Ending up with a call from the client to our senior guy to finish explaining in private the thing.
Well, our friend the interrupting guy not only got amazingly mad at the senior guy that (in private and constructively) gave him some advice on this kind of meetings. No, he also ended up spiraling into a close to insulting chain of emails towards the client -with his and our colleagues in copy- when he needed some specification.
Interrupting guy is 35yo and has been working with clients quite long. Our HR department still doesn't think we all should get communication workshops or something1 -
Yesterday senior manager called me with an offer... He needed one more person for running team in charity run.2
-
Disclaimer: I hold no grudges or prejudices toward [CENSORED] company. I love the concept of the business model and the perks they pay their employees. Unfortunately, the company is very petty, and negligence is the core of the management. I got into an interview for the position, of Senior Software Engineer, and the interview wouldn't take place if wasn't for me to follow up with the person in charge countless times a day. The Vice President of Engineering was the most confused person ever encountered. Instead of asking challenging questions that plausibly could explain and portray how well I can manage a team, the methodology of working with various technology, and my problem-solving skills. They asked me questions that possibly indicated they don't even know what they need or questions that can easily get from a Google Search. I was given 40 hours to build a demo application whereby I had to send them a copy of the source code and the binary file. The person who contacted me don't even bother with what I told her that it is not a good practice to place the binary in cloud storage (Google Drive, OneDrive, etc) and I request extra time to complete the demo application. Since I got the requirement to hand them the repository of the codebase, it is common practice to place the binary in the release section in the Git Platform (Jire, Azure DevOps, Github, Gitlab, etc). Which he surprisingly doesn't know what that is. There's the API key I place locally in .env hidden from the codebase (it's not good practice to place credentials in the codebase), I got a request that not only subscript to an API is necessary but I have to place them in the codebase. I succeed to pass the source code on time with the quality of 40 hours, I told him that I could have done it better, clearer and cleaner if I was given more grace of time. (Because they are not the only company asking me to write a demo application prior to the assessment. Extra grace was I needed)
So long story short, I asked him how is it working in a [CENSORED] company during my turn to ask questions. I got told that the "environment is friendly, diverse". But with utmost curiosity, I contacted several former employees (Software Engineer) on LinkedIn, and I got told that the company has high turnover, despises diversity the nepotism is intense. Most of the favours are done based on how well you create an illusion of you working for them and being close to the upper management. I request shreds of evidence from those former employees to substantiate what they told me. Seeing the pieces of evidence of how they manage the projects, their method of communication, and how biased the upper management actually is led me to withdraw from continuing my application. Honestly, I wouldn't want to work for a company where the majority can't communicate. -
Not really a rant (?)
I started my first programming job in January this year. I went there staight after Highschool, so i had no real experience, knew only the basics of software development and my written code was quite a mess. So one of my first real tasks (after 2 months) was to write a business logic for batch handling (for a warehouse management system). I invested quite some time to develop a suitable architecture, talked with some other developers and wanted to cover the whole thing with unit tests (which really nobody at the company uses). So I spent about 3 weeks to write the whole thing, test it and improve it many times. It worked perfectly and I got pretty good feedback from the code-review.
1 month ago - the code worked perfectly and was multiple times testet (also by the client) - the client came with some totally new requirements for the batch handling. I tried to impelemt them, but soon found out, that the architecture doesn't supported them, it was not build for the required handling and would soon become a totally mess, if i tried to make it work.
So I was pretty mad, because I had to change the whole fucking thing, but I also wanted to make it better. I hab gained some experience and decided (with some help of a senior dev) to make a completely new try with a different architecture, that can be easily expanded, if needed. I build my concept, wrote and tested the whole new code in 3 days. Fucking 3 days compared to the initial 3 weeks, and it worked, better and even faster.
I was quite pissed to delete the old code, and especially that i had wasted 3 weeks for it and had to struggle with many different things. But I lerarned so much from it and also in the months between, that I was also really glad that I had the opportiunity to write it again.
This whole thing made me now realize that this is, what I really like to do and what I'm good in. I really enjoy learning new things and for me, programming is the best and easiest way to do it. Despite alle the cons and annoying side effects of it, I really found my dream job here.1 -
*sometime during my sophomore year in university. I was a Biology major and just switched to Computer Science. I'm currently a senior graduating in the Spring.*
Me: "Mom and Dad I changed my major to Computer Science!"
Parents: "How will you be able to make a living playing games?"
Me: "I won't be playing games, I'll be coding/programming things and building software."
Parents: "I thought you wanted to become a doctor?"
Me: "Well I decided I wanted to choose a career that I like and I also didn't want to stay in school for 8 years. Also, the salary I can make as a developer/engineer is close to that of some doctors."
Parents: "Well we wanted you to go to be a physical therapist. We feel that it's the best option for you."
Me: "I think this is my best option because there aren't even enough people available to fill the jobs that will be around when I graduate. Which also means that I can make a higher salary."
Parents: "Well I guess we'll see if you can make a living and provide for a family just playing/making games."
Me: "That's fine I never needed your support anyways."
*My parents thought that if the job wasn't physical labor then it wasn't a "real job". (Idk how they decided that a Physical Therapist was a "real job") I moved out less than a year after this argument because I was constantly put down by my parents for coding/programming as well as playing video games in my spare time. They thought it was childish. This has shown me what I won't do when I become a parent.*
*Just a side note: I have paid for everything I own that wasn't gifted to me since I was 18 and had a job while attending college. I also got a scholarship to go to college, so my parents didn't have to pay for any of it.*2 -
I really need to vent. Devrant to the rescue! This is about being undervalued and mind-numbingly stupid tasks.
The story starts about a year ago. We inherited a project from another company. For some months it was "my" project. As our company was small, most projects had a "team" of one person. And while I missed having teammates - I love bouncing ideas around and doing and receiving code reviews! - all was good. Good project, good work, good customer. I'm not a junior anymore, I was managing just fine.
After those months the company hired a new senior software engineer, I guess in his forties. Nice and knowledgeable guy. Boss put him on "my" project and declared him the lead dev. Because seniority and because I was moved to a different project soon afterwards. Stupid office politics, I was actually a bad fit there, but details don't matter. What matters is I finally returned after about 3/4 of a year.
Only to find senior guy calling all the shots. Sure, I was gone, but still... Call with the customer? He does it. Discussion with our boss? Only him. Architecture, design, requirements engineering, any sort of intellectually challenging tasks? He doesn't even ask if we might share the work. We discuss *nothing* and while he agreed to code reviews, we're doing zero. I'm completely out of the loop and he doesn't even seem to consider getting me in.
But what really upsets me are the tasks he prepared for me. As he first described them they sounded somewhat interesting from a technical perspective. However, I found he had described them in such detail that a beginner student would be bored.
A description of the desired behaviour, so far so good. But also how to implement it, down to which classes to create. He even added a list of existing classes to get inspiration or copy code from. Basically no thinking required, only typing.
Well not quite, I did find something I needed to ask. Predictably he was busy. I was able to answer my question myself. He was, as it turns out, designing and implementing something actually interesting. Which he never had talked about with me. Out of the loop. Fuck.
Man, I'm fuming. I realize he's probably just ignorant. But I feel treated like his typing slave. Like he's not interested in my brain, only in my hands. I am *so* fucking close to assigning him the tasks back, and telling him since I wasn't involved in the thinking part, he can have his shitty typing part for himself, too. Fuck, what am I gonna do? I'd prefer some "malicious compliance" move but not coming up with ideas right now.5 -
Use that Tab button. It's there for a reason. If you are too lazy to use it then use an IDE that formats the code.
Also learn to comment your code wherever needed and in English. If you don't know where it's needed, Google is your friend if not your senior. -
Needed to explain senior Dev what a VPN connection is and why i use it for most of my traffic. He still doesn't understand why i use it... :/
-
I am really stressed rn. I have terrible Imposter's Syndrome coupled with this being my 2nd year as a professional (bootcamp grad) and an extreme lack of insight and support from my company. WFH has only exacerbated it. Im on a 2-ish person team handling some ancient legacy code with no one ever willing to just throw me a fucking bone. My supe is actually on my team and makes up the "ish" part and has always told me to ask questions but when I do he gets pissed and reminds me of all the people who are working and super busy and dont have time to stop what they're doing and help me. Its my first job in tech and I just need to know if this is a consistent thing across the board bc im ready to fucking jump ship. My anxiety levels are through the roof and when I go over our backlog I look at every card and ask myself how tf Im going to grt it done bc Ive never seen any of it before. Initially I thought i landed a great workplace with complete autonomy but now I just dont know. My other teammate has a habit of being condescending, whether he realizes it or not and therefore I just feel like im out here alone trying to figure all this shit out. This sprung from a card ive been working on for 2+ months but cant resolve, finally I just came to the conclusion it was above what im currently capable of and he told me he's "disappointed Im just throwing in the towel" even though ive asked for help from senior devs. Idk what to do, he even told me there'd be cards I may hit a wall on when I first started but this just feels shitty. Ive had other things going on to including surviving a fucking hurricane, having a friend murdered, and having my dad die all within a few weeks time. I am absolutely stretched to my emotional limit, but I dont know if Im overreacting. Anyway, I just needed to vent to people who could understand, thanks for reading.6
-
It's been a while DevRant!
Straight back into it with a rant that no doubt many of us have experienced.
I've been in my current job for a year and a half & accepted the role on lower pay than I normally would as it's in my home town, and jobs in development are scarce.
My background is in Full Stack Development & have a wealth of AWS experience, secure SaaS stacks etc.
My current role is a PHP Systems Developer, a step down from a senior role I was in, but a much bigger company, closer to home, with seemingly a lot more career progression.
My job role/descriptions states the following as desired:
PHP, T-SQL, MySQL, HTML, CSS, JavaScript, Jquery, XML
I am also well versed in various JS frameworks, PHP Frameworks, JAVA, C# as well as other things such as:
Xamarin, Unity3D, Vue, React, Ionic, S3, Cognito, ECS, EBS, EC2, RDS, DynamoDB etc etc.
A couple of months in, I took on all of the external web sites/apps, which historically sit with our Marketing department.
This was all over the place, and I brought it into some sort of control. The previous marketing developer hadn't left and AWS access key, so our GitLabs instance was buggered... that's one example of many many many that I had to work out and piece together, above and beyond my job role.
Done with a smile.
Did a handover to the new Marketing Dev, who still avoid certain work, meaning it gets put onto me. I have had a many a conversation with my line manager about how this is above and beyond what I was hired for and he agrees.
For the last 9 months, I have been working on a JAVA application with ML on the back end, completely separate from what the colleagues in my team do daily (tickets, reports, BI, MI etc.) and in a multi-threaded languages doing much more complicated work.
This is a prototype, been in development for 2 years before I go my hands on it. I needed to redo the entire UI, as well as add in soo many new features it was untrue (in 2 years there was no proper requirements gathering).
I was tasked initially with optimising the original code which utilised a single model & controller :o then after the first discussion with the product owner, it was clear they wanted a lot more features adding in, and that no requirement gathering had every been done effectively.
Throughout the last 9 month, arbitrary deadlines have been set, and I have pulled out all the stops, often doing work in my own time without compensation to meet deadlines set by our director (who is under the C-Suite, CEO, CTO etc.)
During this time, it became apparent that they want to take this product to market, and make it as a SaaS solution, so, given my experience, I was excited for this, and have developed quite a robust but high level view of the infrastructure we need, the Lambda / serverless functions/services we would want to set up, how we would use an API gateway and Cognito with custom claims etc etc etc.
Tomorrow, I go to London to speak with a major cloud company (one of the big ones) to discuss potential approaches & ways to stream the data we require etc.
I love this type of work, however, it is 100% so far above my current job role, and the current level (junior/mid level PHP dev at best) of pay we are given is no where near suitable for what I am doing, and have been doing for all this time, proven, consistent work.
Every conversation I have had with my line manager he tells me how I'm his best employee and how he doesn't want to lose me, and how I am worth the pay rise, (carrot dangling maybe?).
Generally I do believe him, as I too have lived in the culture of this company and there is ALOT of technical debt. Especially so with our Director who has no technical background at all.
Appraisal/review time comes around, I put in a request for a pay rise, along with market rates, lots of details, rates sources from multiple places.
As well that, I also had a job offer, and I rejected it despite it being on a lot more money for the same role as my job description (I rejected due to certain things that didn't sit well with me during the interview).
I used this in my review, and stated I had already rejected it as this is where I want to be, but wanted to use this offer as part of my research for market rates for the role I am employed to do, not the one I am doing.
My pay rise, which was only a small one really (5k, we bring in millions) to bring me in line with what is more suitable for my skills in the job I was employed to do alone.
This was rejected due to a period of sickness, despite, having made up ALL that time without compensation as mentioned.
I'm now unsure what to do, as this was rejected by my director, after my line manager agreed it, before it got to the COO etc.
Even though he sits behind me, sees all the work I put in, creates the arbitrary deadlines that I do work without compensation for, because I was sick, I'm not allowed a pay rise (doctors notes etc supplied).
What would you do in this situation?4 -
TL;DR: A new "process" for collaboration between teams was created in order to stonewall requests from my team.
A couple months ago, we created a new Dev team that specializes in writing internal tools. This team was staffed with internal developers, and got a separate manager. The whole point of this team was to collaborate with my dev team so we can both help each other develop tools that the company needs.
One of the developers that was on my team went over to this team while he and I were still working on a big application. For a few weeks, he still worked on this application as he normally would, and we'd sit with each other and work through features together whenever we needed a fresh set of eyes.
Well, eventually his new team got protective of him and created a new "process" for our teams to request assistance from one another. So now instead of just popping over to someone's desk to ask a quick question, you have to send an email to the team and request that you can borrow that particular developer for a question, and then the entire team sits down and discusses whether or not they're going to allow that person to answer your question. Then after a week of discussion, if they decide to allow it, they schedule a meeting for a week later, in which you will get the question answered.
So instead of just spending 2 minutes to ask and answer the question, you have to spend weeks in order to request assistance, and then schedule a meeting.
It's ridiculous, and it's all because his team got protective that he was working with another Dev team. Dev teams collaborate all the time, and work together. My team is constantly helping other teams, and we don't have this ridiculous process. We get asked a question, and we answer it. Simple as that.
Last week, I sent an email for assistance in completing a feature, and didn't hear back. I talked to the Product Owner for the team, and he said "Just send an email," to which I responded that I did and hadn't got a response. He said "Oh....." I then told my boss that this is an enormous bottleneck, and he seemed surprised hearing that this is a bottleneck.
A week passed and today I still hadn't got a response, so my boss reached out to the Product Owner to push him. Finally, I got a response and they scheduled a meeting to answer my question 3 days down the road. So it's going on 2 weeks to get this simple question answered.
Normally I'd just have the other developer come over and help, but apparently they yelled at him the last time he did that.
The issue is that the process was created with the assistance of our "senior" developers, who never work with this other team in this capacity, so they just nodded and smiled and let them put this ridiculous process in place.
Like, get off your high horses. You don't "own" him, he's allowed to collaborate with other teams. This question would've taken literally 10 minutes, but because of your new "process" you've turned it into a 2 week debacle and you've effectively delayed the app launch with your pettiness.
They say that this process isn't intended to prevent us from getting assistance, and that might not have been the original intention of the Product Owner/manager, but it's very clear that the developers on the other team are taking advantage of it and using it as a big stonewall so they can beat around the bush and avoid providing assistance when it's needed.
If this becomes a trend, I'm going to schedule a meeting (which apparently they love to do,) and we're going re-work this entire process, because it's extremely counterproductive and seems to only exist in order to create red tape.3 -
TL;DR: When picking vendors to outsource work to, vet them really well.
Backstory:
Got a large redesign project that involves rebuilding a website's main navigation (accessibility reasons).
Project is too big just for our dev team to handle with our workload so we got to bring a 3rd party vendor to help us. We do this often so no big deal.
But, this time the twist was Senior Management already had retained hours with a dev shop so they want us to use them for project. Okay...
It begins:
Have our scope / discovery meeting about the changes and our expected DevOps workflow.
Devs work Local and push changes to our Github, that kicks off the build and we test on Dev, then it goes to Staging for more testing & PM review. Once ready we can push to prod, or whenever needed. All is agreed, everyone was happy.
Emailed the vendors' project manager to ask for their devs Github accounts so we can add them to the project. Got no reply for 3 days.
4th day, I get back "Who sets up the Github accounts?"
fuck me. they've never used Github before but in our scope meeting 4 days ago you said Github was fine...??
Whatever, fuck it. I'll make the accounts and add them.
Added 4 devs to the repo and setup new branch. 40min later get an email that they can't setup dev environment now, the dev doesn't know how to setup our CMS locally, "not working for some reason."
So, they ask for permission to develop on our STAGING server.. "because it's already setup"... they want to actively dev on our staging where we get PM/Senior Management approvals?
We have dev, staging, production instances and you want to dev in staging, not dev?... nay nay good sir.
This is whom senior management wants us to use, already paid for via retainer no less. They are a major dev shop and they're useless...
😢😭
Cant wait for today's progress checkup meeting. 😐😐
/rant1 -
How do I help my colleague in fighting harrassment?
This is the story of a helpless employee facing everyday harassment. Im trying to help. Seeking for your thoughts
Backstory fast forwarded: My company acquired another company. So we handle all their projects and clients now, but its a completely new domain. So we needed new people. Hired 4 employees + 1 team lead to start with. But the project process got delayed and they were free for a month. So i took 2 of them in my project and gave them some small tasks to help us over. They loved working with my team and were learning new stuff apart from what they usually did. And we were also happy of their contribution. We became good friends. All of this was in March 2020 before covid-19 was taken seriously.
About my company: I love this company. I have been in this company for more than 4 years now. People are really nice. Parties and fun events. Lot of smart and ambitious people. So company and people are awesome.
Coming back to the story. Lets call the team the 4 and team lead T. The 4 were happy that someone like T was in their team. This T had all the best knowledge about stuff and life was going to be awesome for the 4. Or was it?
Story starts: So I talk to one of these 4 on daily basis. Lets call this friend F. F is a real gentle person. Intelligent and dedicated to work. F is awesome to work with. And always enjoyed working. F is a team player and very very soft person. F is fking workoholic. So few days after project starts, F tells me work was not going well. F is getting real frustrated at work and not able to deal with it or find solution.
What happened:
This person T, who was supposed to help these 4, is real piece of shit. He is impatient, arrogant and MFing dick head. Aaaarggggg.
All the good qualities of a leader like supporting the team, boosting confidence, guiding team when they make mistakes, teaching them, were all missing from this person. T was a machine with no emotion and only clock working jerk. I have no idea how T cleared interview process, because one of the interview round is also about cultural fit into company. I know this because i take interviews for other domains. We have rejected lot of such well qualified but arrogant candidates.
So whats the problem now: this team of 4 are learning new tools and taking over the clients requests from old company. Most of the stuff is new for them. So in tat case people need lot of time to understand and figure out shit. people make mistakes while learning and you know have to deal with it. Person T abuses these 4 when something goes wrong. That's one.
Second, the T definitely knows more than these 4. So if these guys dont understand certain stuff they ask T. But T does not help them learn. T will either say busy or run away by saying thats simple and ull know when time comes. REALLY MF???
Third, T does not talk nice. T is rude and does not listen to team members. For eg, If F says some task cannot be done for some reason T will say, "y cant u do it? U r capable of doing it. Tats y u r in this job". And then point number one and two happens. Never responds to emails and messages. But if someone else does the same will not tolerate that and abuses them. List goes on.
So y not escalate and deal with that T:
This person F and other 3 are still under probation and they think complaint or escalation will back fire. These people do not want to lose job in between all this pandemic shit. They are scared.
So this was happening for a while. And i was giving lot of tips on how to handle certain situations. And how one should communicate these.
But being a gentle, soft and workoholic person, F focussed on work and assumed things will get in place as time goes by.
Today, F could not meet a requirement. So T told some shit which got F all sad. and F called up me late night and started crying explaining what happened. I felt real bad. I asked F to file harrassment case. F refused saying it was F's mistake on not completing requirement. WHO THE FK CARES. PEOPLE CANNOT TALK SHIT. I told ill file harrassment case against T. (We have a policy where others can also file if person is not courageous enough). But F did not allow me.
Then after calming down, I told F that telling the problems to me wont solve them. You have to talk to T directly and tell him on face not to talk like this. Or tell the manager about whats happening. Or tell the the HR about this. F said tat cant be done. I was like Y THE FK NOT.
Because the other 3 are not ready to talk about this to anyone as they fear they'll lose job. So if F talks and people question other 3 they might bail out. WAT THE HOLY SPIRIT.
so after lot of convincing F is still not going to
Talk to anyone about this.
So i have decided ill write an anonymous email to HR, the manager and other senior people in the organisation about whats happening.
I really dont know how itll go. Ill keep updating you guys. Feel free to share ur thoughts.3 -
Got one right now, no idea if it’s the “most” unrealistic, because I’ve been doing this for a while now.
Until recently, I was rewriting a very old, very brittle legacy codebase - we’re talking garbage code from two generations of complete dumbfucks, and hands down the most awful codebase I’ve ever seen. The code itself is quite difficult to describe without seeing it for yourself, but it was written over a period of about a decade by a certifiably insane person, and then maintained and arguably made much worse by a try-hard moron whose only success was making things exponentially harder for his successor to comprehend and maintain. No documentation whatsoever either. One small example of just how fucking stupid these guys were - every function is wrapped in a try catch with an empty catch, variables are declared and redeclared ten times, but never used. Hard coded credentials, hard coded widths and sizes, weird shit like the entire application 500ing if you move a button to another part of the page, or change its width by a pixel, unsanitized inputs, you name it, if it’s a textbook fuck up, it’s in there, and then some.
Because the code is so damn old as well (MySQL 8.0, C#4, and ASP.NET 3), and utterly eschews the vaguest tenets of structured, organized programming - I decided after a month of a disproportionate effort:success ratio, to just extract the SQL queries, sanitize them, and create a new back end and front end that would jointly get things where they need to be, and most importantly, make the application secure, stable, and maintainable. I’m the only developer, but one of the senior employees wrote most of the SQL queries, so I asked for his help in extracting them, to save time. He basically refused, and then told me to make my peace with God if I missed that deadline. Very helpful.
I was making really good time on it too, nearly complete after 60 days of working on it, along with supporting and maintaining the dumpster fire that is the legacy application. Suddenly my phone rings, and I’m told that management wants me to implement a payment processing feature on the site, and because I’ve been so effective at fixing problems thus far, they want to see it inside of a week. I am surprised, because I’ve been regularly communicating my progress and immediate focus to management, so I explain that I might be able to ship the feature by end of Q1, because rather than shoehorn the processor onto the decrepit piece of shit legacy app, it would be far better to just include it in the replacement. I add that PCI compliance is another matter that we must account for, and so there’s not a great chance of shipping this in a week. They tell me that I have a month to do it…and then the Marketing person asks to see my progress and ends up bitching about everything, despite the front end being a pixel perfect reproduction. Despite my making everything mobile responsive, iframe free, secure and encrypted, fast, and void of unpredictable behaviors. I tell her that this is what I was asked to do, and that there should have been no surprises at all, especially since I’ve been sending out weekly updates via email. I guess it needed more suck? But either way, fuck me and my two months of hard work. I mean really, no ego, I made a true enterprise grade app for them.
Short version, I stopped working on the rebuild, and I’m nearly done writing the payment processor as a microservice that I’ll just embed as an iframe, since the legacy build is full of those anyway, and I’m being asked to make bricks without straw. I’m probably glossing over a lot of finer points here too, just because it’s been such an epic of disappointment. The deadline is coming up, and I’m definitely going to make it, now that I have accordingly reduced the scope of work, but this whole thing has just totally pissed me off, and left a bad taste about the organization.9 -
Companies are laying workers off these days like it's nothing.
My company dismissed (just within my department) 90 out of 129 workers — that messed me up.
However, though, my team experienced just a partial effect: 2 Senior devs are needed out of 3 — mid and junior devs are going. I literally had to re-interview for my role again, since they need to keep only 2 senior engineers.
To cut the long story short, I was the first selected candidate — grateful I still have my job. But, I'm sad to see the disruption.
I understand that at the end of the day, it's all business, but mehnnn ...
Is anyone going through the same thing here?
How y'all coping?2 -
I had a really good friend years ago, like 2005, who lost an entire assignment he wrote in Visual Basic for calculating heat rising in a soda can. It was on his work computer and he deleted it by accident. It was his senior project and last thing he had to turn in before graduation. He showed me what he needed and I was like, "That's easy. I think I can write that."
He still had all the equations. I built the simulator in Java (I had just graduated and had all the time; looking for my first job). I got to teach him some stuff about programming, and he taught me stuff about Thermo/Engineering. I still have that code; moved it from CVS to Git. 13 years ago ... wow:
https://github.com/sumdog/...1 -
So i started an (8 month) internship in January. Team of 4 (2 senior/mid level devs + boss) plus 6 or so other people in our other office overseas. Everything was going really well IMHO. Boss's feedback for halfway through the internship was good too.
First 4/5 months were great: loved the team, got feedback and help when i needed it, wasn't stuck doing support too much, etc.
This all changed when both the devs moved to our other office. My boss works from home a lot and has frequent meetings, so i hardly see him. I have a 1 hour window first thing in the morning if i need help from the devs overseas. After that im on my own.
If i get stuck, even on something very small that a more senior dev could explain in 2 minutes, I'm stuck either unable to work or figuring it out (wasting hours of time) for the rest of the day.
On top of this, since I'm the only one around in our office, im stuck on support every week which takes hours of my time usually. Last week support ate up most of my week, which put me way behind schedule on my other work. (That was an unusually busy week of support.)
Feeling incredibly frustrated right now, just wanted to get this off my chest.12 -
So long story short, the place was working at hired me when what they actually needed was another business analyst, so I sit around with no work to do way too often.
I start looking for another job because I can sense that my contract won't be renewed.
So, the rant part
Why are all the job websites so useless?
I get emails saying stuff like "Your profile matched for senior full stack developer at XYZ Ltd"
I have 18 months of experience, I have put this information accurately on my profiles on these job sites,. Yet they still recommend that stuff.
It gets better though... Every once in a while, there's one that I might have a shot at, not to mention these ads all look the same.
So get an email, I look at the job ad, which looks exactly the same as tonnes of others, hit the apply button, get message "You have already applied for this job" Yea? Then why tf is it being emailed to me? -
Hey guys, I need some junior advice. I work at a small startup in a team with 2 other backend developers.
The "new" guy studied at a university for a few years. He writes beautiful code. I try to learn from it and use his short hands a lot. I came from highschool and don't have a degree in it (yet).
I recently wrote a piece of code which handles some timeslot logic. I was really proud of it.
New guy needs to fix a bug and add a few things. He completely refactors my code and makes it more structured and partly better. The logic stayed the same.
It sort of bothers me that he touches my (precious) code. How do you guys handle these things?21 -
Lets make a rant before going to bed
Who had the marvelous idea that a developer's proeficiency could be measured by years?
So at my new job Ive been waiting for credentialls, server access software installation, etc ( i know i know but thats for another rant ) and all that idle time has given me opportunity to crawl in the company's sharepoint page which has the career path for a software developer, since Im a student Im listed as trainee, but after that I have to wait 3 years + certifications to be considered as senior and then be able to hop to next hierarchy level Software Designer and then another three years to be able to become a software architect. So my point, as I was seeing this I thought "I dont wanna wait 6 years to become a software architect, Im going to be better faster in order to become needed and make them promote me faster"
The thing is Ive always wanted to become a softwsre architect and learning that I have to wait 7 years to be considered a proeficient architect just makes me mad.
Pd: One of the requirements for a senior developer is knowing Lines of code time stimationundefined pichardo for president lines of code school is bad trump rules dont do drugs architect loc career career transition1 -
Welcome to post 2 of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363374 It's title is: "Oh, you can post only every 2h. Didn't know that". I also didn't know that the rest of my rant would be put into a comment. For consistency tho, this time I am still splitting the story.
A wise person once wrote in their book: "People judge other people by two things: Empathy and competence." This may not be an accurate quote, but it carries the same message. Also, I don't really remember who was the author. I only know they were probably quite wise. Anyway, I just wanted to share that sentence. Have a moment and think about it. Or don't. Here's my story:
A was a software house that looked pretty promising. They were elegant, their page and offer looked nice. Well, unless you consider the fact that they offered me internship. Unpaid. But I decided to meet with them anyway, since I had hope that I could negotiate some sort of paid internship or a job contract even. I did my homework after all, and I was confident I am able to keep up with their requirements. I arrived a little bit... no, way to early. One damn hour. Whatever, I waited. I was greeted by a woman. We had a cultural conversation, she had a list of 12 questions I needed to answer, as a form of a test. We begun. First question: How do you change a value in Oracle Database? "Wait a minute", I thought, "What kind of question is that?". Why in seven hells would you want your frontend developer to know how to handle oracle db? Well, I gave my answer, I did lick some of that SQL in my life. Next question: Java stuff. The bloody gal didn't even care to check what position I am applying to before the interview! At this point I didn't really have very high hopes. A shame on them forever.
The story of B and C is connected and a little bit more complicated. More on that in part 2. B stands for Bank. A big corporation then, by definition. A person I know decided called me that day and told me they're hiring, that he referred me and that they would like to arrange a meeting. And so we did. It was couple of days before Christmas. C was a software house again. Or a startup. Idk really. Their website wasn't finished so I couldn't read anything useful up on them. They didn't tell me much about themselves either. They also started with "unpaid internship".
In C, they would greet me and instantly sit me down next to a mac laptop and told me, "hey, do this stuff in python". What the fuck, not again... I told them that I am frontend dev, they guy said "it's no problem, you said you know python, it's a simple task". And yeah, I did host some apps in Flask and I did use psycopg2. It was in my CV. But never, ever, have I mentioned knowing heuristics nor statistics. I'm no data scientist, monsieur. Whatever, I tried, I failed a little bit, I told them that maybe if I did want to spend half of my day there I would finish this task, but back then I was way too nervous to focus and code. I told them what should be done in code and that I just was unable to code this at the very moment. They nodded, we said goodbye and I was sure not to hear from them ever again.
In B, I was greeted by a senior frontend dev. He told me the recruiter is sick and he couldn't come, so we're talking alone. I can buy it. We sat down in said meeting room, and he asked me if I wanted a drink. No thx, I had digested so much caffeine during last 24h, next dose could be an overdose. And then, he took out my resume printed in paper. With notes on it. With some stuff encircled. That bloody bastard did his homework. We spent over an hour, just talking in friendly atmosphere. It was an interview, but it was a conversation also. We shared our experiences, opinions and it went just perfect.
On December 20, I was heading home for Christmas. My situation looked like this: A called me they could offer me only unpaid internship. I was getting kinda bored of rice and debts, tbh. I gracefully rejected their generous offer. B didn't give me feedback yet(it was a most recent interview, so I didn't expect any message until after Christmas anyway). C told me that they could give me internship, but I managed to convince them to make it paid internship. After three months of very bad times, things were starting to get better.
On part III we will explore further events of my very recent past. That post will be same amount of storytelling and possibly a lesson for those who seek an employer and for those who seek an employee.6 -
The senior iOS dev I was working with in my first job after uni - he showed me so many objc tricks and his self-written libraries to make working with UI stuff in swift more concise, it blew my mind. At the same time, he was very humble and calm, and had a funny humor at times. Also his code and the architecture in an older app we needed to work on was super easy to read and understand. That's why I want to be more like him - and eventually grow a beard :-)2
-
Have u guys ever wonder, all those devs we rant about (mostly senior developer), how it feels like to be them? Today I realized, I am most probably becoming like one.
I joined devops 7 month back(around one and half year in industry). Right now, I am 2nd senior member in project. I have done deployment on multiple environments more than 100 times. But till today, I never knew how the deployment is being done. I knew to trigger job but I never knew how it worked. Today when a junior asked me, then I learn ansible, then I understand whole deployment process.(and remember I am 2nd senior most with 7 month in project)
Sometime I wonder, till now I always had good rating and most responsible title. But how much is that because of my technical knowledge? Sometime it feels like I have very good luck. But man, it's very depressing. Sometime it feels like my junior don't get enough limelight because I am in their way although they have good knowledge but they lack the though process for now. Most of the time my senior present me as role model to juniors, and it's very embarrassing for me(this will not continue on as I talked to my seniors) . I did work on good projects from time I joined company. And never had any issue and always deliver what needed. But I still can't write code in Java to take input or do for each on array in javascript without seeing stackoverflow once.
Now I fear that someday I will write piece shit of code and whole efficiency of project will go down cause of me. Atleast, the person who will get to fix it will get a chance to have good rant here. I tried open source projects to understand how to write good code but I always have hard time understanding new-projects which I never worked on.
Then there is reputation on Indian devs. This is my another Fear. That someday cause of me, my fellow devs will get bad reputation as well.
This coming year, my goal is to fill up all the holes but I don't know why my fingers are crossed.
Sorry, I had to bring this out somewhere. And please ignore my grammatical mistakes.3 -
I hate these Mondays. You start really motivated after a nice weekend of seeing lots of old friends, but instead of your own work, you have to pick up the mess a coworker left for you while fleeing into holiday and because that's not frustrating enough, you try to review code from that new senior developer and get confronted with the probably most awful commit history someone ever managed to create.
Of course he also needed handholding and multiple trys to stop breaking like every coding convention we have for branch management...
I am still a junior and I feel pretty disappointed when being confronted with people being so..confused with stuff like git even though they have like 10 years of experience.
While I was still studying, I somehow imagined this industry to be much more...sophisticated?2 -
Long post, TLDR: Given a large team building large enterprise apps with many parts (mini-projects/processes), how do you reduce the bus-factor and the # of Brent's (Phoenix Project)?
# The detailed version #
We have a lot of people making changes, building in new processes to support new flows or changes in the requirements and data.
But we also have to support these except when it gets into Production there is little information to quickly understand:
- how it works
- what it does/supposed to do
- what the inputs and dependencies are
So often times, if there's an issue, I have to reverse engineer whatever logic I can find out of a huge mess.
I guess the saying goes: the only people that know how it works is whoever wrote it and God.
I'm a senior dev but i spend a lot of time digging thru source code and PROD issues to figure out why ... is broken and how to maybe fix it.
I think in Agile there's supposed to be artifacts during development but never seen em.
Personally whenever i work on a new project, I write down notes and create design diagrams so i can confirm things and have easy to use references while working.
I don't think anyone else does that. And afterwards, I don't have anywhere to put it/share it. There is no central repo for this stuff other than our Wiki but for the most part, is like a dumping ground. You have to dig for information and hoping there's something useful.
And when people leave, information is lost forever and well... we hire a lot of monkeys... so again I feel a lot of times i m trying to recover information from a corrupted hard drive...
The only way real information is transferred is thru word of mouth, special knowledge transfer sessions.
Ideally I would like anything that goes into PROD to have design docs as well as usage instructions in order for anyone to be able to quickly pick it up as needed but I'm not sure if that's realistic.
Even unit tests don't seem to help much as they just test specific functions but don't give much detail about how a whole process is supposed to work.9 -
Working on a tiny new project, can't build DLL libraries from our old projects. Contain mixed version of .Net written in VB and C#
Asked our senior developer to help me out.
...
After an hour, he's still not able to build it.
...
So he basically implemented some features I needed on the fly...
😂
DLL hell is real! -
I got a job opportunity in another country and went there for a 3 weeks trail working, I've worked on two different projects, one was with a CMS called Contao and the other one on WordPress, I'm fluent on WordPress, I've been developing themes for more than three years now.
With Contao I started the learning curve and for 2 weeks I learned a lot of stuff.
Before coming back for Visa stuff and taking care for few documentes needed they asked me if I could still do some freelance stuff from my home country. I said yes and got invited to the GIT repo.
It's been a week now that I'm trying to understand how stuff work and everything that the senior dev wrote is way advanced from everything that I've ever worked.
I couldn't finish more then 5 minor tasks simple CSS and PHP logic and I'm feeling very embarrassed.
I just wrote to the senior dev and told him that I'm way behind with my coding skills and I'm seeing dreams with code that don't work.3 -
!dev
Well, it's time for a personal thing today, because I was hit with some shit today that I'm still kinda shook about.
So, as a bit of introduction (I've mentioned these in previous posts before but whatever, not everybody sees everything): I'm currently a senior in high school and I'm in the school's band (neither are too related, but a bit of setup for this story). I've been talking to a girl lately and I think I like her. She's fun to be around, kinda silly, and just great overall. She makes me happy and I like it. Her name is Grace, her sister's name is Taylor (just to avoid confusion later)
In the school's band, we play at home football and basketball games. Today was a basketball game. Normally when there's a game I just stay after school because I don't want to go home and come back a couple hours later, plus I like to hang out with some of the other people who do the same thing.
Grace was staying after for the game too. I was talking to her in the band room, kinda flirting a bit (on an unrelated side note, she's ticklish). Someone comes in the band room because he wanted to practice a bit, to get ready for the game. She's going back and forth between the band room and somewhere else (not too sure where she was). At one point I left to get a drink, come back, she's sitting next to him, just talking. I join the conversation, and her sister (Taylor) comes in, to get ready herself.
I go over to talk to Taylor for a minute. She looks at Grace and the other guy, then looks at me and just says "separate them". To which I said "...what? why? how?"
Me and her go outside the band room and she tells me that basically the guy has been cheating on his girlfriend with Grace, and it's just hurting everyone involved, except him basically. His girlfriend doesn't seem to fucking care, and he's done it before with someone else. (The other person actually like vaguely mentioned it to me a long time ago, but I didn't really know what she was talking about until now)
So basically, dude's cheating on his girlfriend with Grace. And I like Grace. Honestly don't know what the fuck to do. I want to do something because whenever something's going on with Grace, her sister always trusts me to make sure shit goes right. Some times when Grace wouldn't eat, her sister would always talk to me and ask me to make sure she actually eats.
Fuck guys. This stuff has been on my mind for the past ~4 hours and I don't know what to do, or if I even can do anything about it. I just needed to get this shit off my chest.
Sorry for the long personal story. Some parts I didn't really articulate very well. Honestly it was more of me just getting everything into words.4 -
PM comes into my office: "Hey, if <client> asks about his edits, just tell him they're scheduled for this week."
me: "I thought they were scheduled for this week, I thought that you were currently in a meeting to get final specs so you could tell me what needed changed."
PM: "Yeah, he wants to take the plugin from 5 steps down to 3, we told him it wouldn't be a problem and we would have it done this week."
me: "Ok, there are limitations as far as what I can cut out of the process, his tag line when he started as a client was '5 easy steps' and I built something that did what he wanted in 5 steps. Changing things this late in the game is not simple, I'm talking a minimum 6 hours of work."
PM: "Well I tried to make sure that what he wanted was possible but I didn't have a developer in the meeting. It shouldn't change anything that much."
He ended up scheduling a meeting with me and the designer to go over the edits Thursday afternoon. So I will have the new specifications which I said would be a minimum 6 hours of work and I will be given ~10 hours in which to do it. I sure hope nothing unexpected pops up while I'm working on this.
I'm also the only developer this week (and technically speaking I'm junior) since our senior dev wrecked his car over the weekend and isn't planning on being in all week. I'm the only computer literate person in the office of 50 or so, which means that if there is any kind of tech issue I'm ripped away from my desk for 'emergency help'. I have two other sites to get ready for client approval meetings by Friday afternoon and if the clients approve I will be launching their sites that afternoon as well.
The sign on my door currently says "Error 500: unable to handle your request" I need something to throw at these people.4 -
TL;DR: What do you hate about the current interview process for software dev positions?
I have been reading interview related posts on reddit and other places and I have noticed that there is a lot of hate, especially from more senior devs, towards the typical software dev interview pattern i.e. the one focused on algorithms and data structures and I don't understand why. The current methods may be far from ideal but I think they do a good job of eliminating the false-positives. Plus, I can't think of a better alternative. Sure, by using current interview methods some good devs might get rejected because they haven't used/needed/studied many algorithms and data structures after they left college, but for any big company that gets thousands of applications every year, that wouldn't be a big issue compared to the negative impact a false-positive may create. I am still in college so I maybe biased, I would like to hear your thoughts on this.3 -
*last week, sprint retrospect meeting*
TL : "So next is dotenv . Hey dotenv, tell us what went well in the sprint, what went wrong and what could be improved"
le dotenv: "so all went good for me. i had just 5 tickets and i was able to complete them on time. i am grateful for team to provide support when needed in those tasks. no areas for improvement or wrong from my side"
*next sprint*
TL : "So dotenv, you have these 7 tickets with 3 being p0 priority. you also have 2 releases in addition to these tickets. also, since your senior is going to Malaysia for a nice fucking week, here is his additional 5 tickets with 3 p0 priority and 2 releases :)"
me : 🥲
----
I really need to push up my blame game :/2 -
Worst enterprise software experience... I was fresh out of college, and needed money. I was working in a call center, fielding IT helpdesk calls for a major US telecom company, who had just acquired a competitor. One day I got to work and about ten of us were given a new desk, new phone number, an an email address at the newly acquired company. My manager said to us "We have no clue how any of their proprietary systems work, what servers they run on, or how to login to them. Your phones are ringing, make sure you take good notes so the Tier-1s can help out next week. Good luck."
Trial by shit-storm fire, all while trying to convince the caller that yes, I did know what I was talking about. It was a lot of cold calling random employees whose job title in the corporate directory looked even remotely close to somebody I could escalate a ticket to. They didn't use the same ticketing system we used, so it was a lot of copy/pasting between two ticketing systems. To this day, I still have no clue what happened to their original call center staff. I'm sure they must have had one, but it seemingly just dissolved overnight.
That job was the springboard to my development career. I left for a gig in software helpdesk, then to quality assurance, automated testing, and now I'm a senior DevOps engineer. It was worth it. -
How do I push a hiring offer to later and say no?
Context:
I work at company A and the manager, let's call her Jane, who hired me at company A, left shortly after to join company B at a senior executive level (very high up the ladder in a public company).
After few months, I decide to quit company A and started my job hunt. I received a job offer from company C.
Now, my relationship with Jane was super awesome. Jane was very supportive and thought very highly of me. She offered to write a LoR (letter of recommendation ) for me whenever I needed it.
Now, out of courtesy and maintaining the relationship, I mentioned to Jane that I quit company A and will be joining company C.
To which she immediately mentioned that she could hire me and setup my connect with one of the hiring managers in her team. We had our initial conversation and they skipped second stage (since I got a very high reference) and moved to final stage of the interview.
Now, I am not really keen on joining this company B as it will also require me to move outside of the country to a different timezone.
At the same time I don't want to sabotage my relationship with Jane and make sure I keep my options/doors open for some collaboration in future.
How do I go about telling Jane (and the team) that for now, I am focusing on joining company C and would like to explore the opportunity with her company/team in future, without damaging my professional image?11 -
I'm so down that i didn't see the red circle with the cross to add a rant...
Why is that? Because several month ago i began a job with all my motivation & optimistic mood.
I was so glad that a compagny payed attention to my profil that it was the best day of my life. I wanted to improve myself and learn!
At this point i did'nt know yet that i will began to work with assholes.
In this fantastic world, designers are kings and you have to do magic to adapt one of their stupid static design on web.
Because the suprem king is the client and designs are validated.
And don't even ask for an fonctionel analysis they will laught at you!
I did everything that i could do to make things work, fast and good. One time i managed the end of a project all by my self (like said once Celine Dion). I maked the work of my colegue who was on holiday because she left with unfinished work. She said to me "it's easy". She liked to say that i maked lost her time because of my questions and that i need to search the answer by myself & work more and more and more. So i worked, day & night because i didn't have enough time. And other thing is that some persons loved to say "if you don't do that someone will need to do that for you"!
I'm a junior developer and i had acces to staging and prod environements and crashed it both several time... I needed to develope in one year the experience of a senior developer.
Every thing is my fault because i need to pay attention to things that i ignore.
Today i'm not glad, i learned a few things but can't remembered it because things went o fast for me and i can't memorized everithing. All i know is that i'm just happy to still be able to get out from bed.3 -
So today I needed produce some files with an unknown file name, not specified by business. I said in the standup that I still don't know what it is supposed to be. BA says they will find out. Speak to them all day discussing it. The architect says its in the documentation. BA and I don't find it. Turns out it isn't. I ask a sister team what they did in a similar situation, they said they named it something arbitrary and moved on. I was like sweet, GG story. Later I'm discussing work with my tech lead. Email pops up look at that and read. Look back at tech leads screen. What do I see, file names. At this point I'm frustrated because all I see is file names that look similar. My senior then speaks and says 'Yeah we've seen them for X days now' I'm like really? He says yeah and I hope we don't get anymore people like you. At this point my colleague dev bursts out laughing and I feel humiliated. Only to realise they are the names of other files. Try to explain myself but my senior is already looking at his PC doing sweet fa.
I'm now raging a bit inside and want to leave but can't because I'm tied into a horrible contract.
So Today I realised I'm might be being bullied by my senior dev.1 -
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
I'm a senior dev and on my new project, I am really working my a** off and enabling the other developers to concentrate on the work, while I'm handling all of the processes in the background for the client.
I couldn't really write code for a month now, but I'm okay with it because I can protect the team from dealing with all of these bs.
We have feedback discussions right now and I received something like: You are doing your job very well, but you are nagging too much about the client and the processes. Tbh I'm only complaining about this stuff behind the scenes and never in front of the client and compared to the past I reduced it by a lot.
Situations like that are so frustrating for me. I really had a good feeling that I'm on the right track and still people complain about characteristic aspects that are not happening on purpose.
I don't really invest much time into thinking if the voice/tone could have been improved.
Just needed to get this stuff out. Also, I am thinking about starting a rant book, so that I don't share any bad thoughts anymore with my colleagues /superiors3 -
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?
just.... fml -
I got a report of a relatively simple WinForms app created by a senior (!!) developer who left just as it was released taking 3 minutes to load.
Step through it.. Narrow it down to one stored procedure.
Open said query, every join is a left join.
None needed to be a left join.
Change them all to inners, app now loads in 5 seconds.
Left Joins: For when people can't be assed to learn SQL basics. -
I just had to convince another "senior" dev that Magic Numbers are bad. Her argument was that the API already knows the mapping so creating another mapping on the front end was overkill and not needed when you know the value you need to compare against.1
-
Today. Where the senior developer got into a schoolyard yelling match with one of our owners. And then the only thing we accomplished in an hour was that we decided we needed another meeting next week.
-
Need advice about switching to contracting.
TL;DR;
So I had 2 years of exp as an android dev, then I had a 1.5 year gap from doing android and now for the past 6 months Ive been doing android again fulltime. Im thinking of switching to contracting due to my debts and boring project and life crushing slow corporate processes in my current fulltime job, so I need tips and advices as to where should I start looking for new contracting gigs and in general what should I pay attention to. If it helps, I am based in EU, but am open to any EU/US gigs.
Now the full story:
Initially when I joined my current fulltime job after a break I had zero confidence, lowered my and employers expectations, joined as a junior but quickly picked up the latest standards and crushed it. Im doing better than half devs in my scrum team right now and would consider myself to be a mid level right now.
Asked for a 50% bump, manager kinda okayed it but the HQ overseas is taking a very long time to give me the actual bump. I have been waiting for 10 weeks already (lots of people in the decision chain were on and off vacations due to summer, also I guess manager sent this request to HQ too late, go figure). Anyways its becoming unnaceptable and I feel like its time for a change.
Now since I have mortgage and bills to pay, even with the bump that I requested that would leave me with like maximum 700-800 bucks a month after all expenses. I have debts of around 20k and paying them back at this rate would take 3 years at least and sounds like a not viable plan at all.
Also it does not help that the project Im working on is full of legacy and Im not learning anything new here. Corporate life seems to be very slow, lots of red tape kills creativity and so on. I remember in startups I was cooking features left and right each sprint, in here deploying a simple popup feature sometimes takes weeks due to incompetence in the chain. I miss the times where I worked in startups, did my job learned nre skills and after 6 months could jump on another exciting gig. Im not growing here anymore.
So because my ADD brain seems to be suited much better for working in startups, and also I need to make more money quick and I dont see a future in current company, I am thinking of going back to contracting. All I need right now is to build a few side apps, get them reviewed by seniors and fill my knowledge gaps. Then I plan of starting interviewing as a mid level or even a senior for that matter, since I worked with actual seniors and to be honest I dont think getting up to their level would be rocket science.
Only difference between mid and senior devs that I see atleast in my current company is that seniors are taking on responsibility more often, and they also take care of our tools, such as CD/CI, pipeline scripts, linters and etc. Usually seniors are the ones who do the research/investigations and then come up with actual tasks/stories for mids/juniors. Also seniors introduce new dependencies and update our stack, solve some performance issues and address bottlenecks and technical debt. I dont think its rocket science, also Ive been the sole dev responsible for apps in the past and always did decent work. Turns out all I needed was to test myself in an environment full of other devs, thats it. My only bottleneck was the imposter syndrome because I was a self taught dev who worked most of my career alone.
Anyways I posted here asking for some tips and advices on how to begin my search for new contract opportunities. I am living in EU, can you give me some decent sites where I could just start applying? Also I would appreciate any other tips opinions and feedback. Thanks!3 -
Since my internship, I've been working for a startup, but my contract's job description is so ambiguous that it doesn't mention what programming language I'll be responsible for (I'm not sure whether other normal large company do), so there's nothing wrong with assuming the company wants me to wash toilets someday. Also, I don't enjoy not having seniors in my field advise me on the best/professional way to do things, so I've been self-taught online and am free to do my work my way (which is probably me coding some very bad/unreadable code that I'm not even aware of).
Until then, my primary job had been to develop Flutter app. Recently, the company has been doing some development, and I was forced to do Swift programming, which I had never done before, and I needed to migrate the coding of an iOS app that my senior had programmed into a MacOS app, but my senior's programming is extremely difficult to read, with no comments, and I was disgusted!
By the way, isn't it true that Swift programmers are usually better paid? So wouldn't I be taken advantage of by the company because I didn't even get a raise for switching to Swift programming?
First time I am posting my rant here, thanks for watching!4 -
me vs my job at mnc (not laggards anymore) part 8/n
so... 13 days has past and now i know somewhat about the "system" and coming to terms with it. maybe this is my first time working from office (in hybrid mode) or maybe i have worked with startups that provide some great delicacies in the name of work culture, i.... have some things that i like and dislike.
like :
- once the initial disastrous onboarding was done and i had access to most of the tools, resources and people i needed, i looked into the codebase to much of my relief. it is verbose and shitty, but like, filled with good latest shit . all the the latest architectures, libraries, etc will keep me on toes for next 3 or so months and i will get a hang to being an awesome blazing fast android dev (the thing which i was in my first job and which got seriously impacted in my 2nd job)
- no one is batting an eye as i join the office at 10 am and leave by sharp 5 pm (although i highly doubt it will go unnoticed. official timings are 9-7 and i will have to learn some politics to deal with it. the 7-9 slot in mornings and evenings are highly crowded ,brain bursting periods )
- wfo is 2/5 days
dislike :
- they are killing me with jira :'( . instead of using story points, they want us to put time estkmates and add hours to that estimate each day :/ this sucks, i hate opening jira more than once a week
- my senior seems like sly guy. he's 1 or 2 years older than me, but with better experience in both tech and politics. previously we both got a task and he was able to finish it on Friday while i was not able to complete it on weekend as well as today. turns out he was buttering our (cute) PM, going bro code with TL and got to know which task will be smaller. and even after that today he was just sitting idly doing all the buttering / dude-ing every imp person and i was also distracted/ laughing at his antics. need to learn how to deal with that guy and infact become that guy
---------
previous : https://devrant.com/rants/6566426/...1