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 - "legacy projects"
-
Our project is a legacy of all legacy projects. The developers imported the third-party libraries by copy-pasting the whole source codes into the project. Ohhhh yeahhh!!!8
-
Productive day!
Rewrote an intern's feature and briefly explained how/why
Gave intern a choice of projects, and explained them
Removed two unused models, one unused route
Dried up two views into a partial
Redesigned said partial
Tested validation edge cases (ex: Jan 10nd, 101bc)
Fixed an api
Simplified three models
Added scheduling and platform restriction to a feature
Le wild bug appears: a user with negative xp!?
Wrote a migration to expand players' max xp to 2^64-1 because a certain legacy game gives it away like my ex-boss makes promises. Chewed at devs, but they're all long gone so :/
Won two games of pool
Browsed devRant
Busy day, and all of this while falling asleep! 😊
I'm quite proud of myself today.16 -
Yesterday I had my performance review discussion with my manager after about 6 months into the job, which is my first dev job. Before this, I had spent about 2 years in a support role after graduation, but always yearned to build something cool and be a full time developer. Hence I had made the lunge in spite of a pay cut into a development role.
For the past 6 months I was asked to develop a bunch of features on top of legacy code which is ~15 years old. I did my best and brought in the best ideas and practices onto the table and delivered on time. The features turned out great. I enjoyed working with the team and the team loved me back!
But at the back of my mind, I was hoping that I would get to work on something new and relevant. To quench this thirst, I used to spend my personal time on side projects.
The managers and the leads who have been observing me all along, told me yesterday that my manager got AMAZINGLY positive feedback from the leads and my teammates (who are like 10 years senior to me). Going forward, I get to work on any CRAZY idea and pick up any technology I like with the goal of revamping our product. Essentially I get to work on my side projects full time as long as it adds value to the company.
Ohhhhhh YEAH!
Wish me luck. 😎1 -
Hello there, just couple of words about PHP. I've been develop on PHP more than 10 years, I've seen it all 3,4,5,{6},7. Yes PHP was not good in terms of engineering and patterns, but it was simple, it was the most simple language for web to start those days. It was simple as you put code into file, upload it via FTP and it works. No java servlets, no unix consoles, no nothing, just shared hosting account was enough to host site, or even application with database. As database everybody used to have mysql, again because its simple to start and easy to maintain. So PHP+MySQL became industry standard on Web during 00-2012, and continues in some way.
You can write HTML and logic inside single file, within php code, even more single file may content few pages, or even kind of framework. That simplicity and agility sticks everybody who wants to develop sites with PHP.
This is pretty much about why it is so popular.
Each good or wannabe PHP developer in an early days write its own framework or library (like in javascript this days because of nodejs)
Imagine that PHP has hadn't have package manager, developers used to have host packages on their own sites, then various packages catalog sites created, and then finally composer. A gazillions of php code had spread over internet, without any kind of dependency control. To include libraries to your projects you have to just write include, or require. Some developers do it better than others.
So what we have ? A lots of code, no repositories, zip archives with libraries, no dependency control.
Project that uses that kind of code are still alive even today, they are solid hose of cards, and unmaintainable of course.
And main question that I'm trying to answer is Why PHP is not good ?
- First is amount of legacy code which people copy and pasted into their project, spread it even more like a virus.
- Lack of industry standards at the beginning lead to a lots of bad practices among developers. PHP code usually smells.
open source php projects in early days was developed in same conditions so even in phpbb, phpnuke, wordpress, drupal used to have a lot of bad practices in their codebase. So php developers usually not study by another library, instead they write their own frameworks/libraries.
- "It works", - there are no strong business demands, on web development, again because lack of standards, and concerns.
This three things are basically same, they linked to each other and summarize of answer of why PHP have strong smells and everybody yelling against it.
Whats is with PHP nowadays ? Of course PHP today is more influenced by good practice of webdev. Composer, Zend, Laravel, Yii, Symphony and language it self became more adult so to say, but developers...
People who never tried anything except PHP are usually weaker in programming and ecosystem knowledge than people who tried something else, python, perl, ruby, c for instance.
Summary
PHP as any other programming language is a tool. Each tool has its own task. Consider this and your task requirements and PHP can be just good enough solution.
"PHP is shit" - usually you heard that from people who never write strong applications on PHP and haven't used any good tools like Symphony or Laravel.
Cheap developers, - the bigger community, the more chance to hire cheap developers, and more chance to get bad code. That can be applied on any other language.
PHP has professionals developers, usually they have not only php on scope.
That's all folks, this is very brief, I am not covering php usage early days in details, but this is good enough to understand the point.
Enjoy.8 -
Was working in small startup with great people on new projects, but for very low salary and shitty conditions.
Changed job to big company with nice salary and great conditions, but people are assholes and have to work on legacy stuff mostly.
Guess you can't have everything.1 -
It's enough. I have to quit my job.
December last year I've started working for a company doing finance. Since it was a serious-sounding field, I tought I'd be better off than with my previous employer. Which was kinda the family-agency where you can do pretty much anything you want without any real concequences, nor structures. I liked it, but the professionalism was missing.
Turns out, they do operate more professionally, but the intern mood and commitment is awful. They all pretty much bash on eachother. And the root cause of this and why it will stay like this is simply the Project Lead.
The plan was that I was positioned as glue between Design/UX and Backend to then make the best Frontend for the situation. Since that is somewhat new and has the most potential to get better. Beside, this is what the customer sees everyday.
After just two months, an retrospective and a hell lot of communication with co-workers, I've decided that there is no other way other than to leave.
I had a weekly productivity of 60h+ (work and private, sometimes up to 80h). I had no problems with that, I was happy to work, but since working in this company, my weekly productivity dropped to 25~30h. Not only can I not work for a whole proper work-week, this time still includes private projects. So in hindsight, I efficiently work less than 20h for my actual job.
The Product lead just wants feature on top of feature, our customers don't want to pay concepts, but also won't give us exact specifications on what they want.
Refactoring is forbidden since we get to many issues/bugs on a daily basis so we won't get time.
An re-design is forbidden because that would mean that all Screens have to be re-designed.
The product should be responsive, but none of the components feel finished on Desktop - don't talk about mobile, it doesn't exist.
The Designer next to me has to make 200+ Screens for Desktop and Mobile JUST so we can change the primary colors for an potential new customer, nothing more. Remember that we don't have responsiveness? Guess what, that should be purposely included on the Designs (and it looks awful).
I may hate PHP, but I can still work with it. But not here, this is worse then any ecommerce. I have to fix legacy backend code that has no test coverage. But I haven't touched php for 4 years, letalone wrote sql (I hate it). There should be no reason whatsoever to let me do this kind of work, as FRONTEND ARCHITECT.
After an (short) analysis of the Frontend, I conclude that it is required to be rewritten to 90%. There have been no performance checks for the Client/UI, therefor not only the components behave badly, but the whole system is slow as FUCK! Back in my days I wrote jQuery, but even that shit was faster than the architecuture of this React Multi-instance app. Nothing is shared, most of the AppState correlate to other instances.
The Backend. Oh boy. Not only do we use an shitty outated open-source project with tons of XSS possibillities as base, no we clone that shit and COPY OUR SOURCES ON TOP. But since these people also don't want to write SQL, they tought using Symfony as base on top of the base would be an good idea.
Generally speaking (and done right), this is true. but not then there will be no time and not properly checked. As I said I'm working on Legacy code. And the more I look into it, the more Bugs I find. Nothing too bad, but it's still a bad sign why the webservices are buggy in general. And therefor, the buggyness has to travel into the frontend.
And now the last goodies:
- Composer itself is commited to the repo (the fucking .phar!)
- Deployments never work and every release is done manually
- We commit an "_TRASH" folder
- There is an secret ongoing refactoring in the root of the Project called "_REFACTORING" (right, no branches)
- I cannot test locally, nor have just the Frontend locally connected to the Staging webservices
- I am required to upload my sources I write to an in-house server that get's shared with the other coworkers
- This is the only Linux server here and all of the permissions are fucked up
- We don't have versions, nor builds, we use the current Date as build number, but nothing simple to read, nonono. It's has to be an german Date, with only numbers and has always to end with "00"
- They take security "super serious" but disable the abillity to unlock your device with your fingerprint sensor ON PURPOSE
My brain hurts, maybe I'll post more on this shit fucking cuntfuck company. Sorry to be rude, but this triggers me sooo much!2 -
-When they ask for your current/previous salary in a job interview, tell them that you don't find that relevant or that you don't want to tell. If they insist on you telling your salary, GTFO
- When they are overenthusiasticly telling about all the latest technologies they're using without staying one word about legacy projects, GTFO. It's a trap.
- If you walk trough the developer room(s) and everybody is extremely focused and just programming like a zombie, GTFO.
- If they cannot tell you one single downside of the company, it's probably too good to be true.
That's about everything I can think of at the moment4 -
Slow, old, spaghetti coded legacy projects that no one has touched for years.
You know those ones where you put your Indiana Jones hat before going in and barely come out alive.2 -
So I had a fun week.
It started off with my boss replying to a co-workers email where he sent his new bank account, saying he doesn't need it untill we close off some baddly planned projects, meaning no paycheck.
Needless to say we were working night and days including weekends on it and put our best into it.
For the next part I need to explain a little background. We have this old legacy system I'm working with for the past 3 years. I keet raising the red flag we need a new one. Nothing happened. So every time I worked with it I kept thinking how to improve the parts. Almost two years went into thinking and planning the new system untill I got a green light. It was most satisfying - the day I got to build something good and awesome. I drew all the data structures, laid out the foundations and started building ontop of it. It was amazing and I was really proud of it. Then suddendly client wanted to see something and the decision was made we threw it together quickly with the old legacy system. It was on hold 'till then due to work overload.
Boss wrote me this week if I can put the project from git on a server, where he out sourced the completition into India where they will finish it. On thr question if they can't work on git, he replied: "should they?" -.-
To top it all up, I got a notice at the end of the week if I don't fill his shit time tracking system (that takes me one hour/day to insert all entries) by monday he'll deduct a sizable portion of my paycheck.
I AM WORKING FOR YOU ALL THE FUCKING TIME BECAUSE YOU LACK RESOURCES AND I THOUGHT A TEAM STICKS TOGETHER AND SAVES EACH OTHERS ASS! I DONT HAVE TIME TO ENTER YOUR FUCKING STUPID TIME ENTRIES IN YOUR FUCKING BUGGED SYSTEM EACH DAY ON TASKS THAT DON'T EVEN EXIST BITCH! MAKE IT BETTER FIRST!! OH! AND NO ONE IS MORE QUALIFIED TO FINISH THAT PROJECT THAN ME, I POURED MY FUCKING HEART INTO IT YOU PRICK!
woah.5 -
Germany plans to reduce their VAT from 19 to 16 % from July to December....
I'd guess a lot of old legacy projects will be fucked.
Anyone else remember the fun when you had a project where the VAT was hardcoded....everywhere.... And needed to be migrated?
I had two or three of those... God I'm so happy that I don't work for these companies anymore.
And I guess.... A lot of schadenfreude ... Cause I remember the pain, especially database wise.10 -
I'm not sure whether to cry or to burn everything to the ground.
I'm stuck in a rotten, over aged corporate that will one day choke on all the documents and formalism they require. Which is something I'm generally fine with. Each to their own.
But ever since I handed in my resignation they have been fucking me like I have never been gang raped before.
(A little context: I work for a midsize financial institute. Which at least in Germany are full of legacy projects and are regulated as all hell.)
So some fuckwits decided that since the regulator slapped us hard 2 years ago that we need to make up a new standard of documentation that has to be used for all IT-documentation there ever was and ever will be.
So the upper management (the before mention dumb-dumbs) choose some consultant company and locked them up together with the brightest stars (read biggest slime balls) of the IT department in an ivory tower and told them to pull some out the ass.
And one year later (early November last year) they got the shit they ordered. Gilden shit, only the most sparkly and non-sensical bullcrap you could imagine.
But they only looked at it and deemed it good. Now the guys actually in charge of the the applications got served the dish. And guess what they found out when started to dig into? Nothing but contradictions, non-final thoughts and all of that held together by web of retarded, unusable guidelines. But they ate it, they cursed but they swallowed forced by disciplinary punishments waiting should they misbehave.
The only one emerging fact was: All previous documentation was completely invalidated.
But now the mighty lords in the ivory tower guided by the never failing hand of the higher management had the greatest idea of them all. They needed someone to check all the documentation till the end of this year but since they blew all of their budget on useless wankers ( oh, ofc I meant "highly qualified external help") they now preyed on the lowest in the food chain. Which is where this story goes full circle and comes back to me.
I was the lowest rank on the food chain, a student that just handed in his resignation.
I was the first to be locked up in the basement, my co-student followed shortly after.
And now I'm going to spend my last 2 months looking at checklists that we had to pull out of the slime's ass and validating hundreds of thousands of pages of documentation. We get grinded up in the endless hate coming from the guys that we need to tease and are held in position by a wall of sheer idiocy on the side of the rule makers.
Today I cried when I had to tell someone that his magnificent documentation was not standard conform and had thus no longer any meaning or right to exist.
Thanks you for those that made it this far down. I hope you never have to feel my pain.11 -
Oh man. Mine are the REASON why people dislike PHP.
Biggest Concern: Intranet application for 3 staff members that allows them to set the admin data for an application that our userbase utilizes. Everything was fucking horrible, 300+ php files of spaghetti that did not escape user input, did not handle proper redirects, bad algo big O shit and then some. My pain point? I was testing some functionality when upon clicking 3 random check boxes you would get an error message that reads something like this "hi <SENSITIVE USERNAME DATA> you are attempting to use <SERVER IP ADDRESS> using <PASSWORD> but something went wrong! Call <OLD DEVELOPER's PHONE NUMBER> to provide him this <ERROR CODE>"
I panicked, closed that shit and rewrote it in an afternoon, that fucking retard had a tendency to use over 400 files of php for the simplest of fucking things.
Another one, that still baffles me and the other dev (an employee that has been there since the dawn of time) we have this massive application that we just can't rewrite due to time constraints. there is one file with (shit you not) a php include function that when you reach the file it is including it is just......a php closing tag. Removing it breaks down the application. This one is over 6000 files (I know) and we cannot understand what in the love of Lerdorf and baby Torvalds is happening.
From a previous job we had this massive in-house Javascript "framework" for ajax shit that for whatever reason unknown to me had a bunch of function and object names prefixed with "hotDog<rest of the function name>", this was used by two applications. One still in classic ASP and the other in php version 4.something
Legacy apps written in Apache Velocity, which in itself is not that bad, but I, even as a PHP developer, do not EVER mix views with logic. I like my shit separated AF thank you very much.
A large mobile application that interfaced with fucking everything via webviews. Shit was absolutley fucking disgusting, and I felt we were cheating our users.
A rails app with 1000 controller methods.
An express app with 1000 router methods with callbacks instead of async await even though async await was already a thing.
ultraFuckingLarge Delphi project with really no consideration for best practices. I, to this day enjoy Object Pascal, but the way in which people do delphi can scare me.
ASP.NET Application in wich there seemed to be a large portion of bolted in self made ioc framework from the lead dev, absolute shitfest, homie refused to use an actual ioc framework for it, they did pay the price after I left.
My own projects when I have to maintain them.9 -
Before starting a job at company CUNT, we had an interview at which I told them I do not want to work on legacy monolithic codebases. We had a nice agreement and they offered me to work as a back-end with one of their projects. I was super excited to start. CUNT was very culty, always talks about how carrying for employees they are and always keep promises on their end of the table.
A week has passed, the codebase is superb legacy shit hole, no fucking standards, monolithic as fuck (BE and FE projects live in one project folder with tons of depreciated tools - there are no docs for them. That’s how old they are). They even have secret folder in their project with YOU GUESSED IT - secret keys.
Told CTO today, that I want to switch projects, because this was not the thing I signed up for and remember THEY ALWAYS CARE ABOUT THEIR EMPLOYEES AND PROMISES MADE. He basically told me, that project owners (other company) will not understand this culturally and I can either wait it out and possibly get my hands on a better project or fuck off right now.
Also, I was told, that my judgment was garbage worth and I should work longer with project “shit hole” to fully understand it.
Such a fucking salesman.
Anyways, I told that this situation is not culturally appropriate for me either as they gave me a sort of promise and I wont leave the company as I just switched jobs and cannot afford to do that again. I’ll hopefully get another position in another project soon.
WTF IS WORNG WITH PEOPLE8 -
So I watched this video that tries to convince people, that the jQuery library isn't really best practice anymore and showed how you can achieve basic tasks with vanilla JS, aswell as some frameworks (Vue, React, Angualar) and how they handle interactions with the DOM.
It also talked about how nearly every JS question on SO has top answers using jQuery, and how that's a bad thing.
But what I found in the comment section of this video was pure horror: So-called "Developers" defending jQuery to the death. Of course there were some people who made some viable arguments (legacy code, quick & dirty projects), but the overwhelming majority were people making absurd claims and they seemed quit self-confident.
GOSH!
Want an example?
Look:22 -
Folks...
I think I need to get away from web development...
Honestly, no grudge held against web/mobile development itsef... But the projects, the teams, the workflows... It's always shitty af.
I'm fed up with the bad architecture, poor management decisions, unmaintained legacy code, broken windows, arrogant juniors, arrogant seniors, code smells left to rot, the freaking red door... Hell! The fucking "we don't have time for that" answer to testing... Damn!
Been there done that.
Feels like it's always the same crap and unfortunately, it's rare to start a professional project from scratch.
Fucking angular, broken piece of shit.
Fucking react (& RN) community modules, broken pieces of shit.
Fucking lazy-ass node developers.
Fucking ES and fucking garbage proposals submitted to the TC39.
I wish I could do Haskell / Rust / Clojure professionally... I could even enjoy Go with a good team... Anything but that huge pile of dogshit JS and its community of brainfucked so-called developers.10 -
!Rant
Finally I'm having my vacation. Goodbye mother fucking legacy system. Hello pet projects and gaming. God, have mercy on the lost souls at work ;)2 -
Worst dev experience was when I was asked to "take a look at" a propriatery Windows app built by a now non-existent team at the company.
The code base resembled the quality of legacy code where about every hour I felt like I needed to vomit. But that wasn't even the worst part for me.
This was the first time I had to develop on Windows and was sent a separate dedicated laptop for this. Now I started to have a bad feeling about this because as far as I had known every single dev at the company used company Macs for development (including me for other projects). It turned out the Windows laptop was indeed configured for a non-dev team :)
Having liased with IT admins for a day I finally got my environment set up and hit install on the dependencies and in 10 minutes it got to less than 10%. The laptop was pretty powerful so I couldn't belive wtf was going on, fans were ramping. Checked task manager and the company Anti-Malware was hogging the whole CPU.
I was so mad that I managed to get the IT admins to completely disable it and then it was only the pain of working with shitty code on Windows which would have been more than enough from the start. Thankfully it only lasted a week. -
I miss old times rants...So i guess, here it goes mine:
Tomorrow is the day of the first demo to our client of a "forward-looking project" which is totally fucked up, because our "Technical Quality Assurance" - basically a developer from the '90-s, who gained the position by "he is a good guy from my last company where we worked together on sum old legacy project...".
He fucked up our marvellous, loose coupling, publish/subscribe microservice architecture, which was meant to replace an old, un-maintainable enormous monolitch app. Basically we have to replace some old-ass db stored functions.
Everyone was on our side, even the sysadmins were on our side, and he just walked in the conversation, and said: No, i don't like it, 'cause it's not clear how it would even work... Make it an RPC without loose coupling with the good-old common lib pattern, which made it now (it's the 4th 2 week/sprint, and it is a dependency hell). I could go on day and night about his "awesome ideas", and all the lovely e-mails and pull request comments... But back to business
So tomorrow is the demo. The client side project manager accidentally invited EVERYONE to this, even fucking CIO, legal department, all the designers... so yeah... pretty nice couple of swallowed company...
Today was a day, when my lead colleague just simply stayed home, to be more productive, our companys project manager had to work on other prjects, and can't help, and all the 3 other prject members were thinking it is important to interrupt me frequently...
I have to install our projects which is not even had a heart beat... not even on developer machines. Ok it is not a reeeeaaally big thing, but it is 6 MS from which 2 not even building because of tight coupling fucktard bitch..., But ok, i mean, i do my best, and make it work for the first time ever... I worked like 10 ours, just on the first fucking app to build, and deploy, run on the server, connect to db and rabbit mq... 10 FUCKING HOURS!!! (sorry, i mean) and it all was about 1, i mean ONE FUCKING LINE!
Let me explain: spring boot amqp with SSL was never tested before this time. I searched everything i could tought about, what could cause "Connection reset"... Yeah... not so helpful error message... I even have to "hack" into the demo server to test the keystore-truststore at localhost... and all the fucking configs, user names, urls, everything was correct... But one fucking line was missing...
EXCEPT ONE FUCKING LINE:
spring.rabbitmq.ssl.enabled=false # Whether to enable SSL support.
This little bitch took me 6 hours to figure out...so please guys, learn from my fault and check the spring boot appendix for default application properties, if everything is correct, but it is not working...
And of course, if you want SSL then ENABLE it...
spring.rabbitmq.ssl.enabled=true
BTW i really miss those old rants from angry devs, and i hope someone will smile on my fucking torturerant marshall_mathers worklife sugar-free_tateless_cake_decorant_figure_boss missolddays oldtimes_rants5 -
It's 5 AM and I don't want to shit on anybody's party but trust me when I say most of you here complaining about legacy code don't know the meaning of the word.
As someone who maintained a PHP4 codebase with an average file length of 3000+ lines for almost 4 years, I feel you, I feel your pain and your helplessness. But I've seen it all and I've done it all and unless you've witnessed your IDE struggle to highlight the syntax, unless you had to make regular changes in a test-less SVN's working copy that **is** the production and unless you are the reason that working copy exists because you've had enough of `new_2_old_final_newest.php` naming scheme, you do not know legacy. If you still don't believe me bare in mind I said "is" as in: "this system is still in production".
But also bare hope. Because as much grief as it cost me and countless before me, today of all days, without a warning, it got green lit for userbase migration to a newer platform. And if this 20 years of generous custom features and per client implemented services can be shut down even though it brings more profit than all the other products combined, so can happen to any of your projects. 🙏
Unfortunately, I do mean *any*.7 -
Legacy projects are cancers of this profession. I would not wish maintenance of legacy code(written by someone else) on my worst enemy.14
-
older clients are returning with my old projects and asking for improvements, I did buy a few very shitty scripts from the internet/ and used one of my friends custom php cms for the other client because I REALLY needed money and they needed the projects yesterday.
Now I'm looking at the code and can't start working because of how messy it all is, I want to remake it all with a good framework and system, but it would take too much time (and they want it fast) and they wouldn't want to pay for the improvements because what they have now works..
I guess the shit you throw out when you're younger does come flying back like a boomerang..3 -
People rant here about how they hate documenting things or writing tests or whatever.
Yes these things are not the most interesting but I have a feeling that we are forgetting about most horrendous of tasks - estimating. Especially in agencies. Especially related to altering legacy features. Especially big projects.
I mean, I'm spending time doing something that is basically dev's Voo Doo, hoping that I will be right... and usually I'm not.6 -
In my short career, I've seen projects become legacy before their first release. Hell, I've seen proof-of-concept apps turn into technical debt because to management as long as it works we won't rewrite it.
-
Ok, so one of the oldest guy is leaving from my company (on a good note) and he was involved in multiple things in our organization. From having access to almost everything (AWS, Github and owning multiple projects and our legacy code). I am supposed to take KTof one project and man THE CODE IS MESS. YOU DONT PUT A RANDOM NUMBER WHILE CALLING A FUNCTION. You are supposed to define a constant and use that. I've told my manager that I need at least 1 week just to improve logging.2
-
Just cleaned up my legacy projects directory. Deleted all node_modules, bower_components, and distribution directories.
Deleted hundreds of thousands of files, freed up like two gigs 😑1 -
I need some advice here... This will be a long one, please bear with me.
First, some background:
I'm a senior level developer working in a company that primarily doesn't produce software like most fast paced companies. Lots of legacy code, old processes, etc. It's very slow and bureaucratic to say the least, and much of the management and lead engineering talent subscribes to the very old school way of managing projects (commit up front, fixed budget, deliver or else...), but they let us use agile to run our team, so long as we meet our commitments (!!). We are also largely populated by people who aren't really software engineers but who do software work, so being one myself I'm actually a fish out of water... Our lead engineer is one of these people who doesn't understand software engineering and is very types when it comes to managing a project.
That being said, we have this project we've been working for a while and we've been churning on it for the better part of two years - with multiple changes in mediocre contribution to development along the way (mainly due to development talent being hard to secure from other projects). The application hasn't really been given the chance to have its core architecture developed to be really robust and elegant, in favor of "just making things work" in order to satisfy fake deliverables to give the customer.
This has led us to have to settle for a rickety architecture and sloppy technical debt that we can't take the time to properly fix because it doesn't (in the mind of the lead engineer - who isn't a software engineer mind you) deliver visible value. He's constantly changing his mind on what he wants to see working and functional, he zones out during sprint planning, tries to work stories not on the sprint backlog on the side, and doesn't let our product owner do her job. He's holding us to commitments we made in January and he's not listening when the team says we don't think we can deliver on what's left by the end of the year. He thinks it's reasonable to expect us to deliver and he's brushing us off.
We have a functional product now, but it's not very useful yet and still has some usability issues. It's still missing features, which we're being put under pressure to get implemented (even half-assed) by the end of the year.
TL;DR
Should I stand up for what I know is the right way to write software and push for something more stable sometime next year or settle for a "patch job" that we *might* deliver that will most definitely be buggy and be harder to maintain going forward? I feel like I'm fighting an uphill battle in trying to write good quality code in lieu of faster results and I just can't get behind settling for crap just because.9 -
I was underestimated about tech skills and earning, because I use PHP at work. I agree that PHP sucks and it's used by a lot of developers who don't know how it works. But the legacy systems I work on now compose a platform used by more than 400K users. In addition, I used to use C++ for game programming and Java for web systems. Also I'm playing with Node.js and javascript for my personal projects. In my experience, I don't think PHP is easy to make things work as expected. Plus, I don't get low salary compared to the others in this region. It's always very hard to explain how I'm working as a PHP developer. At the moment of underestimation, I was feeling so bad, but I couldn't say anything. It might lead a religious argue. Any advice?22
-
Hey this is the first time i post here.
I just started working part-time for this company last week. What i have to do is to change some windows from Win32 to WPF. As i was reading the legacy code i just had to sigh man. They have like 100 projects in a single solution, from C++ to C#, everything acctached to each other, with almost NO comments or docs. Wtf man? I don't know how it actually works in the industry (this is my first dev job) but when you write fucking 20 classes with each one contains bunch of attributes, methods, properties, you can't just leave all the code's semantics in their names. And by the way the app is so fucking ugly i bet they have appointed part-time developers as UX engineers... Even i have little knowledge about UX/UI, i just can't bear with this kind of ugly and confusing and unintuitive production with a cost of a good photo editting software.
Ok there may be much more to rant in the future but let me try through this and tell you more. Have a good day. :)5 -
So at the beginning of the year I took a new job at a large, stable company. Leaving a failing startup, toxic leadership, and an absolutely stellar development team in the process. Given what's happened in the world since then, I'm overall pretty happy with the decision to have some more stability for me and my family.
That being said, I'm super bummed out (and weirdly burned out) now because I feel like I'm becoming a worse engineer.
I've worked for large organizations before (single digit thousands of employees), but never have I experienced a personification of enterprise memes like this. Leadership too out of touch, lots of bullshit work just to make worthless reports look good, horrific legacy codebases and infrastructure, you name it.
My biggest problem are the expectations are shockingly low. I went from a hyper demanding work environment where the fate of the entire company seemed to hang in the balance each and every week, to an environment where we literally invent arbitrary, bullshit deadlines and requirements so we have something to feel some stress about. And even still, most of the deadlines are laughably far away. The pace of work that's not only accepted, but praised is so slow that I find myself procrastinating more and more. I spend so little time doing any work, and even less time doing things that would pass as "interesting", that I feel like the engineering and problem solving part of my brain is starting to rot.
To make matters worse, the culture is weirdly confrontational despite the pace being so slow. The people here are _incredibly_ pedantic and will launch into 15 minute arguments over the tiniest incorrect details in a story title. Interrupting someone just so you can say what they were going to say is a daily trial. And most ridiculous of all, _repeating_ word for word what someone _just_ finished saying like it was your thought and you didn't even hear them. I don't even know what the motivation for this could be because it makes them look like total clowns.
I've tried to bring up some of the things I find ridiculous, but most everyone has just accepted them at this point and there's virtually no effort to try and make things better. I only get stupid non-answers like "obviously you've never worked at a large enterprise before". Yes I have. Twice. We didn't partake in half the bullshit that happens here.
Honestly this was all just a passing frustration for the first month or two, but 7 months in I'm starting to see myself become complacent. My current output would be absolutely _shameful_ to myself from a year ago, and even my personality has started to shift to the point that I just go with the flow and don't challenge anything.
I've stopped keeping up with tech trends. I've stopped experimenting with new things. I've tried to do more work on personal projects, but the burnout is starting to affect my life outside of work. In general I've just completely stopped trying, and I absolutely fucking hate it.
I also feel like a total tool for complaining about having a cushy, stable job where I barely have to do anything given the current world climate. But I'm more miserable now than I think I've every been in my career. Has anyone else experienced this and found ways to combat it? How do you get your motivation back once it's lost and there isn't even any pressure to regain it?
I totally blame myself for becoming part of this joke. That's totally on me for not continuing to push myself, but I never realized how much of my "drive" from the last job was coming from the high stakes we were operating under. I really just want to get back to being proud of my work and pushing to be better.
Anyway, sorry for the lengthy post. This turned out to be a weirder rant/self-roast than I intended. But I'm hoping this will be the first step to kicking my own ass back into shape.5 -
Best: actually started to work on side projects, they are not just discarded ideas on the paper anymore, so excited about this one
Worst: legacy bolognese app nobody understands and doesn't have documentation coupled with weird API also without any documentation -
236 lines of code in main doing like 400 things that should each be their own function DX
Fucking legacy projects
This is why I drink on the weekends4 -
It drives me Insane that AWS still doesn't support Swift 3 for iOS. We're almost to the point where Apple is going to drop Swift 2 support in XCode and Amazon STILL has not gotten it.
I've started deploying Gateway APIs in Objective-C and linking them to the bridging header just so we can finally move foreword in our company and quit relying on legacy Swift support. Which is something I was really trying to avoid because we don't like mixing languages unless absolutely necessary. It's not a problem, but it's incredibly annoying to me. What IS a problem is having to start new projects already using legacy code from the very beginning.
What is amazon going to do when the next release of XCode comes out? Tell all new customers to downgrade?
Why even offer native Swift APIs if you're going to go this long and still not migrate, Amazon?! -
It's always fucking file encodings breaking these stupid fucking legacy projects. FUCK
Fuck this I'm going to bed. I'll fix it in the morning it's a little past midnight13 -
90% of my time at work is spent debugging and fixing a horrible mess of years-old legacy spaghetti. The only "real" coding I do is my personal hobby projects at home.3
-
Has anyone ever had the joy of dragging their employer kicking and screaming into the 20th century?
I've been here a little over a year, and slowly but surely I'm moving us forward.
We implemented git via GitLab (our it department already had an on premise installation), I've got us up and running with basic pipelines, I'm pushing TDD, im leading the move towards APIs for new development, and I'm implementing new projects to streamline our work, mainly by automating tasks which currently can take hours with hundreds of manual changes.
It's slow going, and there's lots of legacy business critical apps which we won't be able to change, but we're getting there.
If things keep going smoothly then I might even ask for a ride to reflect my benefit to the business, and extra responsibilities I've taken on which are far beyond my official job as an SQL Developer5 -
I think the worst time was when I worked on a work project through the night. It was at my previous employer, I was forced to work on legacy php projects I knew nothing about. Nobody could help me and I was always doing days over tickets which were just a pain in the ass in an old magic framework and a custom build cms :c.
I couldn't motivate myself for days and eventually when the deadline came I worked through the night and committed in the morning, then I jumped into bed. I realized that this was a big sign that I really had to quit, and switched companies several months later.2 -
At the job interview to my current position I was asked the classic ”where do you see yourself in X years” question. I replied something along the lines of that I see myself staying if I feel good where I am and long as I have the opportunities for professional growth.
Now with recent developments it’s looking like those opportunities will be bygone pretty soon. I work on a massive legacy codebase, where with the scarcity of current dev resources and the apparent difficulties of procuring additional personnel to the dev dept, it does look like we’ll be limited to maintenance and simple small scale improvements with no room for meaningful projects. Theoretically I could ask to be moved to another product, but realistically that would both be a dick move well as unlikely to happen, as other projects are fully staffed (and made with technologies there’s easier to find personnel to).
As a consequence of this perceived imminent halt in opportunities for self-development at work, I’ve been starting to look for greener pastures. There are some intriguing ones out there. But then I come here, read some rants and comments, and it always becomes abundantly clear I’m good where I’m at right now. So what of it, if my position won’t enable growth out of the box for a while? I can always develop my skills and knowledge on my free time, and besides, the stagnation won’t last forever... right?12 -
The CEO just made a huge huge push-over to the developers.
He doesn't have any customers/clients and wants us to push our limits to make a Service Oriented Architecture where legacy code is needed to be revived, no documentation, and a single motherfucking mobile developer who has 3 projects already in his 1st month of stay.5 -
So, i started at this company about 4 months ago. So far i mostly worked in existing project and legacy code.
We started a new project for a pretty big client, and i'm the one who's responsible for setting the project up. The last two days i've been struggling with database issues. Finally got the site running locally about an hour ago.
And now i am running into troubles because i don't know how to set up a project yet since i only worked in existing projects.
Great. Can't say i'm not challenged here! -
Hey, uh, fuck reviving legacy projects. Intern here looking at the shit I have to do and pretty much everything's deprecated by now so yeah fuck that I guess.5
-
* break it into elementary steps, small enough to fit into your "estimation time unit", e.g. days or hours.
* estimate those steps for "developing at a leisurely pace" if nothing goes wrong.
* think about "what could go wrong" (list everything!) and adjust values accordingly.
* adjust total amount with experience values, like:
* times 1.2 for every manager
* times 1 to 4 based on which legacy projects i have to touch
and finally:
* multiply with `1+log(t/u,2)`, with `u` being the amount of useful data in the requirement description and `t` being the total amount of data in the requirement description
* sample: with our current "favourite" customer, about 90% of all tickets is garbage, so t/u = 100/10 = 10 => log(10,2) = 3.3 => multiply everything with 4.34 -
The moment when your code is like,
Yeah I'm working, not throwing errors, but not doing anything closely related to the things I should do.
Fuck this construct, I'll recode the whole thing and stop using any two-year old legacy code, for this project -
Current status: Writing a markdown document containing all my tips and tricks for fixing bugs in our apps so we can handover to maintenance. Including files I commonly have to look in, handy keyboard shortcuts, IDE settings and other tools that have made debugging easier. I figure if these guys are having a bunch of legacy apps dumped on them when they have no iOS experience, I should help them out as much as I can before I move projects.1
-
A sweaty furry sodomizing a dead dog would still be less disgusting than the codebase on which I have to work, some highlights are:
- The same class repeated 40 times with little variations instead of using some decent parametrization
- Inexistent encapsulation and separation of concerns, most changes requires to modify and recompile 2-3 indipendent Maven projects
- Abuse of inheritance which instead of being used to create "is-a" relationship as it should be it's used to reuse some methods of a class in another instead of using Spring dependency injection as we should be
It would be understandable in a 20 years old legacy projects but in something which started 2 months ago it drives me mad, I tried to fight to change it but in the big enterprise to which I'm "body-rented" it's impossible1 -
I've got an enquiry for all you devranters. Is anybody here using WPF and XAML in their everyday life at work? If so, is it for legacy or new projects?
I'm interested.3 -
Today I had to spend the whole day fixing a stupid bug in a legacy application in a completely different tech stack than I'm used to...
At my company we have an Internet application running where we can upload a word document and using some mailmerge variables magic, can set those vars and receive the personalised word doc back...
Now this is great, when it's working, and is used in various projects we have up and running... Suddenly the application decides to crap out for no apparent reason and guess who drew the short straw....
Anyhow I ask our sys admin for the password to the server, I remote desktop to it, turns out its a fucking Windows 2008 server...
But wait it gets better, the application, a shoddy mess of c# code, is not under any sort of version control, has to be developed on that same server and to top it all of, I have to follow some obscure barely documented deployment precedure to get my changes live....
So after a lot of cursing on the dev (not working at the company any more) who did the original setup, and hours of painstakingly piecing together how it works and what went wrong and how to fix it, I finally managed to get it working....
After this rant, I'm mailing my technical lead about this in the hopes we can get someone to do it right (yes, I'm that naive)1 -
Perhaps as a tip for the junior devs out there, here's what I learned about programming skills on the job:
You know those heavy classes back in college that taught you all about Data Structures? Some devs may argue that you just need to know how to code and you don't need to know fancy Data Structures or Big o notation theory, but in the real world we use them all the time, especially for important projects.
All those principles about Sets, (Linked) lists, map, filter, reduce, union, intersection, symmetric difference, Big O Notation... They matter and are used to solve problems. I used to think I could just coast by without being versed in them.. Soon, mathematics and Big o notation came back to bite me.
Three example projects I worked in where this mattered:
- Massive data collection and processing in legacy Java (clients want their data fast, so better think about the performance implications of CRUD into Collections)
- ReactJS (oh yes, maps and filters are used a lot...)
- Massive data collection in C# where data manipulation results are crucial (union, intersection, symmetric difference,...)
Overall: speed and quality mattered (better know your Big o notation or use a cheat sheet, though I prefer the first)
Yes, the approach can be optimized here, but often we're tied to client constraints, with some room if we're lucky.
I'm glad I learned this lesson. I would rather have skills in my head and in memory than having to look up things and try to understand them all the time.5 -
Best : Open source projects.
Worst : Legacy proprietary systems. Most of them you can only wish you have documentation and lucky if you are able to run those systems on your computer.1 -
Where and How do you make developer friends.
My coworkers are smart and decent developers but they learned on the job for the job.
But they're not interested in discussing improvements to legacy projects that barely still work until they break and we need to rush to recreate them 'better'.
or sit on a call on the weekend working on spontaneous personal projects that usually die cause another idea came along.
Sometimes I really just want someone I can hop on a discord call with so they can criticize my projects and brainstorm ideas and improvements with me4 -
I'm in a dilemma.
I started this job about 9 months ago and it's really not what I expected. I'm the sole developer in my department that handles applications built around our customer database.
Well it's pretty boring and there is a lot of technical debt with the source code since usually 1-2 people are taking care of it so they never had proper conventions. And we have super old applications running on legacy solutions like cold fusion 🤢
I also receive a lot of problem tickets that never contain enough information to actually do anything and the people don't realize I have no idea what they do or what their business processes are.
The upside is I'm paid very very well for this job > 100 in a place where cost of living is cheap. And when there's no work to do I can work on side projects.
It's really not fulfilling work and idk if I should stick it out. I also don't know where I would head next. There's not very many companies working on cool stuff. Maybe remote work?
Anyone else have a similar story?6 -
A former team lead decided the team should review any open PR before proceeding with their own tasks after their breaks. Any open PR also meant reviewing refinements in an ongoing discussion. Several times, we wasted time for review, coding, and discussing when the second reviewer asked to revert the changes introduced according to the requests of the first reviewer.
Now as a freelancer, in smaller projects, I sometimes have no coworkers to review my code. So, apart from testing, I try to pay more attention to linters, static code analysis and automated coding assistance. I have stylelint, eslint, SonarLint, and possibly some more IDE inspections. For the infamous popular blogging software, I also have a so-called PHP code sniffer that checks all PHP and JavaScript code for compliance with the WordPress coding styles, so finally, I got the team experience back: SonarLint suggests removing unnecessary spaces and reformating my code, which in turn makes PHPCS complain that the code violates the legacy code style. -
Nothing makes me want to work on my own projects more than spending 40 hours a week trying to solve problems in the boring behemoth of legacy code that is my company's app. Doing everything myself seems downright peaceful in comparison.
-
Idk why but this morning I was thinking about this high school elective class where we learned Adobe flash. But specifically 2 instances where I ignored the teacher and did my own thing
1. We were using Sprite sheets and he had us use photoshop to cut out the Sprite to a different layer and manually save each Sprite one by one to disk to use in flash. Some sheets had 50 fucking sprites
So I found a script for Adobe (action script I think they called their Javascript derivative) that exported every layer for me without all the manual clicking. There is probably an even better way. But this worked for how lazy I was back then
2. Our final projects we could do anything but he suggested not doing anything too complicated cause of time constraints and he barely taught is the scrptinh language for Adobe flash so making flash games was almost out of the question.
Me being stupid really wanted to make a working pong game. So I spent too long watching a German (i dont know German) tutorial video I found, and troubleshooting outdated code from that video. And improving things where I could with my limited knowledge made worse cause I wasn't interested in programming and didn't start learning python until the following year
Yeah don't know why I was thinking about those. But I feel it's a good perspective on how far I've come. From hacking together a pong clone with no skills, to being hired to automate and optimize processes and legacy projects -
Anyone used base 12 in a project before?
Read about it on the internet (duo decimal, dodecimal, dozenal, etc) and I wonder if:
* There are useable implementations.
* Actual use cases.
* Have you used it in projects before?
Trivia: before Napoleon raged in Europe, a lot of citizens counted in 12. Think of your clock or legacy money.
I'm especially interested in the use cases. I bet there are implementations, just haven't bothered to Google them yet.3 -
Hey guys, first time writing here.
Around 8 months ago I joined a local company, developing enterprise web apps. First time for me working in a "real" programming job: I've been making a living from little freelance projects, personal apps and private programming lessons for the past 10 years, while on the side I chased the indie game dev dream, with little success. Then, one day, realized I needed to confront myself with the reality of 'standard' business, where the majority of people work, or risk growing too old to find a stable job.
I was kinda excited at first, looking forward to learning from experienced professionals in a long-standing company that has been around for decades. In the past years I coded almost 100% solo, so I really wanted to learn some solid team practices, refine my automated testing skills, and so on. Also, good pay, flexible hours and team is cool.
Then... I actually went there.
At first, I thought it was me. I thought I couldn't understand the code because I was used reading only mine.
I thought that it was me, not knowing well enough the quirks of web development to understand how things worked.
I though I was too lazy - it was shocking to see how hard those guys worked: I saw one guy once who was basically coding with one hand, answering a mail with another, all while doing some technical assistance on the phone.
Then I started to realize.
All projects are a disorganized mess, not only the legacy ones - actually the "green" products are quite worse.
Dependency injection hell: it seems like half of the code has been written by a DI fanatic and the other half by an assembly nostalgic who doesn't really like this new hippy thing called "functions".
Architecture is so messed up there are methods several THOUSANDS of lines long, and for the love of god most people on the team don't really even know WHAT those methods are for, but they're so intertwined with the rest of the codebase no one ever dares to touch them.
No automated test whatsoever, and because of the aforementioned DI hell, it's freaking hard to configure a testing environment (I've been trying for two days during my days off, with almost no success).
Of course documentation is completely absent, specifications are spread around hundreds of mails and opaquely named files thrown around personal shared folders, remote archives, etc.
So I rolled my sleeves up and started crunching as the rest of the team. I tried to follow the boy-scout rule, when the time and scope allowed. But god, it's hard. I'm tired as fuck, I miss working on my projects, or at least something that's not a complete madness. And it's unbearable to manually validate everything (hundreds of edge cases) by hand.
And the rest of the team acts like it's all normal. They look so at ease in this mess. It's like seeing someone quietly sitting inside a house on fire doing their stuff like nothing special is going on.
Please tell me it's not this way everywhere. I want out of this. I also feel like I'm "spoiled", and I should just do like the others and accept the depressing reality of working with all of this. But inside me I don't want to. I developed a taste for clean, easy maintainable code and I don't want to give it up.3 -
Every single morning I despair. I can’t stand this job.
Why pay very highly and get very skilled people to have them working 4 to a support ticket. Doing the most mundane support tickets you have ever seen in your life (mainly updating client contact details)?
And why have such a rigorous recruitment process to get people’s in in the first place?
The company is pissing money away by working like this and all the new starters like me think it’s complete shit.
But the bosses and anyone who’s been here a while think it’s great. Company still is making loads of money so they don’t even care about it.
I’ve never met senior developers who have never worked on a greenfield project in their entire careers until I came here.
I can’t believe how I got suckered into this (was head hunted).
Does anyone have a feel for the UK contracting market right now?
I’m considering the jump but I think I’d have to be looking for remote only contracts because where I live has few opportunities ‘on-site’. Preferably c# / angular.
Is there much competition for roles or is there a shortage of skills in the contractors?
The thought of going into another permanent role that could be as bad as this genuinely keeps me awake at night.
I’m not sure I can go somewhere and then have it in the hands of managers to decide what projects I’m going to do and what tech it will be on.
At any big company there’s going to be tech debt as well as new work. So becoming perm now feels like it’s 50-50 whether or not a new job will just mean being put into legacy stuff for a couple of years or doing something that is actually good.
I’ve been talking various people about roles in government departments (multiple different departments are hiring) and because priorities change none the gov recruiters can guarantee what the work is that they’re recruiting for actually is.
Just that the the big recruitment push is to bring work previously done by consultancies back in house. Presumably because consultancies have been fleecing them.5 -
Usually I come here to rant but this time I want to appreciate a technology which many programmers loves to hate: the old .NET Framework.
It may not be the most cutting edge or performat technology but it makes dealing with legacy code such a breeze.
I had to work on an old .NET Framework 4.5 project and all I had to do was opening the .sln with Visual Studio and I was ready to go, in the meantime Node.js projects unmaintained for few years easily succumbs to missing packages and breaking changes making maintenance a PITA.2 -
February will be the first full year at this company as full time employee.
I've updated so many legacy projects, optimized a lot of workflows as well as built new tools to improve efficiency and remove unnecessarily duplicate projects (sometimes literally only 3 variables were different between multiple projects)
My one co-worker taught himself enough code to do the job but doesn't think like a programmer though he is asking me for help and advice to improve what he does since ive proven i know a little. my other direct co-worker I'm practically teaching a Programming 100 course to them
My direct manager at one point said he was so happy he took a chance on me even though I didn't interview well
I like my job, I find it so much better than my last job which was horribly toxic, and more fun than my first 'real' job as a night shift help desk for basically a warehouse environment.
But I feel under paid sometimes for how much i do and all ive improved in my first year, I have my first yearly review coming up. I'm hoping to get a decent raise for all ive done and I want to somehow go over everything with the HR person to justify it. But I have no idea how to talk about my dev work to them in a way a non technical person could understand. I'm also not sure how the review process will work. Like will my manager be there. Or is it just me and HR, is there a paper I'll be sent to fill before hand,1 -
In the past 3 months I worked on a new frontend project at work using "new things" like vue.js and webpack including Babel polyfills on production for the first time. Now the project is almost done an I've been sent on to other tasks on our older projects to help follow the deadline at these projects.
It is a hard cut to switch my head back to the old legacy code after this long time only working with the new stuff and technologies. I feel much less productive at the moment, because I know how much time I could safe if I just could use the new technologies. But there is now way around this. Finally I now have to maintain Symfony 1.2 and jQuery again instead of building new awesome stuff in this exiting new technologies.1 -
Currently debugging a project that was written over 4 years ago...
At first all was well in the world, besides the ever present issue off our goddamn legacy framework. This framework was written 7 years ago on top of an existing open source one, because the existing one was 'lacking some features' & 'did not feel right'.
Now those might be perfectly fine reasons to write a layer on top of a framework, but please, for all future devs sanities, write fucking documentation and maintain it if you're going to use said framework in all major projects!!
Anyhow back to the situation at hand, I'm getting familiar with the project, sighing at the use of our stupid legacy framework, attempting to recreate the reported bugs...
Turns out I can't, well I get other bugs & errors, but not the reported ones. I go to the production server, where I suddenly do can reproduce them...
Already thinking, fuck my life, and scared for the results... I try a 'git status' on the production server....
And yep, there it is, lo and behold, fucking changes on production, that are not in git, fuck you previous dev who worked on this and your stupid lazy ass modifcations on production!
Bleh, already feeling royally pissed, there's only 1 thing I can do, push changes back to git in a seperate branch, and pray I can merge them back in master on my dev environment without to much issues...
Only I first have to get our sysadmi. to allow pushing from a production server back to our git server...
Sigh, going to put on my headphones, retreat to my me space and try to sort out this shitpile now... -
Just updated one of our age old legacy projects. Customer wanted to discontinue the software for two years...
Codebase was quite solid but I am so sick of it - I keep bolting on bugfixes until it crashes and burns - and I will be happy. -
Right now I feel like a caveman hitting a dead mammoth with a bludgeon and waiting for some miracle to happen. Well, not "some" miracle but the one that makes the mammoth live, walk and mate again.
Working on legacy projects sometimes make me question all my skills. -
Have a freelance job where they require documentation of the code for later development. (+ I'd like to document my personal projects for practice)
Any web devs that could give some pointers on what kind of docs you would like to get if someone hands you a legacy project?
Obviously: comments in code and db structure and relationships1 -
company restructuring is pain
finish current work ASAP
your team is now in charge of some legacy/maintenance codebases and products that another team used to own, but they're getting moved elsewhere
new projects coming in -
This article about the types of legacy code bases you will have to deal with just made my day!
Not only do I have every one it describes but somehow it even made me laugh at thought of each of the std riddled petri dishes of code that I reluctantly maintain... My "Happy Place" is a folder dedicated to reliquary projects I like to look at when I feel sad to lift my spirits and restore hope that one day things will be better.
Do you have any definitions to add or know where to find more? I'm hooked.
Link: https://medium.com/@dylanbeattie/...
Excerpt:
The Reliquary
The reliquary is that one repository full of really good ideas. Clean code. Brilliant algorithms. The OpenID implementation that you optimised until it shone. Classes so beautifully designed and perfectly documented that they’d make a senior architect weep.
You remember the big rewrite? The project that was going to fix everything, only you never worked out how to actually launch the thing, or get any revenue from it? The reliquary is where you’ve preserved it, pickled in revision control like a fabulous museum specimen. A treasury of good code and good ideas; maybe even an entire codebase that was “a couple of weeks” away from shipping before somebody finally looked at the number of critical features the team had somehow forgotten to include and discovered — to everybody’s surprise — that validated XHTML, normalised data models and 95% test coverage are not actually features any of your end users cared about.
Like Buran or the Spruce Goose, the surviving artefacts stand as a testament to the quality of your engineering… and a poignant reminder of just how much fun engineers can have building high-quality stuff that nobody actually wants to use. -
Do you ever feel your job is too demanding compared to other software engineering jobs?
I've worked in two companies for now.
First company, Kotlin microservices and we had QAs, didn't have to write a lot of tech specs and no post mortem or on call at all (not yet atleast), it was just talk to PO, he tells the business requirement, we work together to make tickets, no legacy code so was easy to know what to do for tech, no monolith to handle or anything, much easier, just code and meetings.
Current job is meetings with PO telling you what he wants, have to write a full on tech spec and also know business requirements and product knowledge as the current PO doesn't know anything about how the products work, writing huge tech specs, communicating on requests sent my clients on slack, pretty much always firefighting, the system is so fragile and legacy, coding is actually less its mostly spending hours finding out how this shittt legacy flows work (no docs) , PO pretty much does fuck all, just wants meetings and wants us to do very very stupid tedious low impacts projects. This bundled with oncall and onpoint and the absolute sheer amount of incidents our team is involved in (on average we have 4 a week LOL, varying size but they're all very annoying) and the overtime oncall benefit is so bad too, if you do get paged out of hours, you just get that hour back during work hours. In other companies like friends, you get paid for the whole time you're oncall, whether you get paged or not. I can't go out anywhere on weekends or anywhere at all during on call in case I get paged, which happens a lot. Its a cluster of a mess. This bundled with manager stoll not wanting to promote me to IC3 despite all I've done so far.
My question is, is this more normal than I think it is? Is this just how crap our career can be? Mind you I'm in the UK so not getting those mind boggling US wages sadly either. Have US colleagues in same team doing same job but obviously getting more11 -
Creating a script that switches a global node_module package version (because we have legacy projects mixed with normal ones)
-
Big ass company paying me fat stacks to remake their 3 important legacy projects (hospitals, gov, big companies) into another stack.
Will require me to no-life.
Or chill local medium sized company which creates apps to help museums, education and other wholesome shit.
Feels like i need to choose the big one because "carreer" but i am haunted by all the burn-out horror stories online.
Currently on my way to the latter for my last interview with them.3 -
How do you pick a new language to learn?
I am a C# developer and at work I work on desktop apps and legacy web services etc.
I fancy learning something else so I can have a bit of variety when working on personal projects etc.
I am doing a distance learning degree which has used Java and Python so far, with some PHP and JS etc to come later.
I’m drawn to Ruby as I already have experience there, but I was also thinking about looking at Node as that covers back end and front end all using JS which is definitely useful in general as I look at moving to a more web based role.7