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 - "old project"
-
I've been fairly lucky with my bosses of late since I've progressed in my programming career. But my absolute worst boss was when I first started working in an office environment doing data entry. My boss at the time was terrible, and she was always against innovation or process improvement. She also always tried to make herself look good and taking credit for the accomplishments of others. If she screwed up it was your fault, and she was "always buried in email" so she could never respond to you for pto requests, or escalation of issues between departments. My whole family pretty much worked in various roles in the department and she fired my brother after my mother left the company for no reason, saying he was "sleeping", but I worked right next to him and he's tall and had to slouch just to comfortable see his computer screen since the same manager refused to approve work station improvements for him.
Our workflow was to receive daily spreadsheets of health care claims that we had to manually process and enter into the system. So being the lazy innovator that I am, and trying to find ways I can efficiently work, I delved into studying visual basic and programmed a few functions and tools in excel to analyze, highlight, and process some of the data since the claims on the spreadsheets always had a specific pattern. This was all before I had any formal education in computer science so the program was very basic and clunky but it tripled my efficiency. When I brought it up to my boss to spread it among the rest of our team so they could use it after a short 20 minute training, she struck it down saying any training or use of it would be a waste of resources since it was too technical and complex to be used and if I were to keep improving it or use it I would be fired. It was literally copy and paste from one spreadsheet to the other en masse and clicking a button to sort and fill in the blanks. Eventually I showed it to the director of the department when working on a large data entry project with her, and I was later offered a job as a technical analyst where I was responsible for the codebase that generated the reports for the department and specifically all the reports my old boss used where I would occasionally mess with her to get back at all the crap she gave me and my brother. Since all the reports were blind carbon copied to everyone, I would send out her reports on a delay while everyone else got them on time. It eventually got her in so much crap she had to step down as a manager. She still works in the same company that I started working at again earlier this year, and like the many careers she's ruined she eventually ruined her own within the company 😂5 -
My graduation project partner was strange person
Favorite IDE is VIM
Forget how to use git
But somehow she could code most of the app
I asked what does she do when mistake happens, she answered "delete and write again"
I suggest github but she is "to embarrassed to show her code on internet"
She send .zip file of her code to me
Go to univ library to copy some code because she don't believe random code on internet
Of course verson of code on book in library is too old, but she prefer fix herself
But she is overall good person, so I can graduate next month14 -
Most successful project... What is success?
My first computer at 8 years old was a Commodore64. There was no internet yet, so I used the manual to learn about BASIC and assembly, sound and sprite registers, and created a pretty elaborate RPG. Mostly text, some sprite art, soldered some eeprom cartridges, optimized the code. Spent almost a year on it. An enthousiast magazine picked up on it, revised, QA'ed & published the game, sold a little over 10k samples. I got ƒ0.25 per sale, and I was completely overwhelmed how much candy one could buy for ƒ2500 ($2k corrected for inflation).
More recent:
I was employee #3 at my current company, started when it was worth nothing and the website redirected to a set of Google Forms containing all the logic. I wrote a large part of the first, monolithic backend.
Now there's teams in a dozen countries, and an estimated revenue of a quarter billion.
So obviously my current "project" is more successful.
Still, my current job sucks, the company turned into a desolate passion-free wasteland full of soulless fake hipster zombies and managers who seem to derive sexual pleasure from holding extremely ineffective meetings, endlessly rubbing their calendars together in their bureaucratic orgy of ineptitude.
So, I'm more proud of my C64 game.2 -
“sEniOr tEcHniCiaN”: “I don’t know what Blazor is. I write my projects in ASP.NET. You should just use ASP.NET”
Me: …”Blazor *is* ASP. This project is running on ASP.NET 6.”
“seNioR tEchNiCiaN”: “As previously stated, I don’t use Blazor. I don’t care what version it is.”
Yes, this is a real exchange from my ongoing problems with this idiot.
His attitude is what ticks me off the most.
He doesn’t know what CORS is.
He doesn’t understand that “ASP.NET” covers Blazor, Razor Pages, the old MVC stuff, web APIs, and more.
He doesn’t understand the difference between a web request being initiated from the browser via Fetch and a web request being initiated from the server. (“My ASP site is shown in the browser, so requests to the third party API aren’t originating from the server.”)
And yet has the arrogance to repeatedly talk down to me while I try to explain basic concepts to him in the least condescending way possible.
After going around and around in circles with him, he finally admitted to me that “he doesn’t actually know what the CORS configuration looks like or how to modify it, to be honest.”
I just wanna go home.15 -
During job interview
Me : Am I going to maintain old solution?
Interviewer : Of course not.
2nd day
PM : Please fetch project X from SVN5 -
covid is making life hard again. I can't just stop in the middle of a research project because I can't access the robots anymore. *makes angry noises* I already canceled a human study because of covid, so this feels super unfair.
but you know what pisses me off even more? the govt complaining about numbers being high but not doing jackshit about active disinfection of air and public spaces (China did that, btw) or providing cheap disposable masks for people.
Also, I'm not as much afraid of getting covid as I am afraid of giving it to the head of the department who is a 70+ yrs old genius in his own right.
Fuck.
Fuck.
Fuck.
... This is shit.40 -
start teaching people how and why to delete code instead of teaching them only how to write code
compare functional and object oriented languages as well as high level and low level languages and explain what are advantages of using certain language without going into the syntax
let people do mistakes and don’t punish people for making them but let them explain what happened, if they know what was the cause of mistake it is worth ten times than doing things correctly
mix teams per period of time instead of per project
make showcases how to modify ugly code to pretty one and what are the steps and what patterns people should look after
teach by not showing old stuff but showing where old stuff exists in modern things and why it’s important there and what’s the purpose of doing things certain way instead of flat theory based on ancient examples1 -
Being me. Fresh out of UNI with a three year bachelor in CS, no work experience. Starts in a big tech company with a lot promise of exciting project etc. Starts in 3 projects with one lead dev and two senior devs.
First month begins. I start by setting up my local environment and read documentations, which is fairly irrelevant and old. One of the senior devs quits.
Second month begins. Lead dev quits as well and the other senior dev having sick leave for the rest of the month. Basically I'm on my own, but thankfully not responsible for the projects.
Third month begins. The other senior dev is still sick. Nobody to help. Now I'm forced to talk to customer with a lacking knowledge of projects. Nobody knows what is going on. Hopefully my other senior dev will come back.
Fourth month begins. My senior have quit as well. I've been assigned as responsible of all three projects now. FML.
Fifth month begins. I begged my manager for help. Got a junior dev to help me with one of the projects. He and I still have no clue what we should do.
What a shitty start to a career as a developer.
Anybody having a similar experience?5 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
Just wanted to leave a little encouragement that can be hard to find on a 'rant' board: As a 40 year old dev doing this for 16 or more years... I'm not jaded, I still have a burning enthusiasm for software dev, I'm lucky to be able to pursue this career. Have I been in some shitty situations and health damaging levels of stress? Yes at times, and I've ranted about them here. This career isn't an easy ride, ultimately there's a reason it's well paid - for all of its physical ease it's mentally and often emotionally hard. But, I still find the highs match the lows, there's still thrill in the chase to make the project and product work right. Only advice I would give is be prepared to shift down a career gear for a while when you have kids. That shit is hard. Keep having fun people, we work with machines that extend and force-multiply our minds, what a time to be alive!9
-
For the first time I am feeling like.... I hate my job.
Agile and Scrum can be fucked, but at least there is a work methodology. I was hired by a company being run the old school way.
These guys never heard of git??
- Fuck you. We never used git and neither should you.
Client company does not want to give me push/pull access to their gitlab instance??
- Fuck you, you can use our RDP server for that.
Project planning features be damned, they've got email, Teams and videocalls!
Can I develop in peace? Fuck no, I have to give IT support to the guy who hired me.
Our timeline is defined IN A FUCKING WORD DOCUMENT FOR FUCKS SAKE. I can't connect Issues to milestones in a Word doc
Oh, and the customer is running everything on prem. If there is a need to scale up, FUCK ME. I should have specified 20 machines from the get go or gtfo. We're using 2 machines to run 8 different services that are going to be ingesting and computing data.
They want state of the art on a cheapskate.
And I have nothing else lined up at the moment. Although I am soon to renew the contract... This contract binds me with professional responsibility for a project being ran by people who do not give a single fuck about optimizing the work process.3 -
Many people were hired to work on new product, but no one have told them that for one or two quarters they will have to maintain 20 years old project. I was ranting about this, but in the end accepted my fate, wiped tears with money and moved on. However one of devs took another path. When he was asked to work with .aspx and jquery 1.X instead of react, he just said : "Not going to happen" and left the building.5
-
This was interview in so called startup.
BTW I don't get point in company calling themselves as startup when they are 5-6 years old, just call your self small sized company.
1 - online interview with HR, Normal.
2 - online technical interview - 1 hour of discussion with Lead.
3. On-fucking-site technical interview - ~1 hour of detailed technical discussions.
4. Coding task- submitted successfully
5. Zoom meeting to discuss on coding task - just told it was good and started discussion on their dead project which was unrelated to job position but I've worked with that kind of thing so it was fine.
6. Trial Day Onsite - Gave me to draw a fucking BPMN chart - fuck you motherfuckers - I knew it was waste of time.
Fuck this kind of Hiring process which takes >1.5 month.9 -
So, I'm stuck...
I'm very passionate about technology. Coding and development and soldering together some raspberry pi or arduino project gets me all swept up in a false sense of belonging & sense of purpose. It's just always been my biggest passion...
As well as it has simultaneously been an elusive dream, driven away by circumstances and some pretty shitty decision making on my end... But, it's always a recurring theme and source of illumination through some dark moments... Abandonment of my dreams isn't an option.... I spent 10+ years on heroin and somehow still have the ability to dredge up some hope, surely I can finally get my foot/hand/ball sack in the door of my dreams... right??
Anyways, to sum up my ability in regard to technology/coding etc.... I'm a highly motivated and passionate Beginner-intermediate level tech enthusiast with a little html, css, Java, markdown/git know how, advanced soldering/PC building ability... With a high need to remain studious and get my ass balls deep in some computuh' learnin' circles.
In all seriousness, I really would like to be graciously provided with some communities and groups of folks that would assist me upon my path, and possibly ways I could slide into some sort of tech based career/job while amassing my IT abilities.
I am willing, but incapable of starting off in the right direction & in need of some guidance to firmly trod on towards my goals...
PS: I'm totally not a 32 year old man desperately in need of some guidance and reassurance... cause that'd make me some kinda loser or something... pfffft... I won't be 32 until 06/08.... so all is well and good 👍
Thanks in advance peeps. Later!17 -
I just told my director that the solution for a particular problem that we have involves Machine Learning. For which I had already applied a VERY small app to make sense of an old database to make a NEW one since the old one broke every notion of how a db is supposed to be set (meaning that I recreated the project from scratch)
And on the same message I told him that I was not willing to do it using M.L since I was not paid enough to bring this level of heat to the institution.
Normalize telling mfkers that your skills are worth more.
I am paid well, but not enough to out of the blue tell mfkers that my ml based algo can save them./
Fuck em, fuck em hard, fuck em good, fuck em without even using spit.
I don't do this shit because I am paSSiOnate, since there lies the trap: "I mean, I love it so I guess I can do it, I do this on my free time either way" <---- no bitch, shit is expensive on the real world, don't do that wtf is the matter with you? *slaps* companies don't see it as a: "oh shit, employee X can do this! value!" they see it as "greaaaaat, I can save money on this", so fuck em.
Normalize it, y'all are wizards, advisors of kings, no company today survives without I.T. About motherfucking time y'all bitches take this shit by the horns and do with it what you want.
People form third world countries that need work: shit don't apply to you, currently, but we will make it apply to you on the rising, my kings, stay strong.4 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
Stress made me fall into old habits of instead of saying stop and letting my team now that I was falling apart (not realising it myself even) I just kept saying "Yes, I fix that." to every single request that was made in the project.
The closer we got to the deadline, the more I hyperfocused and ignored the signs. I just kept working. The last two days I didn't even sleep.
Of course the launch botched. I finally broke down and both my mind and my body have given up, since yesterday I'm in a mental feedback loop causing continuous anxiety attacks and migraines. I literally CAN'T do anything but trying to not go back into fight- or flight mode and remember to breathe.
I FINALLY made my project manager aware (something I should have done days ago) that I am incapacitated and now I am waiting for medication (Oxazepam) to be picked up at the pharmacy by my husband.
I almost literally worked myself into the ground.
I've been here before. Never again.
This is what happens if you don't listen to your mind and body and put up a white flag in time.11 -
Installed SonarQube and Snyk on the CI/CD of a 2.5 year old project that only had a linter enabled previously.
Practically zero problems found. One minor problem (same code in different branches), a few false positives, and a few possible problems in dependencies that I have no control over.
Now wondering:
Am I really that good or are those tools just shit?10 -
For the Project Management exam, my university requires us to install a program on our PERSONAL laptops that is meant to take over the control over the entire system during the exam, monitor any “suspicious activities”. The software is closed-source (it’s called Schoolyear Exams), does god-knows-what in the background, takes the control over the entire system and can be summoned through any Chromium web browser.
Don’t get me wrong, I get that you want to make sure nobody is cheating - but at this point, I’d rather write it with pen and paper. Or just provide us with computers for the time of exam.
I decided to whip out my old laptop instead, installed a Windows 10 on a separate SSD, and installed that software on it.
Also it’s very amusing that this software is also mandatory for the Linux exam… But the program can’t run on Linux (it’s Windows and Mac only and doesn’t even support M1 chips).
EDIT: typos12 -
It has been a long long time since I posted, a lot has happened the past couple of months.
I lost my grandfather, I got a nice dev job and God I miss ranting here. I finally published my side project and all I have to say is
AWS is a b*tch! But beautiful at the same time, had to learn a lot the old way (trial and error).
I don't have any anime pictures as I've changed phones recently but I find this picture just as awesome.
Hope you are having a great day ranters.1 -
I recently started working on a 3 months old project, that was outsourced to two Indians genius. One of them left just before I arrived.
I had the chance to discover those guys were not using any version control system, just exchanging a zip file. I don’t even talk about the codebase, never seen such a mess …
Even better the project managers, were not using any IT program to follow the project advancement, but just Excel!!!
After a few days I realised that the remaining dev was not committing anything, the guy was always lying, (so many people died around him + some emergencies)
So, the guy got fired, but don’t worry management found new genius to save the project 🙂
Can someone tell me if outsourcing is really working?7 -
Client: We are completely unable to plan a construction project successfully. We want you to use AI to do all of our project planning for us. Our requirements are that instead of needing to spend any money or time planning we just want to press a button and have a computer instantly put together all of our project plans for us. The program also needs to identify optimizations on it’s own and change all related plans enterprise-wide. All copies of the plans should be able to be kept up to date at all times so we’re never looking at an old plan again. We also want the ability to print.
Dev: …11 -
This was a long time ago, when I was an 18 year old junior dev in my first job and still studying at college part of the time.
The lead programmer saying things like “we [meaning the experienced devs] are alright if this project goes wrong but you need to prove that you can deliver because you could be out of a job”.
Thanks. Mofo set me right up for lasting confidence issues.
Less than two years later I was killing it when the language they used became object oriented. That asshole couldn’t understand any of the concepts.
That feeing of being out of my depth has lingered though.2 -
I have been working on this software for 3 years now. The code base was a working prototype made by my boss before I came, not more, not less. Php + Angular. Have been refactoring a lot, backend is backed with hundreds of tests now, frontend still lacks a lot. Still a lot of programm structures are still the same weird ones my boss once created in a rush between two meetings while learning Angular to get the prototype finished. Now it's used in production which makes hard to refactor, because we have to maintain backwards compatibility. Neither the parts I added or refactored completely are satisfying, because they are built on this structures, because i never got any feedback for anything I decided and because I changed my own paradigms over time.
So I am all alone on this project. All genuinly new projects are assigned to the new team members (i was the first one, no we are five plus my boss) because I wont have time, have to maintain the old one. So I never can do something new which is quite frustrating.
I did a little side tool, the only thing I invented and did completely by myself in our repertoire - and now some stakeholder shows big interest onto this. Instead of giving me the task to make a real project from this my boss wants to give it to them to develop it. Why? Because I need more time for the main application.
Also the more the software is used the more bug tickets and feature requests come. I was crying for help for months but the others had appareantly more important stuff to do.
This might be true to some extend. Yesterday we had some kind of crisis meeting and my boss wanted again to assing pur junior to help me, who has a shit load of other things to do and is a student. I insisted that this would not be enough, and one of the fulltime devs has to get involved because the thing is our core application and I am only part time btw. So my boss said we wont decide today but one of them should do it. They should have some time to figure out who which is understandable but it's not that I didn't keep saying this for months. Now they are all like whimp whimp when I have to do php i will quit. The new projects are all typescript, with node backend if any. But alas, one of them even said yesterday he doesn't want to do js anymore. Okay... but... this is our tech stack then get another job allready?
And I should do the same probably. But then again I feel very sorry for my boss who helped me in very dark times of corona and more. If both of us leave, the project he worked on for decade (including convincing poeole, collect money..) might be suddenly at it's end while he is so exited about it's access today...
I also get insecure if it's really that they hate php so much or that they don't want to work with me personally because maybe I am a bad team Player or what?
I experienced the same at my old workplace, got left alone with big parts of the project because they didn't want to do php and js in this case and it ended up five devs doing the python backend and me doing the frontend and the php cms part all alone. Then I quit and now everything seems to happen again.
And then again I think I am only fucked up so hard by this stuff because I do not really like being a developer at all. I only do it for the money and because I am good at it (at least i think so. Nobody ever bothers to ever to read my code and give me feedback, because you know, php and js). So I guess I would hate any other job in the field maybe likewise?
This job *is* convinient, salary, office
position, flexibility could not be better. At the end of the day it's not that stressfull. And i don't have any second of freetime (due to family) or energy i could offer a new and more demanding employer, can't work over time or even take a fulltime position, can't home office, can't earn less, can't travel very long to the office and especially can't go back to school to learn something completely new. Some of these constraints are softwe then other naturally but still my posibilities at the Moment are very limited. That might change in about five years if the family situation changed. So it would most likely be reasonable to stay until then at my current job? And bear being alone with this app, don't getting involved on any new project, don't learn anything new, don't invent anything.
There was one potential way out, they considered offering me PHD position to the upcoming ml part of the project... But I learned that I would attend to a bunch of classes at university first, which i would like to, but I don't think i have the time.
I feel trapped somehow. I also feel very lonely in the Office because those fucktards keep saying in home office.
Man, I don't want to go to work today.6 -
I have been keeping this inside for long time and I need to rant it somewhere and hear your opinion.
So I'm working as a Team Lead Developer at a small company remotely based in Netherlands, I've been working there for about 8 years now and I am the only developer left, so the company basically consists of me and the owner of the company which is also the project manager.
As my role title says I am responsible for many things, I maintain multiple environments:
- Maintain Web Version of the App
- Maintain A Cordova app for Android, iOS and Windows
- Working with pure JavaScript (ES5..) and CSS
- Development and maintenance of Cordova Plugins for the project in Java/Swift
- Trying to keep things stable while trying very hard to transit ancient code to new standards
- Testing, Testing, Testing
- Keeping App Stable without a single Testing Unit (sadly yes..)
- Just pure JavaScript no framework apart from JQuery and Bootstrap for which I strongly insist to be removed and its being slowly done.
On the backend side I maintain:
- A Symfony project
- MySQL
- RabbitMQ
- AWS
- FCM
- Stripe/In-App Purchases
- Other things I can't disclose
I can't disclose the nature of the app but the app is quite rich in features and complex its limited to certain regions only but so far we have around 100K monthly users on all platforms, it involves too much work especially because I am the only developer there so when I am implementing some feature on one side I also have to think about the other side so I need to constantly switch between different languages and environments when working, not to mention I have to maintain a very old code and the Project Owner doesn't want to transit to some more modern technologies as that would be expensive.
The last raise I had was 3 years ago, and so far he hasn't invested in anything to improve my development process, as an example we have an iOS version of the app in Cordova which of course involves building , testing, working on both frontend and native side and etc., and I am working in a somewhat slow virtual machine of Monterey with just 16 GB of RAM which consumed days of my free time just to get it working and when I'm running it I need to close other apps, keep in mind I am working there for about 8 years.
The last time I needed to reconfigure my work computer and setup the virtual machine it costed me 4 days of small unpaid holiday I had taken for Christmas, just because he doesn't have the enough money to provide me with a decent MacBook laptop. I do get that its not a large company, but still I am the only developer there its not like he needs to keep paying 10 Developers.
Also:
- I don't get paid vacation
- I don't have paid holiday
- I don't have paid sick days
- My Monthly salary is 2000 euro GROSS (before taxes) which hourly translates to 12 Euro per hour
- I have to pay taxes by myself
- Working remotely has its own expenses: food, heating, electricity, internet and etc.
- There are few other technical stuff I am responsible of which I can't disclose in this post.
I don't know if I'm overacting and asking a lot, but summarizing everything the only expense he has regarding me is the 2000 euro he sends me on which of course he doesn't need to pay taxes as I'm doing that in my country.
Apart from that just in case I spend my free time in keeping myself updated with other tech which I would say I fairly experienced with like: Flutter/Dart, ES6, NodeJS, Express, GraphQL, MongoDB, WebSockets, ReactJS, React Native just to name few, some I know better than the other and still I feel like I don't get what I deserve.
What do you think, do I ask a lot or should I start searching for other job?23 -
I think the sleep deprived me is finally cracking under the weight of incompetent assholes.
We just launched a major project in some weird cocktail of Agile slapped with MVP and release to the wild in a waterfall, but it was premature, premature in the sense QA hasn't even finished their side of things, but because some fuck with with "manager" in their title decided they have burnt through the budget with incompetence and scrapped an entire element of the project and outsourced just so they could make a shittier version that doesn't even fucking work.
How hard do you want to fail before you will start listening to the people that now have to work around the fucking clock to clean up this horse shit of a mess.
I'm literally arguing over field mapping with multiple 3rd parties, when the fucking requirements state WTF this is suppose to look like. All because they didn't validate or test their own shit.
Why is EVERY FUCKING cock head in this industry a waste of space and cash! Is it really to much to ask for 1 fucking project to fucking go live that actually fucking works where I don't need to work 2 weeks straight (including weekends) after going live just to be sure that what shit does hit the fan isn't going to create a SEV 1 issue...
Sorry, I'm pissed at the incompetence of others I need to deal with on a daily basis. It's not like this field is insanely hard. A little attention to detail and self validation, verification goes a long way. But clearly that's a rarity.
Once this shit is stable and actually works, I'll be pulling out the mop to clean up half this shit just so it actually works.
Oof, I'm getting to old for this bullshit.4 -
So about two months ago in my consulting firm I was asked to replace a colleague on a project (node and Angular). The project is only a few months old but it’s already a total clusterfuck. DB is very poorly designed. It’s supposed to be a relational database but there’s not a trace of a foreign key or any key for that matter and I’ve seen joins like tableA.name = tableB.description (seriously, that’s your relation??). The code is a mess with entire blocks of code copied from another project and many parts of the code aren’t even used. He didn’t even bother renaming variables so they would make sense in the context they were shamelessly thrown into. The code is at best poorly typed if not typed at all.
During our dailies I sometimes express my frustration with my other colleagues as I very politely allude to my predecessor’s code as being hard to work with. (They are all “good friends" with him). I always get the same response from my colleagues: "yeah but you’ve gotta understand Billybob was under a lot of pressure. The user stories were not well defined. He didn’t have time to do a proper job". That type of response just makes me boil inside.
Because you think I have time to deal with this shit? You don’t think I’m working with the same client and his user stories that are barely intelligible? How long does it take to write type definitions for parameters going into a function? That’s right, 30 seconds at most? Maybe a minute if it’s a more elaborate object? How much time do you think you’ll save yourself with a properly typed function or better yet an interface? Hard to tell but certainly A LOT MORE than those 30 seconds you lost (no, the 30 seconds you INVESTED) in writing that interface!!!
FUCK people with their excuses! Never tell me you don’t have time to do a proper job! You’ve wasted HOURS of my time just because you were too fucking lazy to type your functions, too lazy to put just a little more thought into designing your tables, too lazy to rename a variable so that it’s name actually makes sense where it’s being used. It’s not because you were short on time. You’re just lazy!
FUCK!!!!!!4 -
FUCKING HATE VUE 3
It's pointless, it's not an incremented version of Vue 2, it's basically a completely different framework, probably one nice to start a project with... But migrating from an existing Vue 2 project to Vue 3...
What the hell were they thinking!
first, setup() with all the logic and functions in it DOESNT MAKE ANY SENSE to me!
second, your old DEPENDENCIES NO LONGER WORK!.. good luck finding replacements for EVERYTHING, and do the necessary adjustments to work with the LASAGNA CODE YOUR PROJECT HAS BECOME!!
PS: the update/upgrade PR has almost 300 changed files!!!!19 -
To finish my photography portfolio website and get it online. I've been putting this off for YEARS. Just started again (and from scratch) and I've been making some progress for the last couple of days. I don't want to even look at that old project I scrapped, or maybe I will once I finish (read: publish) this one.
My problem before was that I was always looking at the big picture and was trying to figure everything out in one go.
In contrast with that, I now figured out a relatively simple and straightforward way to start off with no back end at all and just use static resources instead (with some logic to parse them every time I "upload" new stuff), which should be fine even in the long run if I end up being too lazy and/or busy to do the back end. In general, I now try to tackle small tasks one by one (even if I don't always write them down and/or track them) and realise that it's better to be done (even not in the best way I imagine it) than to not be done at all. It's as if I learn how to do stuff properly for the first time. Oh, well...5 -
There is a commercially sold ERP solution that has it's DB schema in excel and Other documentations in MS Word. And its not even properly structured, no schema diagrams, last updated for a 4 year old major release 😒😫.
I have to develop a custom module for it and that requires building an ActivexDLL Project in VB fucking 6 😭😭 .
VB6
Unstructured Documentation
Legacy code
Incomplete documentation
FML
Tell me if you want ss in comments.5 -
So, I've had a personal project going for a couple of years now. It's one of those "I think this could be the billion-dollar idea" things. But I suffer from the typical "it's not PERFECT, so let's start again!" mentality, and the "hmm, I'm not sure I like that technology choice, so let's start again!" mentality.
Or, at least, I DID until 3-4 months ago.
I made the decision that I was going to charge ahead with it even if I started having second thoughts along the way. But, at the same time, I made the decision that I was going to rely on as little external technology as possible. Simplicity was going to be the key guiding light and if I couldn't truly justify bringing a given technology into the mix, it'd stay out.
That means that when I built the front end, I would go with plain HTML/CSS/JS... you know, just like I did 20+ years ago... and when I built the back end, I'd minimize the libraries I used as much as possible (though I allowed myself a bit more flexibility on the back end because that seems to be where there's less issues generally). Similarly, any choice I made I wanted to have little to no additional tooling required.
So, given this is a webapp with a Node back-end, I had some decisions to make.
On the back end, I decided to go with Express. Previously, I had written all the server code myself from "first principles", so I effectively built my own version of Express in other words. And you know what? It worked fine! It wasn't particularly hard, the code wasn't especially bad, and it worked. So, I considered re-using that code from the previous iteration, but I ultimately decided that Express brings enough value - more specifically all the middleware available for it - to justify going with it. I also stuck with NeDB for my data storage needs since that was aces all along (though I did switch to nedb-promises instead of writing my own async/await wrapper around it as I had previously done).
What I DIDN'T do though is go with TypeScript. In previous versions, I had. And, hey, it worked fine. TS of course brings some value, but having to have a compile step in it goes against my "as little additional tooling as possible" mantra, and the value it brings I find to be dubious when there's just one developer. As it stands, my "tooling" amounts to a few very simple JS scripts run with NPM. It's very simple, and that was my big goal: simplicity.
On the front end, I of course had to choose a framework first. React is fine, Angular is horrid, Vue, Svelte, others are okay. But I didn't want to bother with any of that because I dislike the level of abstraction they bring. But I also didn't want to be building my own widget library. I've done that before and it takes a lot of time and effort to do it well. So, after looking at many different options, I settled on Webix. I'm a fan of that library because it has a JS-centric approach. There's no JSX-like intermediate format, no build step involved, it's just straight, simple JS, and it's powerful and looks pretty good. Perfect for my needs. For one specific capability I did allow myself to bring in AnimeJS and ThreeJS. That's it though, no other dependencies (well, at first, I was using Axios because it was comfortable, but I've since migrated to plain old fetch). And no Webpack, no bundling at all, in fact. I dynamically load resources, which effectively is code-splitting, and I have some NPM scripts to do minification for a production build, but otherwise the code that runs in the browser is what I actually wrote, unlike using a framework.
So, what's the point of this whole rant?
The point is that I've made more progress in these last few months than I did the previous several years, and the experience has been SO much better!
All the tools and dependencies we tend to use these days, by and large, I think get in the way. Oh, to be sure, they have their own benefits, I'm not denying that... but I'm not at all convinced those benefits outweighs the time lost configuring this tool or that, fixing breakages caused by dependency updates, dealing with obtuse errors spit out by code I didn't write, going from the code in the browser to the actual source code to get anywhere when debugging, parsing crappy documentation, and just generally having the project be so much more complex and difficult to reason about. It's cognitive overload.
I've been doing this professionaly for a LONG time, I've seen so many fads come and go. The one thing I think we've lost along the way is the idea that simplicity leads to the best outcomes, and simplicity doesn't automatically mean you write less code, doesn't mean you cede responsibility for various things to third parties. Those things aren't automatically bad, but they CAN be, and I think more than we realize. We get wrapped up in "what everyone else is doing", we don't stop to question the "best practices", we just blindly follow.
I'm done with that, and my project is better for it! -
Hey! This is a followup to my last story.
TL;DR: I thinking of quitting my old job, got an offer at a startup, about the same pay, but much better working conditions.
First of all, the meeting with my lead. It was a performance report on her side to me, and I got 100 to 110% in performance in all points. My lead said "this team without you wouldn't be this team anymore" - which makes me feel a little bit bad for her if I decide to quit. She is a great team lead, but I don't belive the old company is worth my time anymore.
Now to the new company. Shortly after that performance report meeting, I had a call with the ceo, and what do I have to say besides: What a cool dude. He listened to me, asked me questions about my previous jobs (not just as programmer) and so on. But because first looks are deceiving, I went to their office last thursday. And wow. Their are exactly what I imagined them to be. Cool, young folks, 100% tech enthusiasts, and open minded.
One of the new hires in the new company wanted a 6 months internship between his studies. Instead they offered him a full time job - for the 6 months. They even offered me to pay back my scholarship that I will own my old company for leaving early. This is awesome.
The only things that will be worse than my old job are, that I have to negotiate payment instead of yearly increases, 4 days less paid vacation, so only 26 days, and 40h weeks. And they have no workers council, which isn't good, but it's not the worst either.
I got them fixed on 57.000€, not including an up to 10.000€ annual bonus. The way you achieve your bonus seems good to. It's split in two parts, internal and external bonus. Internal bonus is when you engage with internal events like tech calls, sharing your knowledge on your main IT topics, etc. External Bonus is a bit more complicated, but also straight forward. You work on projects for customers, and if you have less than 3 weeks a year that you dont participate in an project, you get the full bonus.
Last friday, I filed a request for a certificate of employment from my current team lead, this is odd for her because I have never done it before, and she asked why I requested it. I said to her that we can talk about it, and she agreed but didn't call me, yet.
Lastly, another good friend of mine will be employed by my team soon, but for a fraction of the payment that I currently receive! He is doing the exact same work, and even worse, he is doing project managment for his main developer project too! And is getting less paid... I just cant...
Yesterday we needed to update a few cloud instances, the only other person who knows about setting up CICD and our OpenShift Containers than me is only in part time and works two days a week, his trainee didn't know anything, so it's up to me. This isn't hard or anything, but it shows that this system our mangement maintains will fail soon, maybe even with me going? I sure hope so tbh.
One of you guys said, I should go to my team lead and negotiate a higher pay, but the truth is, that because we are a big ISP we have an collective agreement for payment and are grouped by tasks (which is bull shit btw, because I'm doing tasks much higher paid than currently). This also means that I cannot simply jump in another group, and can only increase my current pay to about 115%, which is done automatically every year by 5% up to 115%. Anything above is considered extra, but I don't think they will go with it.
I will decide this week about my future at the old company, but I really don't know what to do...2 -
There are a couple:
A system that updates user accounts to connect them into our wifi system by parsing thousands of processing files written in Clojure. The project was short lived and mainly experimental, It has complete test cases and the jar generated from it is still purring silently on the main application. It was used to replace an $85k vendor application that made no fucking sense. The code has not been touched in 2 years and the jar is still there. The dba mentioned the solution to the vendor, the vendor tried buying it from me, but being that it belongs to the institution nothing was touched, still, it got the VP's attention that I can make programs that would be bought for that level, it caught his attention even more when I showed him the codebase and he recognized a Lisp variant (he is old, and was back in the day a Fortran and Cobol developer)
A small Python categorical ML program that determines certain attributes of user generated data and effectively places them on the proper categories on the main DB. The program generates estimates of the users and the predictions have a 95% correctness rate. The DBA still needs to double check the generated results before doing the db updates. I don't remember how I coded it because I was mostly drunk when I experiment on the scenario. It also got the attention of the VP and director since the web tech manager was apparently doing crazy ML shit that they were not expecting me to do, it made them paranoid that I would eventually leave for a ML role somewhere, still here, but I want more moneys!!
A program that generates PDF documentation from user data, written in Go, Python and Perl (yes Perl) I even got shit from the lead developer since I used languages outside of their current scope of work. Dude had no option but to follow along with it :P since I am his boss
Many more. I am normally proud of my work code. But my biggest moment is my current ntural language processing unit that I am trying to code for my home, but I don't have enough power to build it with my computers, currently, my AI is too stupid, but sometimes it does reply back to my commands and does the things I ask it to do (simple things, opening a browser, search for a song etc) but 7 times out of ten it wont work :P -
I propose renaming the title "project manager" into "plim". Why? Well, there is an old soviet nursery rhyme:
I came up with a new word
A funny word called Plim
And I repeat it over:
Plim, Plim, Plim!
It jumps around shouting
Plim, Plim, Plim
Nobody cares about it
Plim, Plim, Plim -
Finally got rid of my old job I ranted about so much. Started a new one on Monday. A bit anxious and terrified (there is a lot to learn) but it feels good. The team is fun and they know what they are doing. BUT most importantly: they know how to plan projects and know how to intervene if a project is about to run out of resources. NICE.
I'll keep you posted on how it goes3 -
The universe has taken a cactus.
It proceeded to gift the cactus with a toxin that greatly enhances the stimulus of pain.
After the universe watched it's miraculous creation it decided to shove it up so far my arse that my gag reflex turned on and I puked a lot of cactus.
Didn't sleep well, weekend hardware migration finish, today an old server got moved.
Some part, most likely the redundant PSU, had a short circuit - decided to take the switches out... Which are the only non redundant hardware...
There was only one critical system in the whole rack, that was one redundant firewall.
Guess what happened..... Naaaa?
*drum roll*
For whatever reason, the second firewall didn't kick in, so large part of internal network unreachable as VPN was on the firewall.
:thumbsup:
That's not cactus level yet.
Spontaneously a large part of the work at home crew decided to call, cause getting an email wasn't enough.
So while all the phones were ringing and we had the joyful fun to carefully take apart a whole rack to check for possible faulty wiring / electric burns / hardware damage and getting firewall up and running again...
Some dev decided to run a deployment (doable as one of the few working at the company at the moment -.-).
I work from home, but we had a conference phone call running the whole time so I could "deescalate" and keep others up-to-date. So me on headphone with conference call, regular phone for calls, while typing mails / sms for de-escalation.
Now we're reaching cactus level, cause being tortured by being annoyed out of hell by all telephone ringing, the beeping of UPS (uninterruptible power supplies), the screaming of admins from the server room and the roaring of air coolers…
Suddenly said dev must have stood in the midst of the chaos… and asked for help cause "the deployment broke, project XY is offline"...
I think it was the first time since years that I screamed at the top of my lungs.
Bad idea (health issues)… but oh boy was it a pleasure to hear my own voice echo through the conference speaker and creating an echoic sound effect.
It was definitely worth coughing out my loungs for the next hour and I think it was the best emotional outburst ever.
I feel a bit sorry for the dev, but only a tiny bit.
After the whole rack thing, the broken deployment fixing and the "my ears are bleeding and I think I will never be able to talk again" action...
We had to roll out several emergency deployments to fix CVEs (eg libexpat).
This day was a marvelous shit show.
I will now cry myself to sleep with some codein.1 -
Seriously guys, how do you deal when remotely collaborating with lets say not the most motivated and competent devs?
Our scrum team got formed about 6 months ago from leftover devs of other teams, choosing a couple competent devs at the core and other devs who were kinda gotten rid of by their old teams, and after 6 months of working together I can see why.
Situation is that we are 7 devs in our team and 4 of devs are not pulling their weight. They are seniors on paper, but in reality not really.
They rarely take something complex to work on and even if they do, they make sure they take as much time as possible. Two of them are contractors who I imagine decided to treat the job as a paycheck and nothing more. There is no initiative, no push to make things better and in general attitude is to do bare minimum: only what is being asked and then delaying the hell out of tasks.
Im not exaggareting: Im talking about every possible way of dragging out the tasks: delaying communication, sitting around for a few days while not asking for new tasks to work on if they are blocked, also avoiding standups. Working for days on very basic comments in their MR's. Getting "sick" for a couple days on deadline when things get tough, so that someone else would come in, refactor and save the day. Once or twice it could be a coincidence, but nowadays I can already guess ahead of time what kind of trick they will pull now.
Our project is an android app where we have to support few different tablets, so the most recent new trick that I witnessed is devs avoiding hardware delivers, sometimes for months. Idea seems to be if you dont ping your team that you dont have hardware, then you can avoid working on related tasks with that hardware.
Worst part is that they get away with it. Our teamlead is a senior dev who is first time teamlead, doesnt code anymore and doesnt want to rock the boat. He is the type of teamlead who sets arbitrary deadlines, makes it sound that they are urgent and takes a few days off in the middle of chaos just before deadline. Restrospectives don't help at all and if I try to bring up stuff directly to him he tells me to bring it up during retrospectives. We discuss issues, rant a bit ant then continue carying on like nothing happened and nothing changes.
So little by little in the past 6 months we came to this point where 2-3 devs are carrying the weight of the team and are in a constant crunch mode, while others are allowed to slack. Its becoming ridiculous.
Problem is that this is starting to affect our morale. Only way that is left to keep my sanity right now is to pull away sometimes and also slack. Then I come back at full capacity, give my best for a couple weeks until I have to go and fix some basic leftover task that has been purposefully dragged out for 2 months and left unfinished, then I just want to scream and I know that its time to disconnect again.9 -
i had an epiphany today, in a discussion with the software architect of our new project.
i'm having the epic job to design & implement a prototype for a C++ library in a new software project and collected some inspiration in our "old" software, where i'm maintaining the module that fulfills the same functionality (i thought). i've been maintaining this module for around a year now. i analyzed the different features and stuff to consider and created a partial model of the new library.
when i showed it to the architect today, he was like "oh my god, no no no, you don't need all this functionality, this shall not be part of the new library!"
this was the moment when i realized how deeply fucked up the code base of the old module is.
imagine it like this:
you want to automate the process of making yourself a good ol' cup of coffee.
the reasonable thing would be to have
- a smart water boiler where you set parameters water temperature and amount of water to be fetched from the water supply
- a smart coffee bean grinder where you can set type of beans, amount of beans and grinding fineness
- a component where water and ground coffee are joined to brew the coffee, where parameters like duration, pressure etc. are set
- a milk tank where amount of milk, desired temperature and duration / speed of foaming can be set
- a sugar dispenser where amount of applied sugar can be set
- optionally, additional modules with spices, syrup, ice cubes, whatever for your very personal coffee experience
on requesting a coffee, you would then configure and orchestrate all components to your wishes to make you a fine cup of coffee. you can also add routines like "makeCappucchino()", "makeEspresso()", or whatever.
our software is not like this.
it is like this:
- a smart water boiler consisting of submodules that know how to cook water for e.g. "cappucchino with sugar" or for "espresso without sugar, but with milk and ice cubes"
- 5 smart bean grinders that know how to grind beans for e.g. cappucchino, espresso, latte macchiato and for 73ml of water preheated to 82°C
- a very smart sugar dispenser that knows how to add sugar to 95, 98 and 100°C coffee and to coffee made of BOTH coffee arabica AND coffee robusta beans.
etc. etc., i think you're getting the gist.
when i realized this, it was like, right in front of my eyes, this terrible pattern emerged like a foul, corrupted caleidoscope of chaos, through the whole code base of this module.
i've already known how rotten from the core this code base is, but today i've actually identified a really bad pattern that i hadn't realized before. the whole architecture is so bloated that it is hard to have an overview of the whole thing. and it would require a LOT of refactoring to repair this pattern.
but i guess it would also be infinitely satisfying because i could probably reduce the code base for 30% or something...
but unfortunately, this is never going to happen, because screw refactoring.
it's a great feeling to start this new library from scratch, tho...6 -
Anything i try in this life, it fails. I have done hundreds, and have 0 successful projects. When someone asks me "what have you done in these 1/4th of a century existing on this useless floating space rock?" ...... I have nothing to say. It would appear as if I've done Nothing. I have nothing to showcase of projects because its not running live on production. It's all on private repositories. The more i try the harder i fail. I am energy drained. I am uninspired. I am unmotivated. Seeing how some 19 year old NOBODY kid just comes out of nowhere, makes NFT project, scams people for millions of dollars and haves fun in his life and doesnt have to work anymore, is fueling me with RAGE. This is starting to become madness. Am i having too high goals and ambitions and that's why i percieve myself as if im unsuccessful? But how is that possible if a 19 year old nobody is capable of becoming a multi millionaire by scamming people in web3? If i lower my goal expectations, then I have no reason to live. I wouldnt care if i die tomorrow or continue living. I wouldnt bother looking left right while crossing the road because I Do Not Care. What must i do to succeed just Once and meet my goals and expectations? I dont understand. I hate life. Life is empty and meaningless. I have became a Nihilist and i believe in that religion more than anything. It makes no sense that someone scams millions by doing jack shit at a young age while someone struggles and tries hard his whole life and still isnt successful even 0.01% of what the 19 year old is. IT. IS. NOT. FAIR.11
-
Project with partner company, during the meeting I asked them how can we secure the communication between two services. I suggested api keys, tokens. They were like nope, no need. But I asked them for their IPs to do whitelisting on our side in Nginx.
But their side, nah not even whitelisting, no tokens, no validations. If one has address, can send anything from anywhere.
How hard would it be to do at least, AT LEAST simple token validation. And they are using the very old IIS server. I think for them as long as data flows in as expected, it is fine.3 -
I'm thinking of self hosting all my small web projects,
I have this old laptop running ubuntu server heedlessly I used to store and stream pirated movies, after multiple embarrassing moments with free backend/platform as a service options and not finding a cheap VPS, this seems like the way to go. I don't get much traffic on these sites i just want them to be available when i need to present them.
then there's tons of other features that are locked behind a paywall,
I once had to store images in the database because heroku wont accept file uploads and the project hadn't been paid, in short, I was dead broke9 -
Node developers are something else, you can work on a project that is 2 years old and find abandonware dependencies that were last updated 4 years ago.4
-
Question: We are planning to transition our old ES5 codebase to modern ES6/ES7 and even typescript.
What would be the build tool you would recommend if we want to start supporting ES6/ES7 and even Typescript?
Webpack, Vite some other?
This is a vanilla Javascript Project with large codebase it's been built using custom build tools like UglifyJS and UglifyCSS and of after lots of begging it finally got the green light to move to a more modern build tool and start supporting a more standard JavaScript Features.
Mainly I want to move to TypeScript but transition would be slow so the build tool would need to support .ts and .js as well, that is traspile both the .ts and .js into one final production build.
What build tool would you recommend for that?8 -
I have one Windows and one Apple M1 computer. Our project runs old docker containers and can't upgrade easily. I decided to run the x86 versions of containers on there and use them from my network. Corporate Windows has port blocking so I decided to install linux to a usb drive. I loaded a live install distro and installed it to a second USB drive.
The internal nvme laptop drive somehow had its partition table wiped along the way. I can see files on there in a partition restore tool but alas it isn't becoming bootable again from uefi after doing partition table restore. 😭7 -
I had this boss once who called himself a sitting bull sometimes. He was about 60, an absolute dictator, strong right wing and building an aura of fear around him. He had this emberassing macho attitude which was especially delicate since he was a protective of the female ceo. He talked to everyone, colleagues, customers, partners like they where enemys and was extemely aggressive towards everyone. Meetings where extremly emberassing because he insulted everyone (except us devs), talked much bs an didn't let anyone else speak - including customers.
He was also paranoid af. Once he talked the ceo into firing a team lead he disliked. Before the guy got to know this, he called me, and wanted me to sneak in his office, copy everything from his computer in case he would destroy everything when I realized he's fired. As if everything relevant wasn't on GitHub anyway and is if the poor guy would be uprofessional as sitting bull.
The sitting bull lead the department like a ponzi scheme: He required constantly new projects with funding for some years to maintain the old ones and their piles of tech debt. Dev team grew and grew but every insider knew the bubble will explode at one point. One of the last projects was a partner project with another institution. Naturally he didn't want us to do anything for this project but use our man power to rescue older ones. One pm guy was employed fifty percent as ours and fifty at the partner. So while months passt by and we delivered absolute nothing but lame excuses, his other employer started to ask questions. At one point I told him, and told his other employer afterwards, that the sitting bull never intended to anything for the project. When the sitting bull learned the pm. Guy told them the truth he called him a traitor and fired him instantly.
I left shortly after and the bubble imploded eventually. The sitting bull retired after an heart attack. From over twenty dev positions a single one remains and his main job to shit down one broken service after another...3 -
Every time there is a new project, we programmers swear to ourselves that we will code it better this time. We get elated that we do not have to deal with the tech debts piled up in the old module.1
-
I got contacted by an other company and I am so unsure whether to accept their offer or stay at my current job.
For now I spend 2 years at my current company. The culture is great and everyone gets treated very well.
The bad part is, that it is located in a part of Germany I really can't stand and to this day fully remote is not an option.
Additionally lots of stuff is really frustrating in my daily work, e.g. colleagues that experiment with critical parts if our infrastructure, resulting in every developer who made the mistake to update the local development stack being unable to work for half a day or so.
This and the fact, that our techstack sucks hard. (mostly bad php for backend and server-rendered HTML and a weird mix of Typescript, Javascript, Vue and some old bits of deprecated angular for frontend). This company has it's own product (a web platform) and no real deadlines in the sense of "something bad happens, when your team won't achieve the project in the originally proposed time"
Company number two seems to work with a wide variety of technologies for very different projects (it's a consulting compan), would pay me ~28% more than my currently raised pay and allows for full remote.
When I try to look objectively on the facts everything points to accepting their offer, but on the other hand there is this weird feeling of this being a joice that would come to soon...
How do you make such decisions? I already talked to a great colleague of mine, who thinks it might not be a bad idea to stay at the company for an additional year or 2, because I haven't yet reached the point where there is not enough to learn here anymore, which I agree on, but this company seems to offer everything I want.
I feel overwhelmed with this situation :D that's why I would like to know how you people try to tackle such a situation8 -
Finally, I finally got my dream job, but three weeks after starting, I will say I am going into depression.
First, I have to learn a new language (the lang is less than 7 years old) on the job. The language is so different from the paradigm I am used to-from OOP to functional programming, it has very little confusing documentation and a small but growing community.
Though I have been able to show some work, goddamit, it's taking me blood and sand to adjust and be productive.
My onboarding tasks are fixing bugs and implementing a feature, and it has been like walking in a dark tunnel.
I have to face my problem alone as all the devs in the team have swapped.
I rarely sleep, and I recently started to have an existential crisis!
Also, I work part-time on another project, and my output is so poor due to the fact that I am trying to adjust to the new job. Just this evening, I got a call from the manager who was passively aggressive, complaining and asking me to rethink (a passive way of saying "you are fired, if you do not...").
I am feeling anxious. It is taking so much time daily to adjust to the new job.
Will the depression pass?10 -
Everytime I have to work on some old Asp.Net shit. WebForms/WinForms etc.
Everything with that bullshitass designer. You wanna open a file you've just created? Sorry, error. Restart IDE and maybe...
Restarted website? Sorry. Old instance still hangs somewhere in IIS, so the port is taken...
Seeing code light up red when cleaning the project. Compiler being like "What the fuck is 'void'?"
Or - I know you didnt make any changes, but Im gonna build AppCode folder anyway... Its only gonna take a minute or two, no worries.
Or - You have XML template file to this class (codebehind)? You wanna open the XML? Would be shame if it was opened in the designer view and your entire IDE crashed 'cuz of some unsuported third party UI element.
Or - just unexpected debug session crashes.
And dont make me start on Xamarin...1 -
Currently having very funny project lead, who gives on the spot estimates for 9 years old very pathetic quality code having Android app in security domain. Memory leaks, bad practices, typos, CVEs etc. you name it we have it in our source of the app.
Since 5-6 sprints of our project, almost 50% of user stories were incomplete due to under estimations.
Basically everyone in management were almost sleeping since last 7-8 years about code quality & now suddenly when new Dev & QA team is here they wanted us to fix everything ASAP.
Most humourous thing is product owner is aware about importance of unit test cases, but don't want to allocate user stories for that at the time of sprint planning as code is almost freezed according to him for current release.
Actually, since last release he had done the same thing for each sprint, around 18 months were passed still he hadn't spared single day for unit testing.
Recently app crash issue was found in version upgrade scenario as QAs were much tired by testing hundreds of basic trivial test cases manually & server side testing too, so they can't do actual needful testing & which is tougher to automate for Dev.
Recently when team's old Macbook Pros got expired higher management has allocated Intel Mac minis by saying that few people of organization are misusing Macbooks. So for just few people everyone has to suffer now as there is no flexibility in frequent changing between WFH & WFO. 1 out of those Mac minis faced overheating & in repair since 6 months.
Out of 4 Devs & 3 QAs, all 3 QAs & 2 Devs had left gradually.
I think it's time to say goodbye 😔4 -
Two years ago we took over this project which has been a nightmare to maintain. It's a set of netcore 2.1 webapps running on an on-prem windows machine. Everyone who has worked on it so far has quit, leading to two episodes of it being passed on with near zero handover.
Its function is fairly simple, so naturally we have been nagging to redo it and cloudlift it.
I was finally given one week to see how far I'd get, and had a poc running in Azure after one day; 4 apps in clean net6, SSO, and managed identities. The only thing lacking was setting up the authentication for third parties.
And... they still don't want "something new" when the old one works. Back to IIS and debugging windows event logs.1 -
For the first time I work for an old and absolutely massive company. I have never seen systems so byzantine and so outdated ever before. With how the project management on top of it all has been going so far I'm really impressed that anything gets done at all.2
-
Aka... How NOT to design a build system.
I must say that the winning award in that category goes without any question to SBT.
SBT is like trying to use a claymore mine to put some nails in a wall. It most likely will work somehow, but the collateral damage is extensive.
If you ask what build tool would possibly do this... It was probably SBT. Rant applies in general, but my arch nemesis is definitely SBT.
Let's start with the simplest thing: The data format you use to store.
Well. Data format. So use sth that can represent data or settings. Do *not* use a programming language, as this can neither be parsed / modified without an foreign interface or using the programming language itself...
Which is painful as fuck for automatisation, scripting and thus CI/CD.
Most important regarding the data format - keep it simple and stupid, yet precise and clean. Do not try to e.g. implement complex types - pain without gain. Plain old objects / structs, arrays, primitive types, simple as that.
No (severely) nested types, no lazy evaluation, just keep it as simple as possible. Build tools are complex enough, no need to feed the nightmare.
Data formats *must* have btw a proper encoding, looking at you Mr. XML. It should be standardized, so no crazy mfucking shit eating dev gets the idea to use whatever encoding they like.
Workflows. You know, things like
- update dependency
- compile stuff
- test run
- ...
Keep. Them. Simple.
Especially regarding settings and multiprojects.
http://lihaoyi.com/post/...
If you want to know how to absolutely never ever do it.
Again - keep. it. simple.
Make stuff configurable, allow the CLI tool used for building to pass this configuration in / allow setting of env variables. As simple as that.
Allow project settings - e.g. like repositories - to be set globally vs project wide.
Not simple are those tools who have...
- more knobs than documentation
- more layers than a wedding cake
- inheritance / merging of settings :(
- CLI and ENV have different names.
- CLI and ENV use different quoting
...
Which brings me to the CLI.
If your build tool has no CLI, it sucks. It just sucks. No discussion. It sucks, hmkay?
If your build tool has a CLI, but...
- it uses undocumented exit codes
- requires absurd or non-quoting (e.g. cannot parse quoted string)
- has unconfigurable logging
- output doesn't allow parsing
- CLI cannot be used for automatisation
It sucks, too... Again, no discussion.
Last point: Plugins and versioning.
I love plugins. And versioning.
Plugins can be a good choice to extend stuff, to scratch some specific itches.
Plugins are NOT an excuse to say: hey, we don't integrate any features or offer plugins by ourselves, go implement your own plugins for that.
That's just absurd.
(precondition: feature makes sense, like e.g. listing dependencies, checking for updates, etc - stuff that most likely anyone wants)
Versioning. Well. Here goes number one award to Node with it's broken concept of just installing multiple versions for the fuck of it.
Another award goes to tools without a locking file.
Another award goes to tools who do not support version ranges.
Yet another award goes to tools who do not support private repositories / mirrors via global configuration - makes fun bombing public mirrors to check for new versions available and getting rate limited to death.
In case someone has read so far and wonders why this rant came to be...
I've implemented a sort of on premise bot for updating dependencies for multiple build tools.
Won't be open sourced, as it is company property - but let me tell ya... Pain and pain are two different things. That was beyond pain.
That was getting your skin peeled off while being set on fire pain.
-.-5 -
Some had teased me a bit on my previous meme so let me tell my anecdote...
I have to tell you a rather funny anecdote that happened to me during a job interview..
To put you in context, I am a front/back developer and the language where I perform best is JS. I started learning JS at an early age during an open source project to make animations on websites then I also quickly moved to the backend using NodeJS. I gained a lot of experience by going to small start-ups and this time if I wanted to try my luck on big companies in the field of video games.
So I wanted to present some projects to my interlocutor who seemed to be someone with an important position in the company, about 26 years old and we talked about the JS language. I showed him all my projects including those where I was doing free/open source and also in the field of video games such as volunteering like the back off https://mylolmmr.com And suddenly he called out to me and said "JS is not a real language".
I must confess that I was quite disturbed by his assertion and did not understand his condescension or his belittlement. This mind...
Especially since I find it extremely misleading to say that the JS language is not a real language when you know its advantages and disadvantages, but I did not dare to express myself on this subject and we continued the interviews, even though he saw that it bothered me.
The funny thing is that once the interview is over and I decide to go home and I receive a call from the company in question who wanted me to take a technical test telling me that the oral interview was successful...
I reassure you right away, I refused.. For a question of salary which was extremely low and obviously the bad experience with this famous director.3 -
My fucking lazy-ass coworkers haven’t made meaningful progress on anything for months. I’m brought in as the tech lead and these stupid fucks didn’t work on any meaningful shit for literal months. Their manager was asleep at the wheel and their old tech leads apparently need months to make a couple of minor database changes.
So I’m brought in to fix it, and… surprise! They’re still lazy pedantic assholes. And they’re shocked - shocked - that people expect them to start completing a project or two per quarter. Like these dense motherfuckers thought that they could be the most annoying pedants this world has ever seen, and also do no work.
I could have done their whole 5 month project myself in a month. No joke. It’s incredibly simple. But somehow the overhead of coordinating people who A. don’t work very hard and B. assume that every ticket needs special attention and 6 hours of ponderous thought has eaten into the time we have.
I don’t respect them in the slightest. They’re such shitty developers. Whoever signed off on their hire was fucking high.6 -
Had a branch that I was ready to push to a remote and open a PR tp this big open source project.
I was making a git pull from their master in order to not have merge conflicts on remote... and then I see that their master branch already had the feature that I was trying to implement, merged 10 days ago.
A lot of work... for nothing.
Because I had to wait on some old ass company policy process bs on open source software to give me permission to push to a codebase we're using in their internal product.
Well in today's meeting I made a reference to this... they still insisted on intellecxual preperty bs. Im questioning their ability to think.
Im pushing fixes and enhancements to that without permission, idgaf4 -
is laravel app really enjoyable to write ?
i started as a laravel dev. the known story , all code in controllers etc. As i started to improve, fortunately i changed company, and worked with a symfony project. A symfony that looked like java. hundreds of classes, tests, yaml injections , objects for requests, for everything.
I thought that i missed the old laravel days, and i took an extra job on laravel again. I was soooo wrong.
It was not only that the code of the previous dev was inferior to what i am now used, it is that i have to be with an open documentation all the time. Even if the project is in the same version that i have used to earlier (an old one).
You have to check all the time the model settings, the migration, the magic tricks of model mass insert, the castings, the validation rules, why the tests are not finding some routes, why this, why that, how it is written this.
Excuse me, but i think the fun and easiness is far from what they say and what i thought it was. I start to change my mind and believe that inserting the request to a simple php object is more controllable than the gandalf tricks that laravel is doing, and you cannot know if it is worth your time to test it . And more importantly, you do not have to look at the cookbook, all the time@@@5 -
This is a repost of an original rant posted on a request for "Community Feedback" from Atlassian. You know, Atlassian? Those beloved people behind such products as :
• Thing I Love™
• Other Thing You Used One Time™
• Platform Often Mentioned in Suicide Notes, Probably™*
Now this rant was written in early 2022 while I was working in an Azure Cloud Engineer role that transformed into me being the company's main Sysadmin/Project Manager/Hiring Manager/Network Admin/Graphic Designer.
While trying to simultaneously put out over 9000 fires with one hand, and jangling keys in the face of the Owner/Arsonist with the other, I was also desperately implementing Jira Service Desk. Normally this wouldn't have been as much of a priority as it was, but the software our support team was using had gone past 15 years old, then past extended support, then the lone developer died, then it didn't work on Windows 10, then only functioned thanks to a dev cohort long past creating a keygen....which was now broken. So we needed a solution *now*.
The previous solution was shit of a different tier. The sight of it would make a walking talking anthropomorphised sentient puddle of dogshit (who both eats and produces further dookie derivatives) blush with embarrassment. The CD-ROM/Cereal Box this software came in probably listed features like "Stores Your Customer's First AND (or) Last Name!" or "Windows ME Downgrade Disk Included!" and "NEW: Less(-ish) Genocide(s)"!
Despite this, our brain/fearless leader decided this would be a great time to have me test, implement, deploy, and train everyone up on a new solution that would suck your toes, sound your shaft, and that he hadn't reminded me that I was a lazy sack enough lately.
One day, during preliminary user testing I received an email letting me know that the support team was having issues with a Customer's profile on our new support desk. Thanks to our Owner/Firestarter/Real World Micheal Scott being deep in his latest project (fixing our "All 5 devs quit in the last 12 months and I can't seem to hire any new ones" issue (by buying a ping pong table)), I had a bit of fortuitous time on my hands to investigate this issue. I had spent many hours of overtime working on this project, writing custom integrations and automations, so what I found out was crushing.
Below is the (digitally) physical manifestation of my rage after realising I would have to create / find / deal with a whole new method for support to manage customer contacts.
I'm linking to the original forum thread because you kind of need to have the pictures embedded in said reply to get really inhale the "Jira-Rant" ambiance. The part where I use several consecutive words as anchor links to tickets with other people screaming into the void gets a bit sweet n' savoury too - having those hyperlinks does improve the je ne say what of it all.
bit.ly/JIRANT (Case Sensitive)
--------------------------
There is some good news at the end of this brown n' squirty rainbow though!
Nice try silly little Jira button, you can't ruin *my* 2022!
• I was able to forget all about Jira a month later when I received a surprise vacation home! (To be there while my Mom passed away).
• Eventually work stress did catch up to me - but my boss thoughtfully gave me a nice long vacation! (By assaulting *while* firing me (for emailing in a vacation request while he was a having a bad (see:normal) day))4 -
macOS - just nothing makes sense.
You try to go away from the deprecated stuff, use the new shinier API to stop and start services with launchctl (bootstrap/bootout vs. load/unload). And how does this stellar OS thank you for that? By crashing your service. Thanks for nothing.
From developer perspective this whole OS is just such a nightmarish clusterfuck. If you want to set up code signing with some special entitlements and you try to use the provisioning profiles as advertised, it's like pulling the one-armed bandit. It will plunder your coins and sanity. You try to compile it, it fails or the executable will be killed - you enable and disable the automatic codesigning in Xcode, or delete and download you old code signing cert and suddenly it works. It's just random - and you have to perform random walks on the Xcode project settings to make it run. So Apple turned us into Xcode clicking monkeys... -
A philosophical question about maintenance/updating.
There is no need to repeat the reasons we need to update our dependencies and our code. We know them/ especially regarding the security issues.
The real question is , "is that indicates a failure of automation"?
When i started thinking about code, and when also was a kid and saw all these sci fi universes with robots etc, the obvious thing was that you build an automation to do the job without having to work with it anymore. There is no meaning on automate something that need constant work above it.
When you have a car, you usually do not upgrade it all the time, you do some things of maintance (oil, tires) but it keeps your work on it in a logical amount.
A better example is the abacus, a calculating device which you know it works as it works.
A promise of functional programming is that because you are based on algebraic principles you do not have to worry so much about your code, you know it will doing the logical thing it supposed to do.
Unix philosophy made software that has been "updated" so little compared to all these modern apps.
Coding, because of its changeable nature is the first victim of the humans nature unsatisfying.
Modern software industry has so much of techniques and principles (solid, liquid, patterns, testing that that the air is air) and still needs so many developers to work on a project.
I know that you will blame the market needs (you cannot understand the need from the start, you have to do it agile) but i think that this is also a part of a problem .
Old devices evolved at much more slow pace. Radio was radio, and still a radio do its basic functionality the same war (the upgrades were only some memory functionalities like save your beloved frequencies and screen messages).
Although all answers are valid, i still feel, that we have failed. We have failed so much. The dream of being a programmer is to build something, bring you money or satisfaction, and you are bored so you build something completely new.14 -
He said there is new bunch of testing frameworks, better then the old ones. Cypress he said. Testcafé he said. Angular is not tied to protractor anymore he said.
Than he was torn to another project and Horus took over his tests. Guess what? The syntax is slightly differenr, but when I experienced you produce the very same problems as with every other framework: Bad selectors. Using sleep instead of expected conditions. Tests Interferon with each other. He is a newbie so ok he dies not know shit. But I have to repair this shit now and learn a new framework for that while very experienced with selenium. But at least we use the newest shit now. Fml.1 -
after moving back to my home country, buying an apartment and after my career started to head to nowhere because there is nothing to code for me in work, just manager stuff, I am returning to coding after work to get back into shape, practice more, learn new stuff (and the old stuff)
wanted to create a small webapp with laravel/vue, holy fucking shit how hard it is (for me) to setup your env
install composer -> command php not found
o.O im pretty sure i had php on this machine HOW THE FUCK WOULD I HAVE ALL THESE PROJECTS HERE THEN
install php8.1 -> no such package
-.-
upgraded to ubuntu 22.04, install php8.1, composer
create new laravel project -> 3 errors, missing laravel/pint, phpunit
* visible confusion * i told you to create a project, if you need it, why didn't you... oh, wait
composer install -> same
well, * looks left, looks right * --ignore-platform-reqs
but still getting the chills from a new project, now I go sleep and tomorrow I start my journey to get back to business, wish me luck -
Why the fuck would Google promote Jetpack Compose as a stable toolset when it doesn't even support a basic feature such as a scrollbar.
A. Fucking. Scrollbar.
LazyColumn can't even come close to being as powerful as Recyclerview.
Here's an idea, before launching something and touting it as something usable, and encouraging people to drop the old, battle tested tool for the new shiny one, how about you make sure the new doesn't lack features present in the old one?
Seems logical, right?
Methinks somebody was just looking for a promotion because, clearly, Jetpack Compose is a half-baked product.
Now, developers will have to suffer because project managers will read about the new framework and ask devs to use it, then wonder why the app is suffering.2 -
I’ve been thinking of making a magic Mirror lately as a side project. I know that they are traditionally made with TVs or computer monitors but I don’t have the space to make a mirror that big. I have a bunch of old Amazon kindles and android phones that I thought would be good to use instead (even though they all have cracked screens). I want the reflective aspect and the touch screen aspect. I think the hardest part is figuring out how to get whatever device that is behind the glass to register touch events on the glass. Any ideas or recommendations? Anybody done anything similar?
-
On Friday, 2 of my coworkers asked for help on a concourse issue, it wasn't building correctly, and they had been trying to figure it out all day. It was an old VB project, which was built very weirdly. We made some progress, but didn't get passed the error. I recommend asking in slack if anyone had gotten the error before, but the refused, saying that they could fix it.
Monday morning, and at standup they mentioned that they still haven't solved the issue and were going to work on it today. I once again mentioned that (blank) could help them.
Monday afternoon, and they are still stuck the same issue they had friday morning. I give up and contact (blank) myself, who mentioned they have seen this error before and shows them how to fix it. Five minutes later and they are back on track, past the issue.
Why are people so adverse to help, it should not have taken 2 days and me introducing them to accept help... 🙃1 -
Guys, i am having a tough time in work. So, i am sharing the story and questions here-
Initially, i was doing well with new projects and other existing projects where implemented new features.
But recently, i am assigned to a old project created by clients and some senior developer worked on it .
Ps: I was also assigned to this project 8 months earlier but was reassigned to other projects.
Now, Our senior developer who worked on it resigned because of the messy project and a lot of pressure from boss.
my colleague also resigned because of this.
Due to this, all this pressure thrown upon me. I am working on it relentlessly but i am soo burned out that i am actually feeling sick and constantly having headache.
And main thing is that the project has so many errors which iam getting during testing and i have to fix all of the error.
And yes they have documentation but shitty unreadable documentation . My manager also rebuking me why i dont remember things said to me 8 months earlier. (That time i just joined the company)
I don't know what will happen to me if i cant tackle this project.
And what should i do in such cases as my mental health is deteriorating day by day.3 -
Git: "Your local changes to the following files would be overwritten by checkout. [...]
Please commit your changes or stash them before you switch branches.
Aborting"
Fucking nitpicking, that's not "Aborting", that's meant to be:
"Dear user, would you like to overwrite your current changes, even more so as you are currently in a so-called detached head state anyway, as you obviously just checked out an old tag to try a temporary rebuild of an old project state."
Yes, the build targets are checked in, as this can be very useful in some scenarios.
It's just! some! CSS! from the SCSS!
Stop "Aborting"!5 -
So trunk-based is the new approach everyone is using, because it is so cool.
I used gitflow for the last projects with azure devops, set up the pipelines like tipically in 1 week if I had other things to do with the help of the portal clicking through things. PR-s triggered pipelines, everything worked cool.
But then trunk-based got momentum, so I worked with this client where 2 developers worked for !!!3 months!!! to setup trunk-based pipeline. It was not my money, so I did not say a thing. They were using infrastructure as code.
I am all in for automation, but seriously? Then again, another project where a DevOps team took 1 dev-month to setup the pipeline + meetings. And what do you get in the end? So that the same image goes on all environments? Like how many releases do you have for prod in a year. Lets say 24. 24 x 5 minutes of manual work for the release, that is 2 hours. So my question is why would you spend 2 hours of manual work while you can automate it merely in a month? Everyone loves to code, but using the ui on the DevOps portal saves you so much time. I don't get this. Maybe I am getting old :D4 -
Wanted to start a little project of writing a website from scratch with a given template. No framework, just a basic thing. Apparently I've already done some work, long ago. And of course, I don't understand several parts anymore that are written. All knowledge and context gone. fuck...
At least I've realized I went for BEM css, instead of my utility css approach nowadays. Now the css has become hard to change, without accidentally breaking things. Also no git, surely because it was "just a small thing". Almost about to delete and redo. Fuck fuck fuck!1 -
My team and me nearly finished a big new feature for our website.
I am a junior dev and this was the first big thing I was in charge of and now that I see how it unfold I feel really bad.
It consists of php backend (integrated into a 20 years old monolith) and vue frontend (punctually jumpstarted by a clusterfuck of typescript files included into php rendered html) and especially the frontend part looks so bad.
Vue is relatively young in our project and almost nobody has a clue about it. I learned so much about vue in the process, but the result is a behemoth of awfulness that grew over several months.
I have a really strong desire rewrite the whole mess, but I will never be officially allowed because it works and practically all the flaws in our code base are subject to the classic
"well, someday, somebody probably has to do something about that, but for now let's start this shiny new feature"
So for now I think about doing it secretly and pass it to my buddy to review it. I guess chances are high that not even the colleagues in my team (apart from my buddy) are going to notice, since they aren't as interested into vue as I am and don't have the overview over this features code as I do, but on the other hand it feels like something I could get in trouble for and apart from the cursed code base my company is great.
Have you ever bin that disgusted by your own production code before it was even one year old?3 -
Update of previous post
I just got assigned to a project.
Project-specific training is designed to take up to 20 days.
I got materials, videos, and a person who is in this project for a long time to supervise training and introduce me to the project.
Only problem is that the project apparently uses 5 years old version of base framework. -
#Suphle Rant 6: Deptrac, phparkitect
This entry isn't necessarily a rant but a tale of victory. I'm no more as sad as I used to be. I don't work as hard as I used to, so lesser challenges to frustrate my life. On top of that, I'm not bitter about the pace of progress. I'm at a state of contentment regarding Suphle's release
An opportunity to gain publicity presented itself last month when cfp for a php event was announced last month. I submitted and reviewed a post introducing suphle to the community. In the post, I assured readers that I won't be changing anything soon ie the apis are cast in stone. Then php 7.4 officially "went out of circulation". It hit me that even though the code supports php 8 on paper, it's kind of a red herring that decorators don't use php 8 attributes. So I doubled down, suspending documentation.
The container won't support union and intersection types cuz I dislike the ambiguity. Enums can't be hydrated. So I refactored implementation and usages of decorators from interfaces to native attributes. Tried automating typing for all class properties but psalm is using docblocks instead of native typing. So I disabled it and am doing it by hand whenever something takes me to an unfixed class (difficulty: 1). But the good news is, we are php 8 compliant as anybody can ask for!
I decided to ride that wave and implement other things that have been bothering me:
1) 2 commands for automating project setup for collaborators and user facing developers (CHECK)
2) transferring some operations from runtime to compile/build TIME (CHECK)
3) re-attempt implementing container scopes
I tried automating Deptrac usage ie adding the newly created module to the list of regulated architectural layers but their config is in yaml, so I moved to phparkitect which uses php to set the rules. I still can't find a library for programmatically updating php filed/classes but this is more dynamic for me than yaml. I set out to implement their library, turns out the entire logic is dumped into the command class, so I can neither control it without the cli or automate tests to it. I take the command apart, connect it to suphle and run. Guess what, it detects class parents as violations to the rule. Wtflyingfuck?!
As if that's not bad enough, roadrunner (that old biatch!) server setup doesn't fail if an initialization script fails. If initialization script is moved to the application code itself, server setup crumbles and takes the your initialization stuff down with it. I ping the maintainer, rustacian (god bless his soul), who informs me point blank that what I'm trying to do is not possible. Fuck it. I have to write a wrapper command for sequentially starting the server (or not starting if initialization operations don't all succeed).
Legitimate case to reinvent the wheel. I restored my deleted decorators that did dependency sanitation for me at runtime. The remaining piece of the puzzle was a recursive film iterator to feed the decorators. I checked my file system reader for clues on how to implement one and boom! The one I'd written for two other features was compatible. All I had to do was refactor decorators into dependency rules, give them fancy interfaces for customising and filtering what classes each rule should actually evaluate. In a night's work (if you're discrediting how long writing the original sanitization decorators and directory iterator), I coupled the Deptrac/phparkitect library of my dreams. This is one of the those few times I feel like a supreme deity
Hope I can eat better and get some sleep. This meme is me after getting bounced by those three library rejections