AboutA frustrated enterprise dev.
Joined devRant on 11/24/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
So, we've been on Deutsche Telekom for about 9 months. Shitty connection in the countryside but literally not one outage.
For the last 6 weeks our internet has been dropping out with no obvious cause.
Just this week we start getting calls if we'd like to upgrade to a package with LTE...
I'm finding the coincidence just a little too convenient.1
(Best read while listening to AEnima by Tool, loudly)
Dear Current Workplace,
Fuck you, for the reasons enumerated below.
Fuck your enterprise grey blue offices, the stifling warm air of a hundreds of bodies and sub par "development laptops".
Fuck your shitty carbonated water machines which were a cost saving measure over decent drinkable water.
Fuck your fake "flexi time", "you can do home office whenever you want" bullshit. You're still inviting me to mandatory meetings at 09:00 regularly.
Fuck your shitty, in house, third part IT provider sister company. They're the worst of all worlds. If it was in company, we'd get to give out to them, if it was an external company we'd fire them. And yes, when I quit I will quote the dumpster fire that is our corporate VPN as a major factor.
Fuck your cheery, bland, enterprise communication. Words coming under the corporate letterhead seem to lose all association with meaning. Agile, communication, open are things you write and profess to respect, but it seems your totally lack understanding of their meaning.
Fuck your client driven development. Sometime you actually have to fix the foundations before you can actually add new features. And fuck you management who keep on asking "why are there so many bugs and why is it always taking longer to deliver new releases". Because of you, you fucknuts, Because you can't say "NO" to the customer. Because you never listen to your own experienced developers.
Fuck your bullshit "code quality is important to us" line. If it's so important, then let us fix the heap of shit you're selling so that it works like a quasi functional program.
Fuck you development environment which has 250 projects in a single VS solution. Which takes 5mins plus to compile on a quad core i7 with 32 gb of ram.
Fuck this bullshit ball of mud "architecture". I spend most of my time trying to figure out where the logic should go and the rest of the time writing converters between different components. All because 7 years ago some idiot "architect" made a decision that they didn't have to live with.
Actually, fuck that guy in particular. Yeah, that guy who was the responsible architect for the project for 4 years and not once opened the solution to look a the code.
Fuck the manual testing of every business process. Manual setup of the entities takes 10mins plus and then when you run, boom either no message or some bullshit error code.
Fuck the antiquated technology choices which cause loads of bugs and slow down development. Fuck you for forcing me to do manual tests of another developers code at 20:00 on a Friday night because we can't get our act together to do this automatically.
Fuck you for making sure it's very clear I'm never going to be anything but a code monkey in this structure. Managers are brought in from outside.
Fuck you for being surprised that it's hard to hire competent developers in this second rate, overpriced town. It's hard to hire anywhere but this bland shithole would have anyone with half a clue running away at top speed.
Fuck you for valuing long hours and loyalty over actual performance. That one guy who everyone hated and was totally incompetent couldn't even get himself fired. He had to quit.
Fuck you for your mediocrity.
Fuck you for being the only employer for my skill-set in the region; paying just well enough that changing jobs locally doesn't make sense, but badly enough that it's difficult to move.
Fuck you for being the stable "safe" option so that any move is "risky".
Fuck your mediocrity.
Fuck you for being something I think about when I'm not at work. Not only is it shit from 9 to 5 you manage to suck the joy out of everything else in my life as well?
Fuck you for making me feel like a worse developer every day I work here. Fuck you for making every day feel like a personal and professional failure. Fuck you for making me seriously leave a career I love for something, anything else.
Fuck you for making the most I can hope for when I get up in the morning is to just make it until the night.5
I have a picture of breaking waves above my desk. I lean back, remember times I was out on my surfboard just sitting in the water. Sometimes I make some green tea and just breath.
If that doesn't work, black coffee, somafm EDM and stress the fuck out until it's done.
Currently waiting in the doctor's office and the pc on the table is making so much noise... I have an itch to fiddle with it, maybe get a can of compressed air and clean it out. Though given that it's a doctor's office, not until I get gloves and a mask.
1) keeping my shit together until my 3 month notice period is done.
2) moving cross country.
3) starting a new job with a new tech stack which I'm not as experienced in.
Just fixing a broken build due to another bad merge by SVN. There was no reason it should have fucked that merge up but somehow it did.
Of course I didn't double check by building locally so that was my screwup but what I wouldn't give to use a decent source control tool1
There's something very satisfying doing contract negotiations for your next job while you're stuck in a boring 4 hour meeting at your current shitty job.
One problem for CS education is that the salaries for academia are so low compared to industry that if someone is even vaguely competent, they can at least double their income by working a 'real' job. Now this may be different at higher levels of colleges but generally those folks are such bullshitters they wouldn't last outside of academia.
As what to improve?
Depends if it's a research or vocational course.
Basic knowledge of algorithms, runtime analysis (O notation) and some data structures and you're an instahire.
For research, go wild. Deep dive into the math, algorithmic side. Read up lots of research papers. Try out different programming paradigms. You would aim for a career in academia, AI, quant finance etc...2
You know you're doing enterprise style agile when every two weeks requires a 20 person four hour meeting to go over what was actually implemented in the spring2
So, my wife is in the hospital with two of the kids for an annual checkup. Should be nothing to worry about but still it's stressful and I want to be there.
I'd booked the day off (until the end of the week) and last week I got told, you've taken too many holidays, just the Friday is approved.
Ok, fine, I'll do some extra hours work from home and be there for the appointment. But fuck no, they schedule an "important" client meeting this morning and I'm required to attend.
TWO FUCKING HOURS and I contributed a sum total of 2 sentences which could have been filled in just as well by the other developer on the call
Just another reason I'm happy to be interviewing at other companies.6
Question; if you've got a team member who's been phoning it in during the last few sprints and their inattention causes extra work for others, what do you do?
- Have a private word directly one to one.
- Say nothing but bitch amongst yourselves
- Complain to the team lead
- Call them out during a daily standup and tell them they're producing shit.
My very first experience with a computer was a Mac 512Ke which my parents bought to do accounts on.
I was too young to really get it but it had the games Zork 2, a flight sim called fire fox (I think) and some painting program.
What actually got me into programming was when I was at a friend's and we were trying to get dune 2 to work and his older brother stepped in, did some command line unzip and then hey! It worked.
Bit he was such an arrogant prick about us not knowing how to start the program that I started learning myself how to use computers properly.
I spent 5 hours last night from 20:00 to 01:00 rewriting a class so it was understandable, testable and correct. It's not great but a shit load better than the pile of shit that was there before.
I'm actually quite proud of it. Of course, it'll be totally unseen by anyone but me. Is this the best enterprise Devs can hope for, lonely satisfaction of a job well done?2
Right now, I'm doubting my reading skills.
I'm doing a feature acceptance presentation and half way through they're like "did you handle cases A, B and C?"
Now it's got to be rushed in ...
And all because I can't read the spiderweb of requirement docs
Them: Maintaing code quality is a vital part of our team culture!
Me: Really, how important? Can a feature slip to facilitate necessary refactoring?
Them: Well no. We've made a commitment to the client.
Me: So, code quality is not very important then is it...
I'm not getting that job then.
So I just had one of those interview coding tests on hacker rank and screwed it up big time.
I'm a C# guy and it was a Java position. I worked with Java, like 10 years ago, and they're pretty similar so I brushed up over the last week when I had free time.
Absolutely blew it. It's not like it was hard, I just got into one question (of 6) and it ate up all of my time. The task was simple, make a JSON call, read the data, check if you need more calls, pull out a data field from all the concatenated results and return it in a sorted list. ONE HOUR it took me. A combination of not knowing the API well enough, simple syntax errors and relatively slow compilation.
The next question was implement an Object hierarchy but since I'd run out of time, all I got was the class declarations before the timer ran out.
fuck, fuck, fuck.
I guess the test did it's job and weeded out someone who can't contribute to the team...6
Nowhere near my worst co-worker, but still funny.
The Dev team were all in a separate glass walled room with the business & support staff out in a bigger room outside. As is our wont, we wore headphones while working a lot.
One of the non technical folks asked me why and I said it helps me focus by keeping out distracting noises.
"Oh, I thought you were listening to code or something"
It was kind of an eye-opener as to how little clue a person sitting just 4 meters away had of what I did or how I did it. And actually it helped explain some confusing interactions...4
Do any German Devs on here have a good example Arbeitszeugnis?
One of my previous employers basically said "write your own and we'll sign it".
I've never seen one, I'm not a native speaker and from what I understand there are a lot of subtleties to be careful of.15
Everyone knows how hard it is to get your first job. Everywhere wants 1-3 years of experience.
What noone tells you thought is that's hard at the other end. When you're looking for architect/tech lead roles you will see loads of postings but upon investigation they're just mislabeled senior developer positions.
And of course, if you're looking for good money, it feels almost impossible to get beyond the screening stage...
So, I only got 4 hours sleep last night and this morning I have 3 hours of meetings.
Let's see what will win. Coffee and will power or the most boring meeting topics ever.2
The worst co worker I had is actually pretty recent. He joined a well integrated team on what was basically a legacy project. He sounded like a good developer and seemed to know his stuff but it took him ages to push out fixes/features. They were always massively over-engineered, poorly named, partially tested and what documentation he did write still managed to bitch about how poor the project was structured.
He spent most of his time bitching about the general shitty nature of the project (he wasn't wrong) and the lack of interest from other Devs.
He was so unpleasant in interpersonal communication that by the end no one would work with him.
In his last team meeting he basically said he was glad to be going and that we were all lazy, disinterested and shouldn't consider ourselves his peers. The equivalent of storming out of a party after setting the couch on fire and shitting in the sink.
We've since removed all his overcomplicated, not standard, unmaintainable code.
My visceral hate of Spring.Net burns with the force of a thousand suns.
Almost everything it does is done wrong or solved better by other solutions.
Specifying which classes to instantiate from .xml files? Sure why not, compile type safety (the whole reason for using a static programming language) is obviously overrated and dependency based injection is surely impossible!
And for extra bonus points, now our client code must be aware of the internals of the service classes, and all of their references as well, because, encapsulation? Who cares.
Have you made an typo? Good fucking luck finding out from which of the 100 config files we have floating around...
And, because it has baked in AOP and Transactions its woven into the fabric of the project like a tapewom.
Of course this may just be how our "special snowflake" project uses Spring.
What makes it more painful is that I love good DI tools (ninject, castlewindsor, autofac, there are so many...) and we're stuck with this turd because 7 years ago some java devs couldn't be arsed to learn a new library...1
I was told during my initial interview that the book "Clean Code" is their Bible here.
And it's true. It's lying, unread in drawers and shelves all over the office.14
I started the pomodoro technique recently. Unfortunately when I went to the shop they only had an egg timer.
It's been a frustrating few weeks.
When good developers are afraid of refactoring and adding new classes is something to be feared, you need to rethink your architecture.
In fact, if there's ever that "dark corner" of code that no-one likes to work with, you've got to fix it.
It's like continuous deployment. We do it often because it's hard and having to deploy regularly forces us to make it easier.3
I can't work because someone else broke the build and they're in meetings all day.
That's how you know it's real Enterprise development.
Copy and paste everywhere is not an acceptable software development methodology. It's a sign that something's very wrong.2
It's hard to motivate developers when the tech stack is a career dead end, the business is fundamentally boring and you're never getting promoted.
So you offer job security.3