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 - "reworking"
-
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
When your reworking a bot because they've realised your scraping their site and you spot this; GAME ON MF'ers7
-
My teammate push 2gbs worth of CSV files into our repo.
He also merged all the other branches so, it's kinda hard to revert back without reworking a lot of stuff.3 -
I just fucking hate BGAs* that unsolder themselves.
So, thanks to my laptop slowly breaking apart I decided to reactivate an old netbook my father gave me back in 2014(?) when it failed, to have a device on standby if necessary.
Wasn't really planning to repair it and kept it for spare parts mostly as the whole device is a fucking design failure concerning heat dissipation.
But yet again, I thought I'd give it a try one-two years ago. I soon found out it was said heat problem that caused the error in the device and it'd probably only take some reworking using a heat gun, which I did. Netbook worked for some hours, then was dead again, same error. Lost motivation and stashed it until this week.
Reworked with a hair-dryer this time and it worked! Well, until this morning - same error. Perhaps I shouldn't have tried to run a VM and then shut down the device right after that.
I will now try only one more time, this time just baking the whole damn main board thoroughly.
Either it works or it's really dead after. Either way, I'll be somewhat happier then.
* Ball Grid Array - package type for electronic components like ICs/uControllers8 -
Man nothing quite like reworking some code to make it 'better' so that nobody has to read it top to bottom to make a change.
And then months later get a request and think "Oh crap that code".... and you go in and find the little hooks you added made a 3 or 4 hour (or more) change into a 15 minute task.3 -
Unpopular opinion.
devRant needs a poll feature :D
im starting a new project, and currently deciding on the css framework to pick. kinda sick of injecting bootstrap into everything and reworking it, time for a new toy.
so... Whats your preferred CSS Framework?
poll: https://linkto.run/p/WGJRHYK7
for the privacy conscious among us, feel free to comment below.9 -
Literally removing the sleep(10);
Nah jokes aside, reworking my entire code from scratch based on what I drew up on a board.
Sometimes visualisation of processes and control flow can really help you write better code.9 -
Just spent 4 hours working on a somewhat complex restructuring of my current project that, when boiled down totals about 50 new or modified lines.
While I realize that line count != productivity, all the testing and reworking over that period has me feeling like there should be more to show for it.
But then, there's the fact that it's working properly as it's supposed to now, so I guess it's a win in the end.1 -
I inherited some code today. I am in the process of reworking it to drop into my framework so I can use it with our product. I am seeing this throughout the code...
try:
\do something\
except:
pass
Ahem... HANDLE YOUR DAMN EXCEPTIONS!!! DON'T JUST PASS THEM INTO THE BLACK HOLE OF NOTHINGNESS! FFS!!! Using pass like this means "Fuck it. I don't care if this fails and I want NOTHING to tell management when it does. I want to blindly look into their frustrated eyes and say ..duhh, I don't know why it failed... Fuck troubleshooting. You know what, this job isn't meant for me anyways." My outer voice is politely saying "There is a better way to do this. Please allow me to show you." Meanwhile my inner voice is flipping tables and clubbing baby seals. /rant -
So I have never done 'real' development on anything bar my current game engine Virgil, however found myself referring to C documentation for GLib and SDL2 rather than valadoc documentation.
Decided fuck it, I'm already converting everything to Vala's pointer syntax so I can have manual memory control, implementing stb_image and contemplating reworking SDL2_image into raw C so I'm not depending on extra libraries... Why do all this when I can just learn C and have more control.
Everything was going well and decided to buy the C programming language book, already knew about pointers and structs but ohhhhhhhhhhhhhhhhhhhh boi was I not ready for malloc .-.7 -
So been working with the COSMOS framework and I have litteraly spent more time reworking the CLI to be so much more functional... Still haven't implemented a simple echo command but hey... Shit looks pretty that's all that matters... Right... Right?
-
So as an IT student I learn new stuff everyday. This is very useful, only not when you find it that the technique that you used in your personal project is not the only way to do it and is super fricking messy.
Whole weekend reworking.
(Not meaning I don't like the coding but just having to remove so many lines and reorganize files and the content of the files sucks sometimes :/) -
I made a point to the management that people are unnecessarily reworking things and throwing away. And all products should have a product owner and they should give requirements. So the management called the same guy(who fucking does pointless rewrites in the name of code cleanup) and said come up with a solution. The guy came with a solution of Agile + Jira and a whole fucking process behind it. So guess what, we are having pointless meetings when we can just finish and ship deliverables.
The management successfully founded an efficient way to effectively waste time. Kuddos.3 -
More of a moaning than ranting.
I feel like I care a bit too much.
I'm not a great programmer - I may be decent, but nothing more. I know Java and C# enough to write production code that works but as I gather more experience it's getting more and more annoying that I have no one to teach me in work. All I know is what I have learned by myself, from courses online, books and just writing code.
And what drives me crazy is how I'm being pushed from one project and technology to another! It's been a week since I've returned from my exams and I've already worked in C# (ASP.Net Core, MS Office AddIn, WPF, .Net console app), Java (Spring, some legacy project with JBoss, Android) and to top it all, I had to come back to the worst project I've ever been in, where I'm implementing some third party system to county administration, just to finish it off.
I'm happy to gather experience - invaluable with only two years of real, production experience, but I can't focus on one thing because I'm immediately forced to work on another. For some reason I'm seen as Jack-of-all-trades but I really don't feel like that. It makes me anxious as fuck. Not to mention that my personal development as a Dev is held off because of working all alone with no supervisor.
Post Scriptum
Fuck my boss. He won't let me refractor our biggest project yet (console, C#) because "he can listen to my moaning all day but when clients start complaining he has to act fast". Yeah, right. Wish me luck with fixing sluggish performance without reworking base of the app. -
I always get great satisfaction by reworking and rebuilding ul li menus cos you know it's 2018 and fuk dat shit 90's implementation
-
Today is a good day:
I managed to get a script I've been working on for around 3 months finally working, managed to remove a necessary variable, put data into a more efficient format, and am reworking the file structure
Now the problem:
Data has to be entered differently, meaning reworking the entire ui -
Found bug in legacy code with comment "4 days to release workaround, works predictably".
Added "No, it doesn't!" and committed to main branch before I start reworking the entire spaghetti mess of a codebase -
Site runs beautifully on desktop. Runs shitty on mobile. Working and reworking these damn lightboxes to hold videos in them. Sigh. You’d think I’d learn by now to check things on an actual mobile device and not an emulator (i know. This is my fault). Welp. There goes my vacation3
-
According to the report of Reuter on Geneva-based Libra Association : Facebook's Libra project has failed in its current form and needs reworking to be approved, said the president of Switzerland where the cryptocurrency is seeking regulatory consent. "I don't think (Libra has a chance in its current form), because central banks will not accept the basket of currencies underpinning it," Ueli Maurer, who is Switzerland's finance minister and outgoing president, told Swiss broadcaster SRF.
"The project, in this form, has thus failed," he added in an interview.
Libra did not immediately respond to a request for comment.1 -
Reworking old java apps. Holy shit im gratefull i can use spring boot.
But this code is handsdown awfull. Every file contains more ifs than other words. upto 6 layers deep. Thank god its at least properly commented.
But seriously how did this shit ever pass any QA. All legacy apps around here are a massive pile of if statements.1 -
In few months I went from working independently on a project while developing lots of vertical knowledge to being body rented to another company where I spend most of my time doing calls and continuously reworking a suite of over engineered micro services (after ages instead of progressing we’re rewriting for the nth time basic CRUD because the team keeps coming with new refactoring ideas and since budget/time limit aren’t tight nobody on the high management seems to care of the time we’re wasting). I miss being able to stay “in the zone” for hours without calls, being challenged and learning on the job so I’m considering to find another job.