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 - "bad product"
-
I'm a self-taught 19-year-old programmer. Coding since 10, dropped out of high-school and got fist job at 15.
In the the early days I was extremely passionate, learning SICP, Algorithms, doing Haskell, C/C++, Rust, Assembly, writing toy compilers/interpreters, tweaking Gentoo/Arch. Even got a lambda tattoo on my arm after learning lambda-calculus and church numerals.
My first job - a company which raised $100,000 on kickstarter. The CEO was a dumb millionaire hippie, who was bored with his money, so he wanted to run a company even though he had no idea what he was doing. He used to talk about how he build our product, even tho he had 0 technical knowledge whatsoever. He was on news a few times which was pretty cringeworthy. The company had only 1 programmer (other than me) who was pretty decent.
We shipped the project, but soon we burned through kickstart money and the sales dried off. Instead of trying to aquire customers (or abandoning the project), boss kept looking for investors, which kept us afloat for an extra year.
Eventually the money dried up, and instead of closing gates, boss decreased our paychecks without our knowledge. He also converted us from full-time employees to "contractors" (also without our knowledge) so he wouldn't have to pay taxes for us. My paycheck decreased by 40% by I still stayed.
One day, I was trying to burn a USB drive, and I did "dd of=/dev/sda" instead of sdb, therefore wiping out our development server. They asked me to stay at company, but I turned in my resignation letter the next day (my highest ever post on reddit was in /r/TIFU).
Next, I found a job at a "finance" company. $50k/year as a 18-year-old. CEO was a good-looking smooth-talker who made few million bucks talking old people into giving him their retirement money.
He claimed he changed his ways, and was now trying to help average folks save money. So far I've been here 8 month and I do not see that happening. He forces me to do sketchy shit, that clearly doesn't have clients best interests in mind.
I am the only developer, and I quickly became a back-end and front-end ninja.
I switched the company infrastructure from shitty drag+drop website builder, WordPress and shitty Excel macros into a beautiful custom-written python back-end.
Little did I know, this company doesn't need a real programmer. I don't have clear requirements, I get unrealistic deadlines, and boss is too busy to even communicate what he wants from me.
Eventually I sold my soul. I switched parts of it to WordPress, because I was not given enough time to write custom code properly.
For latest project, I switched from using custom React/Material/Sass to using drag+drop TypeForms for surveys.
I used to be an extremist FLOSS Richard Stallman fanboy, but eventually I traded my morals, dreams and ideals for a paycheck. Hey, $50k is not bad, so maybe I shouldn't be complaining? :(
I got addicted to pot for 2 years. Recently I've gotten arrested, and it is honestly one of the best things that ever happened to me. Before I got arrested, I did some freelancing for a mugshot website. In un-related news, my mugshot dissapeared.
I have been sober for 2 month now, and my brain is finally coming back.
I know average developer hits a wall at around $80k, and then you have to either move into management or have your own business.
After getting sober, I realized that money isn't going to make me happy, and I don't want to manage people. I'm an old-school neck-beard hacker. My true passion is mathematics and physics. I don't want to glue bullshit libraries together.
I want to write real code, trace kernel bugs, optimize compilers. Albeit, I was boring in the wrong generation.
I've started studying real analysis, brushing up differential equations, and now trying to tackle machine learning and Neural Networks, and understanding the juicy math behind gradient descent.
I don't know what my plan is for the future, but I'll figure it out as long as I have my brain. Maybe I will continue making shitty forms and collect paycheck, while studying mathematics. Maybe I will figure out something else.
But I can't just let my brain rot while chasing money and impressing dumb bosses. If I wait until I get rich to do things I love, my brain will be too far gone at that point. I can't just sell myself out. I'm coming back to my roots.
I still feel like after experiencing industry and pot, I'm a shittier developer than I was at age 15. But my passion is slowly coming back.
Any suggestions from wise ol' neckbeards on how to proceed?32 -
I just had a client complaining on the phone that she read my database design documents and that they are all wrong and need to be done again. Because things like varchar and int are confusing. And nobody understands what they mean. She asked around and nobody understood it.
Ooh, and I should place the customer name in more then one table because it would be handy to have in several places.
Spend a hour on the phone trying to explain that these documents are not intended for her. They are not for her to understand.
I make these documents to build a stable product and in case something bad happens to me its easier to pick up for another developer.
Long story short.. I'm currently making a document that explains the database design... Getting paid for it..... But fucking hell. Somebody save me.10 -
Customer :Can you build a system that rates our product by XYZ standard?
Us: Sure!
*time passes*
Us: Ta-da!
Customer: Okay, here are some good and some bad products!
*products get rated shit to supershit*
Customer: No, that's wrong. Some of these are as good as we can, they should be rated best!
Us: okay, we offset the results.
*products get rated good to barely okay*
Customer: Great! Can you sign that the system rates by XYZ Standard?
Us: No.
Customer : But we paid you to rate by XYZ standard!
Us: By XYZ standard your products are bad, you can either have your products rated by standard or pass the test.
Customer: Unacceptable!
Us: Improve production?
Customer : Not possible, the job is done when you rate the products good by XYZ standard.9 -
Not one feature.
All analytics systems in general.
Whether it's implementing some tracking script, or building a custom backend for it.
So called "growth hackers" will hate me for this, but I find the results from analytics tools absolutely useless.
I don't subscribe to this whole "data driven" way of doing things, because when you dig down, the data is almost always wrong.
We removed a table view in favor of a tile overview because the majority seemed to use it. Small detail: The tiles were default (bias!), and the table didn't render well on mobile, but when speaking to users they told us they actually liked the table better — we just had to fix it.
Nokia almost went under because of this. Their analytics tools showed them that people loved solid dependable feature phones and hated the slow as fuck smartphones with bad touchscreens — the reality was that people hated details about smartphones, but loved the concept.
Analytics are biased.
They tell dangerous lies.
Did you really have zero Android/Firefox users, or do those users use blocking extensions?
Did people really like page B, or was A's design better except for the incessant crashing?
If a feature increased signups, did you also look at churn? Did you just create a bait marketing campaign with a sudden peak which scares away loyal customers?
The opinions and feelings of users are not objective and easily classifiable, they're fuzzy and detailed with lots of asterisks.
Invite 10 random people to use your product in exchange for a gift coupon, and film them interacting & commenting on usability.
I promise you, those ten people will provide better data than your JS snippet can drag out of a million users.
This talk is pretty great, go watch it:
https://go.ted.com/CyNo6 -
This was at my first internship (ranted about this before but hey fuck it).
- discovered several high critical vulnerabilities in their product. Wrote them down and kindly gave them to my boss/manager (they were the same person). He looked at me like 'the fuck' but I just went home at the end of the day. Next day, I got called into his office. I was a fucker, cancer guy who knew nothing about security, who would never reach anything and I shouldn't criticize their product (I had no right to because I was an intern).
- Bossman went to a meeting with a coworker to present their product. They came back to the office and it very clearly had gone pretty wrong. (we had nothing to do with anything related to the project including the meeting) he called us all bad things he could think of and it was all our fault and so on.
- I do have a transpiration problem but I can partly contain that when it's not too hot and the stress levels are okay. I was only allowed to sit in front of the window. YES IT WAS A MOTHERFUCKING HUGE WINDOW, 35-40 DEGREES FEELING TEMPERATURE AND NO MOTHERFUCKING AIRCONDITIONING. (okay gotta admit that one of the installation guys fell off the roof during the installation BUT THEN AT LEAST GET FANS OR SOMETHING).
Got called into his office multiple times because I smelled and 'couldnt take care of my hygiene'. I was literally sweating my ass off full-time so what the fuck could I do in those temperatures?!?
- my only project there: Google translating their whole CRM. Took us five weeks and the bossman kept pressure on us at all times which didn't FUCKING help.
Was fired after 5 weeks for hygiene reasons and because I didn't do my work well appearantly (still fuck translating all day).
One of the worst things? He pretended everything to go well until the first review came with my mentor (mentor == awesome guy). Then he talked shit about me like it was no-one's business.
I literally cried when I walked home after being fired.16 -
So the remote manager who won't reply to my emails or slacks, won't invite me to meetings with product / design, won't ask for my opinion on deadline dates and won't tell me whats being said in meetings (despite repeated effort on my part to change this);
Has decided to send an angry email, cc'ing a bunch of people, about "constant deadline slippage" and poor planning on our part focusing on features that should have been de-prioritised.
ahem
*clears throat for maximum yelling rant-ability*
<rant>
I HAVE BEEN EMAILING YOU FOR FUCKING WEEKS ASKING TO TALK ABOUT THE DEADLINES YOU FUCKING COLOSSAL ASS CLOWN.
I'VE BEEN REPEATEDLY TOLD THAT THESE FEATURES ARE A MUST HAVE AFTER ASKING TO DE-PRIORITISE THEM, AND HAVE TOLD YOU THE DATES ARE NOT FEASIBLE.
ONE MORE, ONE MORE EMAIL OR BAD COMMENT AND I'M EXPENSING A TRIP OVER THERE, TO KICK YOU SQUARE IN THE NUTS AS HARD AS HUMANLY POSSIBLE. I'LL HAPPILY BREAK MY FOOT OFF IF NECESSARY, YOU USELESS PIECE OF SHIT.
</rant>
... the above is work appropriate to email back to him and all the higher ups right?12 -
Worst dev team failure I've experienced?
One of several.
Around 2012, a team of devs were tasked to convert a ASPX service to WCF that had one responsibility, returning product data (description, price, availability, etc...simple stuff)
No complex searching, just pass the ID, you get the response.
I was the original developer of the ASPX service, which API was an XML request and returned an XML response. The 'powers-that-be' decided anything XML was evil and had to be purged from the planet. If this thought bubble popped up over your head "Wait a sec...doesn't WCF transmit everything via SOAP, which is XML?", yes, but in their minds SOAP wasn't XML. That's not the worst WTF of this story.
The team, 3 developers, 2 DBAs, network administrators, several web developers, worked on the conversion for about 9 months using the Waterfall method (3~5 months was mostly in meetings and very basic prototyping) and using a test-first approach (their own flavor of TDD). The 'go live' day was to occur at 3:00AM and mandatory that nearly the entire department be on-sight (including the department VP) and available to help troubleshoot any system issues.
3:00AM - Teams start their deployments
3:05AM - Thousands and thousands of errors from all kinds of sources (web exceptions, database exceptions, server exceptions, etc), site goes down, teams roll everything back.
3:30AM - The primary developer remembered he made a last minute change to a stored procedure parameter that hadn't been pushed to production, which caused a side-affect across several layers of their stack.
4:00AM - The developer found his bug, but the manager decided it would be better if everyone went home and get a fresh look at the problem at 8:00AM (yes, he expected everyone to be back in the office at 8:00AM).
About a month later, the team scheduled another 3:00AM deployment (VP was present again), confident that introducing mocking into their testing pipeline would fix any database related errors.
3:00AM - Team starts their deployments.
3:30AM - No major errors, things seem to be going well. High fives, cheers..manager tells everyone to head home.
3:35AM - Site crashes, like white page, no response from the servers kind of crash. Resetting IIS on the servers works, but only for around 10 minutes or so.
4:00AM - Team rolls back, manager is clearly pissed at this point, "Nobody is going fucking home until we figure this out!!"
6:00AM - Diagnostics found the WCF client was causing the server to run out of resources, with a mix of clogging up server bandwidth, and a sprinkle of N+1 scaling problem. Manager lets everyone go home, but be back in the office at 8:00AM to develop a plan so this *never* happens again.
About 2 months later, a 'real' development+integration environment (previously, any+all integration tests were on the developer's machine) and the team scheduled a 6:00AM deployment, but at a much, much smaller scale with just the 3 development team members.
Why? Because the manager 'froze' changes to the ASPX service, the web team still needed various enhancements, so they bypassed the service (not using the ASPX service at all) and wrote their own SQL scripts that hit the database directly and utilized AppFabric/Velocity caching to allow the site to scale. There were only a couple client application using the ASPX service that needed to be converted, so deploying at 6:00AM gave everyone a couple of hours before users got into the office. Service deployed, worked like a champ.
A week later the VP schedules a celebration for the successful migration to WCF. Pizza, cake, the works. The 3 team members received awards (and a envelope, which probably equaled some $$$) and the entire team received a custom Benchmade pocket knife to remember this project's success. Myself and several others just stared at each other, not knowing what to say.
Later, my manager pulls several of us into a conference room
Me: "What the hell? This is one of the biggest failures I've been apart of. We got rewarded for thousands and thousands of dollars of wasted time."
<others expressed the same and expletive sediments>
Mgr: "I know..I know...but that's the story we have to stick with. If the company realizes what a fucking mess this is, we could all be fired."
Me: "What?!! All of us?!"
Mgr: "Well, shit rolls downhill. Dept-Mgr-John is ready to fire anyone he felt could make him look bad, which is why I pulled you guys in here. The other sheep out there will go along with anything he says and more than happy to throw you under the bus. Keep your head down until this blows over. Say nothing."11 -
Had a meeting with my boss earlier. Got yelled at for:
a) Working on a high-priority, externally-committed ticket (digit separators) that i was 85% done with on the Friday afternoon before my vacation instead of jumping to a lower-priority screwdriver ticket that just came in. Even though my boss agreed with me that what I did was exactly what I should have done, it's still bad because I was apparently rude to product by not doing as they asked?
b) Taking too long on that digit separator ticket that amounts to following a gigantic mess of convoluted spaghetti and making a few small changes, and making sure it doesn't break the world because it's all so fucking convoluted and fragile as hell. Let's not even mention my 4-10 hours of mandatory useless meetings every week.
c) Missing something that wasn't even listed in that same ticket -- somehow my fault? -- so I very obviously didn't test my work. Even though specs all passed and QA also tested and signed off on it as working and complete. Clearly half-assed and untested. Product keeps promising/planning UATs and then skipping them, and then has the audacity to complain about it.
d) Not recovering fast enough from burnout and daily mental breakdowns. I can still barely get out of bed and you want me to be super productive? Got it. Guess what? I'm being amazingly productive for my mental health. But my boss, Mr. Happy-go-lucky, thinks depression is dropping your icecream cone on your clean kitchen table, and this three-ton pile of spaghetti is "maybe a little messy, I guess."
So I need to somehow "regain the confidence" of both him and product because I'm taking awhile on difficult tickets (surprise), while having these ridiculous breakdowns (surprise), and because I don't fix things that aren't even listed in the fucking tickets (fucking surprise) -- and worse, that the lack of information is somehow entirely. my. fault. (surprise fucking surprise)
GOD I HATE THESE PEOPLE.rant my guess is performance reviews are coming up ahsflkiauwtlkjsdf root is angry how dare you not be a robot i used to call this place purgatory now i think it's just another layer of hell how dare you go on vacation everything is urgent15 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
Man, we have a snake in our company.
This snake is responsible for terrible code. They oversee a offshore team, but hold them to no coding practices. They don't do code reviews or checks. They let them be lazy and get away with sloppy work every time.
And if you critize their team - they will defend them and get angry at you. You can't adress the problem because said snake is always around. He's in a senior position for giving our company cheap workers, doing years of damage to our product while the non-code savvy managers remain blissfully unaware of their product being ruined in the background.
This snake is the senior product office. He has a share in the company now. He is from the overshore team's country. That team now has their claws so dug into our companies roots and are just pumping lsd's into it constantly. Feels good untill you die from an overdose.
Here I am, the new junior software developer, trying to tear out the claws that have sunk into these roots. Im up against the snake. The snake hates me. I hate the snake. I am trying to open the eyes of the managers. They hate that. They want to silence me so I don't expose the awful, unprofessional level of work they do.
Well, that's too bad. I won't back down from this, snake.14 -
For my passionate coders out here, I have some tips I learned over the years in a business/IT environment.
1) Don't let stupid management force you into making decisions that will provide a bad product. Tell them your opinion and why you should do it that way. Never just go with their decision.
2)F@#k hackathons, you're basicly coding software for free, that the company might use. Want to probe yourself? Join a community and participate in their challenges.
3)No matter how good you are, haters are common.
4)Learn to have a good communication, some keywords are important to express yourself to other developers or customers. Try crazy things, don't be shy.
5)Never stand still, go hear at other companies what they offer, compare and choose your best fit. This leads me into point...
6)if you've been working for over a year and feel that you have participated enough in the companies growth, ask a raise, don't be afraid...you're wanted on the market, so either they negotiate a new contract or you find another job.
I'm sharing these with you as I made many mistakes regarding these points, I have coded for free or invested so much time in a company just to prove myself. But at the end I realize that my portfolio is enough to prove that I'm capable of doing the job. They don't like me? Or ask me stupid questions that I can google in 5 minutes. I'll just decline the job and get something better. Companies end up giving me nothing in return compared to the work I have put into it. At the end after some struggles you'll find a good fit and that's so important for your programming career. Burnouts happen quite often if you're just a coding puppy.
If some of you still have additional tips be sure to post them under here11 -
Never have I been so furious whilst at work as yesterday, I am still super pissed about going back today but knowing it's only for another few weeks makes it baerable.
I have been the lead developer on a project for the last 3~ months and our CTO is the product owner. So every now and then he decides to just work on a feature he is interested in- fair enough I guess. But everything I have to go and clean up his horrendous code. Everything he writes is an absolute joke, it's like he is constantly in Hackathon mode "let's just copy and paste some code here, hardcoded shit there and forgot about separation of code- it all goes in 1 file".
So yesterday he added a application to the project and instead of reusing a shared data access layer he added an entirely new ORM, which is near identical to the existing ORM in use, for this one application.
Being anal about these things, the first thing I did was delete his shit and simply reference the shared library then refactor a little code to make it compatible.
WELL!! I certainly hit a nerve, he went crazy spamming messages on Slack demanding I revert as it broke ONE SINGLE QUERY that he hadn't checked in (he does 1 huge commit for 10 of everyone else's). I stuck to my principals and explained both ORM's are similar and that we only needed one, the second would cause a fragmented codebase for no benefit whatsoever.
The lead Dev was then forced to come and convince me to revert, again I refused and called out the shit quality of their code. The battle raged on via the public slack group and I could hear colleagues enjoying the heated debate, new users even started joining the group just to get in on mine and the cto's difference of opinion.
I even offered to fix his code for him if he were to commit it, obviously that was not taken well ;).
Once I finally got a luck at the cluster fuck of shit he had written it took me around 5 minutes to fix and I ever improved performance. Regardless he was having none of it. Still the demands to revert continued.
I left the office steaming after long discussions with the lead Dev caught in the middle.
Fortunately my day was salvages with a positive technical discussion that evening at a company with whome I had a job offer from.
I really hate burning bridges and have never left a company under bad terms but this dictator is making me look forward to breaking the news today I will be gone in 4 weeks.4 -
Let me preface this by saying I'm not a designer.
While I can make individual bits of a site look good, and I'm actually pretty skilled with CSS/Sass, overall design completely escapes me. I can't come up with good designs, nor do I really understand *why* good designs are good. It's just not something I can do, which feels really weird to say. but it's true.
So, when I made the Surfboard site (that's the project's internal name), I hacked everything together and focused on the functionality, and later did a branding and responsive pass. I managed to make the site look quite nice, and made it scale well across sizes/devices despite being completely new to responsiveness. (I'm proud, okay? deal.)
After lots of me asking (in response to people loudly complaining that the UI doesn't have X feature, scale properly on Y device, and doesn't look as good as Z site), the company finally reached out to its UI contractor who does their design work. After a week or two, he sent a few mockups.
The mockups consisted of my existing design with a darker background, much better buttons, several different header bars (a different color) with different logo/text placements, and several restyled steppers. He also removed a couple of drop shadows and made some very minor styling changes (bold text, some copy edits). Oh, he also changed the branding colors. Nothing else changed. It's basically the same exact site but a few things look a little better. and the branding is different.
My intermediary with the designer asked for "any feedback before finalizing the designs" -- which I thought odd because he sent mocks for two out of the ten pages (nine plus a 404 page). (Nevermind most of the mocks showed controls from the wrong page...).
So, I typed up a full page of feedback. Much of it was asking for specifics such as responsive sizing on the new header layout, how the new button layout would work for different button counts, asking for the multitude of missing pages/components, asking why the new colors don't match the rest of our branding, etc. I also added a personal nitpick about flat-looking controls because I fucking hate them. Everything I wrote was very friendly and professional.
... His response was full of gems. Let me share a few.
1. "Everything about the current onboarding site looks like a complete after-thought." (After submitting a design basically identical to mine! gg!)
2. "Yes [the colors match our current branding]." (No. They don't. I checked. The dark grey is different, the medium grey is different, the silver is different, the light blue is different. He even changed the goddamn color of the goddamn LOGO for fuck's sake! How the fuck is that "matching"?!)
3. "Appreciate the feedback [re: overlapping colored boxes, aka 'flat'], design is certainly subjective. However, this is the direction we are going." (yet it differs from the rest of our already-redesigned sites you're basing this off. and it's ugly as shit. gg again :/)
4. "Just looked at the 404 page. It looks pretty bad, and reflects very poorly on the [brand name] brand. Definitely will make a change here!" (Hey! I love that thing. It's a tilted, dotted outline of a missing [brand product] entirely drawn with CSS. It has a light gray "???" underlay and some 404 text inside. Everyone I showed it to, coworkers and otherwise, loved it. "Looks pretty bad". fuck you.)
I know I shouldn't judge someone so quickly, but what the fuck. This guy reminds me of one of those pompous artists/actors who's better than everyone and who can never be wrong, even while they're contradicting themselves.
just.
asfjasfk;ajsg;klsadfhas;kldfjsdl.undefined surfboard another rant about the same project long rant pompous designer apples and asteroids design8 -
Conversations I've genuinely had at work:
Me: "Do you want some advice understanding that function?"
Dev: "Yeah, please!"
Me: "Get a plastic bag and some super glue..."
Dev: "I think I'm seeing the light at the end of the tunnel!"
Me: "It's just the train of mental bitchslaps coming in the other direction."
... Some time later
Dev:"You were right... "
Dev: "If the system is so unstable, how does it keep working?"
Me: "Do you see any goats in the office?"
Dev: "Uhm no... Why would there be goats?"
Me: "There aren't, now, we ran out."
Dev: "The hell are you talking about?"
Me: "We just sacrifice our own blood to Cthulhu these days, it's cleaner and we didn't have to pay to have all the goats blood and waste matter to be cleaned up. That and it was needlessly cruel to the poor goats and that is why there is no goats and despite conventional logic the app continues to work."
Dev: "So what language is the web app written in?"
Me: "You need to understand I inherited this project, I had nothing to do with it's spawning..."
Dev: "OK, that sounds ominous... How bad is it?"
Me: "Java..."
Dev: "..."
Dev: "So what's it like working on this project? What should I expect?"
Me: "You'll call your grandmother during your lunch break just to know there's a world beyond this project. You'll go home, nose bleeding and you are gonna sit in the shower and rock back and forth, holding yourself and feeling like you're suffering imposter syndrome. You'll question why you joined this team and it'll get inside your head til it's all you think about..."
Dev: "Damn man, why are you still on it?"
Me: "Stockholm syndrome, it's too late for me..."
PM: "You're such a dark person, we're not gonna find you hanging from the lights one day are we?"
Me: "Impossible, we use those industrial fluorescent strip lights, there's no cord to hang from."
PM: "That really wasn't the comforting answer I was looking for."
Head of department: "So I need to apologize, you were never meant to be left on your to manage the product on your own, it's something someone way more senior should have been doing and we reassigned him. It wasn't professional of us, it wasn't fair of us, we're sorry. Truth be told,we're impressed you've not gone mad."
Me: "I think I have. Wibble."
A card goes round work for a sick member of staff I've never met.
Me: "How would you describe her condition?"
Dev: "She said that she 'survived' the surgery."
Me: "Yeah, I'm not great at being appropriate but even I think writing 'glad to hear that you are not dead' in a get well soon card isn't the done thing."5 -
TL;DR: Fuck you Apple.
10:30 PM, parent needs iPhone update to update Messenger. How hard can this be?
Need to update iPhone from 9.x to latest, which is so outdated it still required iTunes. Fk.
Boot iTunes on Windows 10 pc that is at least 10 years old.
Completely unresponsive
Crash in task manager
Launch and is completely unresponsive. (Also starts playing unrequested music.. Oh joy..)
Fuck this, go to apple.com to download iTunes exe
Gives me some Microsoft store link. Fuck that shit, just give me the executable
Google “iTunes download”. click around on shitty Apple website. Success.
Control panel. Uninstall iTunes. (Takes forever, but it works)
Restart required (of fucking course).
2 eternities later. Run iTunes exe. Restart required. Fk.
Only 1 eternity later. Run iTunes, connect iPhone.
Actually detects the device. (holy shit, a miracle)
Starts syncing an empty library to the phone. Ya, fuck that.
Google. Disable option. Connect phone. Find option to update.
Update started. Going nowhere fast. Time for a walk at 1:00 AM punching the air.
Come back. Generic error message: Update failed (-1). Phone is stuck installing update. (O shit)
1x hard reset
2x hard reset
Google. Find Apple forum with exact question. Absolutely useless replies. (I expected no less)
Google recovery mode. Get into recovery mode.
Receive message: “You can update, but if it fails, you will have to reset to factory settings”. Fuck it, here we go.
Update runs (faster this time). Fails again. Same bullshit error message. (Goddammit, fuck. This might actually be bad.)
Disconnect phone.
… It boots latest iOS version. (holy shit, there is a god)
Immediately kill iTunes. Fuck that shit.
Parents share Apple account
Sign in, 2FA required.
Fat finger the code.
Restart “welcome” process.
Will not send code. What. The. Fuck.
Requests access code on other parent’s iPhone.
No code present. What???
Try restarting welcome process again. No dice. (Of course)
Set code on other parent’s iPhone.
Get message “Code is easy to guess”. Ya. IDGAF
Use code on newly updated iPhone. Some success.
Requires reset of password.
Password cannot be the same as old password (Goddammit)
Change password.
Welcome process done.
Sign in again on same phone after welcome process done in settings. (Nice.)
Sign in again on other phone with updated password
Update Messenger.
Update hangs. Needs more space.
Delete shit.
Update frozen in App Store (Really??)
Restart iPhone.
Update Messenger.
Update complete past 2. Well that was easy.
Apple, fuck you.
Some call Android unintuitive, but I look at the settings app on iPhone and realize you aren’t any better.
This company hasn’t been innovative since 2007. Over 1000 USD for a phone? Are you fucking kidding me?
Updating an iPhone from iOS 9.x is probably uncommon anymore. But this is a fucking joke. Fix your shit.
Shit like this is why I’ll never again own an Apple product. I have HAD IT with the joke of a business.
Thanks for reading.17 -
I work for a company known for its unbelievable perks and benefits. Every time a job opens up, we get thousands of applications.
Candidates are becoming increasingly aggressive to stand out. Hundreds of them (literally) have purchased Facebook ads or LinkedIn promoted posts to get their information in front of current employees.
Others have taken to outright stalking our employees. I freelance occasionally and have a separate website for my freelance business. I receive dozens of calls and emails to my freelance number and email account daily from people who want to “chat about the open position.”
My husband — who has a different last name — runs a small retail shop. He’s had people come into his store and tell him that they did internet sleuthing and found out he was married to an employee of my company, and would he please pass on their resume?
I expect to get these messages on my LinkedIn or company email, but am I wrong in thinking that stalking me out and trying to contact me via personal contact info (or my husband) is way out of line?
Is there a way to sharply tell them that this is not okay? Normally, I just don’t respond, but I have to turn my phone off or it rings all day and it’s really annoying. Would it look weird to put a message on my freelance website that says do not contact me about Company X jobs?
My company is aware of this problem, and has said to forward the names of aggressive or alarming candidates their way to remove them from consideration, but it’s so common, I’m thinking this is a product of being told that if they just showed GUMPTION, they’d get the job. I feel bad for them, but it’s also creeping me out.16 -
I'm unbelievably angry. So please bear with my venting.
QA guy and I are stuck working the entire weekend. A few months ago our company decided to promote an account manager to a Product/Project management role with 0 experience and offering them 0 training. They have no experience working with devs and have been making our lives hell. I work easily 50-60hrs per week and they still budget projects according to 40hrs/week meaning they're stealing my time not to mention they're incorrectly setting the client's and company's expectations.
They now have complete control over roadmaps, client communications (this wouldn't normally be bad except that they're having technical discussions with the client with 0 tech experience), timelines, etc. and since their experience was in account management they are now working with devs but making decisions that exclusively put the client first at all costs, even if it means everyone else has to work weekends while they go on vacation!!!!
I've approached them several times to offer help on budgeting time or to propose that we do a Q4 planning so that we can improve the product instead of stay in a shitty position as we are. I'm responded with "You deal with what's in front of you. It's my job to look at the bigger picture."
They mismanaged a $500,000 project and our CEO got wind of it because the client called him while he was travelling. He in turn gave shit to our Directors who in turn chewed the QA guy and I out. "You need to be more meticulous when deploying. How could you let this happen? We're eating shit because of this. You need to work over the weekend to make up for this", etc.
I'm now directly responsible for having delivered something that wasn't up to standards even though I was already putting in the overtime.
This is honestly fucking ridiculous. How can I be blamed when I'm truly doing the best I can and putting as many hours as I can while edging toward burnout.
I love what I do but I hate feeling extremely pressured to turn down friends and family like this. Maybe I'm just too easy going and need to say no more. Who fucking knows. I know that I'm angry with the company right now.
What do you all think? If you read this rant, thank you. Feels better to write it out.13 -
It's enough. I have to quit my job.
December last year I've started working for a company doing finance. Since it was a serious-sounding field, I tought I'd be better off than with my previous employer. Which was kinda the family-agency where you can do pretty much anything you want without any real concequences, nor structures. I liked it, but the professionalism was missing.
Turns out, they do operate more professionally, but the intern mood and commitment is awful. They all pretty much bash on eachother. And the root cause of this and why it will stay like this is simply the Project Lead.
The plan was that I was positioned as glue between Design/UX and Backend to then make the best Frontend for the situation. Since that is somewhat new and has the most potential to get better. Beside, this is what the customer sees everyday.
After just two months, an retrospective and a hell lot of communication with co-workers, I've decided that there is no other way other than to leave.
I had a weekly productivity of 60h+ (work and private, sometimes up to 80h). I had no problems with that, I was happy to work, but since working in this company, my weekly productivity dropped to 25~30h. Not only can I not work for a whole proper work-week, this time still includes private projects. So in hindsight, I efficiently work less than 20h for my actual job.
The Product lead just wants feature on top of feature, our customers don't want to pay concepts, but also won't give us exact specifications on what they want.
Refactoring is forbidden since we get to many issues/bugs on a daily basis so we won't get time.
An re-design is forbidden because that would mean that all Screens have to be re-designed.
The product should be responsive, but none of the components feel finished on Desktop - don't talk about mobile, it doesn't exist.
The Designer next to me has to make 200+ Screens for Desktop and Mobile JUST so we can change the primary colors for an potential new customer, nothing more. Remember that we don't have responsiveness? Guess what, that should be purposely included on the Designs (and it looks awful).
I may hate PHP, but I can still work with it. But not here, this is worse then any ecommerce. I have to fix legacy backend code that has no test coverage. But I haven't touched php for 4 years, letalone wrote sql (I hate it). There should be no reason whatsoever to let me do this kind of work, as FRONTEND ARCHITECT.
After an (short) analysis of the Frontend, I conclude that it is required to be rewritten to 90%. There have been no performance checks for the Client/UI, therefor not only the components behave badly, but the whole system is slow as FUCK! Back in my days I wrote jQuery, but even that shit was faster than the architecuture of this React Multi-instance app. Nothing is shared, most of the AppState correlate to other instances.
The Backend. Oh boy. Not only do we use an shitty outated open-source project with tons of XSS possibillities as base, no we clone that shit and COPY OUR SOURCES ON TOP. But since these people also don't want to write SQL, they tought using Symfony as base on top of the base would be an good idea.
Generally speaking (and done right), this is true. but not then there will be no time and not properly checked. As I said I'm working on Legacy code. And the more I look into it, the more Bugs I find. Nothing too bad, but it's still a bad sign why the webservices are buggy in general. And therefor, the buggyness has to travel into the frontend.
And now the last goodies:
- Composer itself is commited to the repo (the fucking .phar!)
- Deployments never work and every release is done manually
- We commit an "_TRASH" folder
- There is an secret ongoing refactoring in the root of the Project called "_REFACTORING" (right, no branches)
- I cannot test locally, nor have just the Frontend locally connected to the Staging webservices
- I am required to upload my sources I write to an in-house server that get's shared with the other coworkers
- This is the only Linux server here and all of the permissions are fucked up
- We don't have versions, nor builds, we use the current Date as build number, but nothing simple to read, nonono. It's has to be an german Date, with only numbers and has always to end with "00"
- They take security "super serious" but disable the abillity to unlock your device with your fingerprint sensor ON PURPOSE
My brain hurts, maybe I'll post more on this shit fucking cuntfuck company. Sorry to be rude, but this triggers me sooo much!2 -
My private Email Account got hacked when I was in school, and they sent out a mail with something along the lines of "hey, you should really use this product to lose weight, it is great" to all of my contacts. Many of them ignored it, some of them called me to inform me about the issue (the worst part was, long after I used 2fa and changed passwords regularly, they still had my name and contact list, so they just made email adresses that looked like mine and continued to send out spam to my contacts). Anyway, one teacher of mine didn't know that this was a scam and was insulted because I regularly sent emails about her losing weight. And as if the whole situaion, which I couldn't do anything about, wasn't bad enough, my parents and I had do have a 1h conversation (which ended up in me explaining how those hacks work, and luckily she understood, but still). Never again. I prefer those fake ms support guys that call me over this every day.8
-
FLOYD IS HERE 😎
Gather around kids, it's story time.
So my first breakup left me so damaged and I was in darkest phase of my life. I was alone. Physically, mentally, and emotionally. I went for therapy and spearheaded into success and grew in life soooo fucking much.
31st December 2016, I first joined dR and since the first day this place felt home. Met some of brightest mind and most amazing souls here (sadly many left the place).
I used to shit post and rant a lot. But I loved everyone here. But then I don't quite remember, but I decided to quit this place as community started to grow. Many others left as well.
I came back here in 2019 IIRC and started all over again. Got along well with new members and started having fun.
I used to crib and cry about being underpaid. Lost a kickass Europe job due to pandemic.
I will skip what all happened between me and @Scout but she is a sweetheart, though very rough and brutal with me at times (actually very often), but she is so selfish for me and cares for me that I couldn't resist but listen to her always. A lifelong friend for sure :)
I used to rant about my dumb office colleagues. Definitely not the sharpest minds but good people at heart (which I did not realise).
So in October 2020, I earned a new job and my company retained me with a 100% raise and a promotion making me lead of product innovation and UX.
November end I met a girl in professional context on LinkedIn who was conducting a workshop. Being hungry for learning, meeting new people and kill my lockdown boredom, I singed up.
Now I went for December break and my colleagues sent me a gift hamper when they came to know I got a promotion. I felt bad that I ranted about them so I deleted my account and also wanted a social detox.
Post the workshop, I started conversing casually with the girl I met. She was married. But things hit off. Eventually in February end I confessed that I had feelings for her and in next few days she reciprocated. I told her I was aware of her marital status and it's okay if nothing happens between us. Then she started to open up of how she was with one guy for 17 years and was abused in everyway and wanted to separate but never had the courage and all.
She decided to file for paperwork and then be with me. Things got messy when her family got involved thinking I was causing all of it.
She went back to her partner and I realised I had some emotional and mental issues of a person's past that bothered me. But we were overcoming it. Soon the honeymoon period started phasing out.
Her family started giving me death threats. We went underground even further. More arguments and fights between us.
@Scout kept telling me I was stupid and I disregarded her. I feel like an idiot for not listening to her.
That girl kept gaslighting me, hurting me intentionally, scratching the surface made me realise how broken and damaged she was. She lied to me and created fake persona of herself to make me fall for her. Everything was lie. Literally.
I felt horrible for trusting her. My trauma relapsed and I started having crazy panic attacks leading to self harm and being suicidal. That girl was drugged all the time with psychological medicines and very poor character & personality in general (I don't want to judge anyone but just stating the facts).
Eventually she just disappeared and I was like fuck this. Earlier, after every fight, she used to show fake affection and I used to melt but not this time.
I was like fuck this shit. I have some super amazing friends like @kiki who helped me overcome this. I started going for therapy and realised what all areas I need to improve. My therapist is soooo brilliant, she understands the root cause instantly and also knows how to fix it. And the same day I and both my parents were COVID-19 positive. Last few weeks were dark and haunting.
Further more, the girl comes back after a week and then acts as a 'nice girl'.
Initially fake affection, then drama, followed by making me guilt trip, then threats, and now blaming me.
I kept ignoring her calls (50 to 70 calls in a day), emails, left her unread on Telegram, and everything I could do to ignore her without blocking her. I started gaining my happiness back.
During this mess, I lost 5+ KG of weight. She has no friends in her mid 30s. Knows no life or survival skills. Her family hates her, no career, no emotional or mental maturity, literally nothing. Insanely dumb and toxic manipulative person who is not even worth being called an ex. As per her everyone around her is an asshole except her. Every time something happened, she used to blame and bad mouth the other person. Now she is doing with me. In all her life situations, either she was a hero or a victim. One upped me all the time. Now that I see it, I hate myself for allowing it all of it and now having enough self worth to walk out of it earlier.
Continued in comments...56 -
Rant++
Just want to mention this mother fucker named Allen. Allen is a fuckin' badass. This guy fucks.
This bad mother fucker like single handedly wrote one of the best fuckin libraries for displaying tabular data, and threw in a shit ton of JSON capabilities just to make it that much fuckin' cooler.
And why? Because he fuckin fucks thats fucking why. I already told you.
And does this son of a fuck support his fucking product? You bet your sweet basement dwelling programming fucking ass that he does.
Dude works that support forum like he no doubt works that pussy. With full and complete knowledge and control, but with a gentle mature touch. Fuckin right.
Do you hate PHP? Well this fuck made a Node version? Do you hate Node? Use that shit with pure JS client side. This dude doesn't give a fuck. Don't have a table? Pass that shit JSON and GET A FUCKIN TABLE!!!
Some dipshit in your company needs to edit a database table but there's no way on sweet baby jesus's green earth you're giving that dumb fuck DB creds? Run that dumb fuck up a fully editable admin portal in like 5 fucking minutes because fuck him.
There are few things in my life I love. My corgi and my kids, and most days my wife.
But always fucking DATATABLES.
So, Allen Jardine... just wanted to give you and your product DataTables and Editor a fucking devRant shout out. It continues to be the one ray of light that works as expected and is extremely well supported when it doesn't and some days I just need that fucking consistency in my life man. So thanks.7 -
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
==================
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.7 -
Every time management says "were now using SaaS product X, and they're giving a webinar so we can learn how to use their solutions to take our business to the next level!" — I can't help but associate it with Nigerian Prince scams.
The longer I'm a developer, the more I think vertical integration and inventing your own shitty wheels isn't such a bad idea.
Their generalized, overpriced seat-per-month service always boils down to "vendor lock-in, nothing can be customized or exported, integrations are a pain in the ass, and within a few months the bills will explode because of some overage fee".10 -
"WTH! Get the fuck out of here, bitch!!".
I started a new job today (remote) and my first task was to improve product sign-up process, basically the UX is shit and the backend is even worse, never felt so bad looking at terrible software design my entire life and career. My first assignment was to introduce some sanity. (Mr. Supervisor's exact words)
Anyway, I report directly to upper management but need to get onboarded by current technology expert who's highly skilled at writing shitty code and is also stupid, literally.
It took the whole day to get him to grant access to the private repo in order to start working but that's not the story.
So, I'm seated, demoralised about the structure of software I have to work on and here I was refreshing localhost:7878 consistently and was consistently getting the message:
"WTH! Get the fuck out of here, bitch!!".
So, this same codebase I have is suppose to be the exact same one that's powering the app in production. I was furious and confused. Is stupid calling me a bitch already??? He wants to fuck??? What the hell!!!
I called him and turns out, I was suppose to switch branches. The branch I had was suppose to show that message intentionally (??!???!???) (His words exactly), I couldn't even muster the words "Why" completely before he hung up.
So basically, I got onboarded today. Quite successfully, I must add, because I know exactly the battlesuit I have to wear to my new remote job going forward!11 -
Devs are my closest friends and I have learned so much from you all.
They ask some of the best questions, their skill set is ever evolving, they have the real problem solving mindset, they are critical towards any and everything in a good way, and so much more.
There was this thread asking what a bad Product Manager is and this answer takes the cake.
The point highlighted in red is the ultimate truth.
Devs are most innovative people of our times. Big shout-out to you all and thank you for making me who I am today :)16 -
We made a software for hospitals in my old department. The senior Dev kinda gave me the software, because he thought it sucked and was perfect for a newbie like me. I really loved my work and gave everything I had to improve the quality of software, introduced tests, refactored old smelly code and talked with the product manager to overhaul the ui. Several months later this little shit project the senior gave the newbie, was a huge success and better than any thrash that the senior has created. The senior was really pissed, so everytime I had some days off, he tried to sabotage me in any way. I couldn't take that and many other things anymore, so I left the company. The most tragic part is, that my software could become a massive foundation for the company, but after I left they abandoned it. I still had some good contacts within the old company and they said, that the senior dev told everyone how bad everything was, that I have done through the years and that they can't even describe how bad the architecture of the software is. tl;dr fuck off!! I've done so much things for the company and they never appreciated it. I'm glad I quit that job. Best decision ever!!2
-
Well, it wasn't fun, but I switched jobs this month. And sadly, it was mostly because my old company started building custom applications for our larger customers. Now, normally that wouldn't be too bad (other than the fact that it distracts us form working on our main product...) but... it was decided that we would use the back end of our user-generated forms module as the data storage layer. Someone outside of my department thought it would be a great idea, and my boss kinda just rolled over without a fight because he always just figures he can "make it work" if he works hard enough...
You shoulda seen the database and SQL code...
Because of that decision, everything took at least 3x as long to write and there was always the looming possibility that the user could change the schema on a whim and break the app.
I think the reasoning behind it was to try and keep the customers tied to the aging flagship product (with a pricy subscription model), but IMO, it was not with it. Our efforts could've had much greater impact somewhere else. Nobody seemed to care what I thought about it though...
I had to start over as a front-end dev, but I'm trying to look on the bright side and seeing it as an opportunity to sharpen my skills in that area. I'm already learning a lot. And although it's a little scary at times, it's also so refreshing to work at a place where I know I'm not the smartest guy in the room.
To the future!5 -
Me: Right, its Monday, time for a fresh start. Things have been unbearable, but i've nowhere else to go just yet. I gotta just dig deep, ignore everything bad and just get it done, It's all about positivity right? Lets just ignore the little things and keep moving.
*My morning so far, 2 hours in*
Remote dev: (timezone 5 hours earlier than me) Hey so whats the plan for this quarter?
Me: ... I posted a big detailed plan in the group chat on Friday night so you wouldn't be delayed ... but anyway, lets just move on. I need you to work on A, B and C. A is just copying what Android has already done, for B one of the backend guys working next to you is doing this, he'll be able to help you. C is all documented in the ticket.
Remote dev: cool thanks.
Local dev: So I was just chatting with remote dev ... yeah he told me he has no idea what he's suppose to do.
Me: ..... Ok i'll book a video call with him in the morning. Can't do it right now.
==========
Remote dev: Hey i'm helping the BE team do some testing. I found a bug in Android. Homepage says theres no trips. But Offers screen says there is.
Me: Ok so just to confirm, The "available" offers screen has offers to accept, but the white notification on the homepage saying "You have X offers to accept" is not showing up?
Remote dev: Correct!
*debugging for 5 mins*
Remote dev: actually no, the "accepted" offers tab has offers, but the homepage says there are no upcoming offers to work on.
Me: ..... ok, thats very different ... but sure, let me have a look.
Me: Right so the BE are ... again ... sending down expired offers. Looks like the accepted tab isn't catching it and the homepage is.
Remote dev: Right i'll open a ticket for Android.
Me: ... and BE team.
Remote dev: why?
Me: ... because they once again have timezone issues. This keeps causing issues in random places. BE need to fix this everywhere.
Remote dev: right, i'll chat to them and see if they can fix it.
==========
Product: So this ticket xxxxx is clear right?
Me: eh, kind of, so you want us to add feature X to user type A?
Product: correct.
Me: right but I don't see anywhere talking about the time it will take to build the screen for feature X
Product: What do you mean the screen?
Me: ... well, feature X is only accessible on screen Y ... we would have to change screen Y to support user type A ... you know ... so they can ... use the feature
Product: .... hhhhmmm .... i suppose you are right. Well we can't just add screen Y, we'll have to add W and Z, it won't make sense without them.
Me: ... ok sure, but our estimates put us over for this quarter. I don't think we can just add in 3 screens.
Product: No this is a must have.
Me: Ok so we'll have to drop something else.
Product: hhhmmm, don't think we can ... let me get back to you.
==========
Backend team invited me to a meeting at 6am my time on Friday.
==========
... 2 hours into Monday ... there must be vodka around here somewhere -
CTO hired mid-level full-stack developer for really complex product we’re building.
Here’s the funny part - he has 2 YEO building on top of freelance dev. code base’s on wordpress… Just fucking yesterday he told me, that Angular 10 framework is simillar to Jquery. Fucking dipshit, his code is so fucking bad it looks like italian sausage made out of spaghetti.
Not sure if I hate him more than ours truly cheapest CTO or him for being ridiculously incompetent and arrogant young asshole.
I’m in charge of him.
Help me.10 -
Dear fanboys (and probably past and I hope not future me),
Just because I use alternative product doesn’t mean you can attack me personally. And because you use some service/product doesn’t mean it’s automatically fitting for all people or it’s perfect and doesn’t have any cons.
Just because you use X thing and you’re happy with it (which is perfectly OK), doesn’t mean I can’t be perfectly happy with Y thing.
Imagine if only legal haircut was yours favorite. Wouldn’t be that boring if everyone wore exact same haircut? That’s like some 1984 shit.
I’m not saying that criticizing things is bad - it’s great actually, but in civilized way.
Don’t attack a person using something and automatically assume that they are an idiots, but rather point out why that something is bad.
And please, be different. If you’re happy with that phone which you use, don’t go buy a new one just because someone told you that your current one is bad without pointing out why.
Sincerely,
Athlon
No one is gonna care anyways...8 -
Post after a long long time...
Wanted to reply to so many comments and mentions, rant about a bunch of topics, do a face reveal after I went for a vacation with family and got some pictures, update y'all on my job hunt, but was busy like hell.
Anyway, time for a story.
After my rejection with Meta and Booking, I started preparing like crazy and my interviews started going well. Refined my LinkedIn further and recruiters started reaching out as well.
Over time, with efforts and feedback, I was able to build a good pipeline.
One of my dream companies reached out to me and I got hired in just 1 round and all others were merely a formality. I was euphoric, but at the same time didn't get over excited as this seemed fishy.
They made a very good monetary offer and I didn't talk to my manager yet regarding resignation. They are pushing me for an early joining.
Read a bunch of Glassdoor reviews and also spoke to a friend who just recently quit that organisation.
He confirmed that the company has 3 months of notice, has sandwich leave policy, and some other XLT political mess.
I decided to decline the offer tomorrow.
Day saved? Not yet.
Because of this I slacked off work a lot. I am super screwed with work items pending because I thought I'd quit.
My boss resinged and new one isn't that supportive yet. He is trying to change everything overnight. Typical.
I ended up performing poorly in other companies because I was confident I'll pick this offer and didn't prepare for upcoming good companies.
Moreover, we have our offices opening up from April and I might be asked to relocate to another city which does not have a team but just because it is on paper, they might force me to be in office 50% of the time.
And what's worse is, my relationship with tech is deteriorating and they are putting the entire product team in bad light.
I have a planned weekend trip coming up, so I won't be able to prepare for interviews or work on case studies so that shit will pile up more.
I am sooooo fucking screwed. Life was stable and then all of a sudden too 180° flip.
I am hysterical right now.16 -
There are three things in my workflow that I don't like:
1. Feature requests appearing out of thin air.
It's common to be handled work at 2pm that needs to be deployed by the end of day. Usually it's bug fixes, and that's ok I guess, but sometimes it's brand new features. How the fuck am I supposed to do a good job in such a short time? I don't even have time to wrap my head around the details and I'm expected to implement it, test it, make sure it doesn't break anything and make it pass through code review? With still time to deploy and make sure it's ok? In a few hours? I'm not fucking superman!
2. Not being asked about estimates.
Everything is handed to me with a fixed deadline, usually pulled off my PM's ass, who has no frontend experience. "You have two weeks to make this website." "You must have this done this by tomorrow morning." The result, of course, is rushed code that was barely tested (by hand, no time for unit or integration tests).
3. Being the last part of the product development process.
Being the last part means that our deadlines are the most strict. If we don't meet the deadline, the client will be pissed. The thing is, the design part is usually the one that exceeds its time (because clients keep asking for changes). So when the project lands on our desks it's already delayed and we have to rush it.
This all sounds too much like bad planning to me. I guess it's the result of not doing scrum. There are no sprints, no planning meetings, only weekly status update meetings. Are your jobs similar? Is it just usual "agency work"?
I'm so tired of the constant pressure and having to rush my work. Oh, and the worst part is we don't have time for anything else. We're still stuck with webpack 2 because we never have time to update it ffs.6 -
Fuck Optimizely.
Not because the software/service itself is inherently bad, or because I don't see any value in A/B testing.
It's because every company which starts using quantitative user research, stops using qualitative user research.
Suddenly it's all about being data driven.
Which means you end up with a website with bright red blinking BUY buttons, labels which tell you that you must convert to the brand cult within 30 seconds or someone else will steal away the limited supply, and email campaigns which promise free heroin with every order.
For long term brand loyalty you need a holistic, polished experience, which requires a vision based on aesthetics and gut feelings -- not hard data.
A/B testing, when used as some kind of holy grail, causes product fragmentation. There's a strong bias towards immediate conversions while long term churn is underrepresented.
The result of an A/B test is never "well, our sales increased since we started offering free heroin with every sale, but all of our clients die after 6 months so our yearly revenue is down -- so maybe we should offer free LSD instead"5 -
Hello everyone 👋
I see people blaming the developers when you see a crappy software product , saying that they have done a bad job.
But even it could be true also it could be the product managers who didn’t give enough time todo what needs to be done or project scope is too big for the persons knowledge.
I’ve worked in a company where deadlines were so tight I didn’t have enough time to proper UI and Testing. I used to be only developer who has someone experience and I had to train the interns as well. I am also to blame to joining such company but in desperate times takes desperate measures.
And now when i’m leaving the company and I have spend 2 years of my life for apps that I’m not proud of.
Just rant. Please feel free to give ur thoughts2 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
So finished a project for a client, the client signed a contract. He signed off that all milestones where reached. Text me that he was very pleased.
We give 30 days to pay. 8 days before the due date he asked for a meeting, telling us he wants to go another direction and he wants the source code to show the new development team he's going with to get a quote from them. I tell him that, that's fine he can have the source files once he pays for the product which was in the contract they signed mind you!! And this FUCKING DICK FART threats to sue, saying he's calling his lawyer, threatening me and my development partner with physical violence, and saying he's going to sue me personally not because me work was bad but because I refused to give him the product before he paid. I was calm we offered to meet his new dev team explain the code, and show them what they needed to see to give the clients a quote and they would not allow that, saying how now I'm not getting paid instead I'm getting sued and that he will publicly shame my startup company. Just complete bullshit, good thing I saved the original contract he wanted me to sign which had threats of physical violence I. His contract... Which in retrospect should have been a hint, but it was the highest paying contract we ever landed. Seems he never planned on paying. What's a guy to do?26 -
If you think meetings are bad.
Have a day full of license renewal and price negotiation talks regarding technical products.
It's funny how you can blatantly say: We don't need feature XYZ, we get it for free via BLA.... Yet they still present it in all glory.
Even better when they don't even know their alternative / competition products...
X: "our tool is better".
Me: "We have tool XY. Doesn't cost a penny, does the same, we don't need your tool".
X: "No it doesn't. Look at all the features we have *screen share presentation* with long explanations".
Y: "Yeah... You've certain additional features, but the basics are all present in the tool that we use, so my statement remains the same".
These meetings are really mind boggling insane.
Even more insane when you get the price offers.
The cloud only madness is absurd.
Sure, we move 50 terabyte plus to the cloud from premise, no problem. *🤡*
Not that we haven't told them explicitly that cloud only isn't possible....
The worst: every motherfucking company does it for every stupid single craptastic product...
You cannot even swoop it up in a single meeting... Every company. Every single product.
*booze liberate me from madness and remove the filthy stain of humanity*9 -
Is the software at your company so bad that it's a miracle that anything works?
Does it feel like this colossal pile of broken electronics from the past 30 years duct taped together and patched with multiple tiers of adapters, wires spliced together with scotch tape, and someone on stand by with a fire extinguisher?
Do you feel like getting your product to work is like how we used to get things to work back in the eighties? Not just turning things off and on again, but things like hitting the tv to make it work again, blowing into cartridges, and the feeling of pulling on the starting cord on a gas powered mower over and over again to no avail?
That is exactly what my company's codebase is. A huge amorphous, heterogenous pile of shit that somehow works and occasionally has to be massaged to make it work again. Fuck my life.3 -
Finally after one year I understood how to carry out my job. I should do exactly NOTHING. I stopped completely organizing the team, solving bugs, helping the team developing and solving problems, explore and try stupid things said by CEO, PM and consultants.
I stopped for 2 months now and nothing happened.
I work remotely, nobody knows if I'm working or not, because nobody cares really about priorities, bugs, customers or products development.
I gain 10K$ (ten thousand) per month.
I attend skype meeting once per week or less. I say yes to everything, nobody gives a shit to what I say, even if they consider me the technical director. Actually in the meetings I only take care of being considered the technical director.
I achieved the mythical 4 hours working week.
I keep skype open in all my devices in order to answer promptly in case of problem, wherever I'm am, that's the most important thing right now.
I attended some meeting from the toilet or from the bedroom.
It was hard. To understand that the board is only after the next funding and not looking to develop a real product. It's hard to pretend helping people while thinking inside you "fuck you".
You have to let go the "guilt": if you can't login, I KNOW that is my fault, that there is a bug, that is possible to solve it, that resources and planning are needed etc. That's guilt. Just let go and say "next release" and never include it in the next release.
In this way I discovered that some users are paying the application even if they can't login.
The company is not going to disappear in the next 5 years. On the contrary, it's going to receive more money.
So the only "bad" thing is, what will I write in my CV in 5 years?17 -
A month or so ago this manufacturer of soldering equipment contacted me with the request to make a video about a review unit (a soldering handle) that they'd send to me for free in exchange. Initially I was really pumped about it - company would send me free stuff!! - but fast-forward to today and I realized how terrible a choice I've made by accepting that offer.
See, that handle is worth only €40 and I've spent so much time on the bloody video material already that it'd make my "pay" expected to be close to €1/h if not less. I feel like I've been exploited, especially since I don't even like the handle's design and am not using it. It's just collecting dust, making my work essentially free labor.
I could return the item but that's gonna cost me a fuckload of money, I could pay for the handle and cut my losses that way.. or I could do the review anyway and end up feeling very bad about that company. Or I could tell them to fuck off and lose a supply chain for my soldering equipment.
I have no idea what to do about this..
Oh and the fact that the correspondent in that company has the worst Chinglish skills imaginable, the communication skills of a toddler and is also super indecisive (they asked me to make a YouTube video first which led me to assume a video format for YouTube, but instead they want to put it on their fucking AliExpress product page, rendering my existing video footage useless!) doesn't help either.. I hate that shit company. Fucking leeches!
Anyway, what would you do when you're in a position like that?6 -
My last job before going freelance. It started as great startup, but as time passed and the company grew, it all went down the drain and turned into a pretty crappy culture.
Once one of the local "darling" startups, it's now widely known in the local community for low salaries and crazy employee churn.
Management sells this great "startup culture", but reality is wildly different. Not sure if the management believes in what the are selling, or if they know they are selling BS.
- The recurring motto of "Work smarter, not harder" is the biggest BS of them all. Recurring pressure to work unpaid overtime. Not overt, because that's illegal, but you face judgement if you don't comply, and you'll eventually see consequences like lack of raises, or being passed for promotions in favour of less competent people that are willing to comply.
- Expectation management is worse than non-existent. Worse, because they actually feed expectations they have no intention of delivering on. (I.e, career progression, salary bumps and so on)
- Management is (rightfully) proud of hiring talented people, but then treat almost everyone like they're stupid.
- Feedback is consistently ignored.
- Senior people leave. Replace them with cheap juniors. Promote the few juniors that stay for more than 12 months to middle-management positions and wonder where things went wrong.
- People who rock the boat about the bad culture or the shitty stunts that management occasionally pulls get pushed out.
- Get everyone working overtime for a week to setup a venue for a large event, abroad, while you have everyone in bunk rooms at the cheapest hostel you could find and you don't even cover all meal expenses. No staff hired to setup the venue, so this includes heavy lifting of all sorts. Fly them on the cheapest fares, ensuring nobody gets a direct flight and has a good few hours of layover. Fly them on the weekend, to make sure nobody is "wasting time" travelling during work hours. Then call this a team building.
This is a tech recruitment company that makes a big fuss about how tech recruitment is broken and toxic...
Also a company that wants to use ML and AI to match candidates to jobs and build a sophisticated product, and wanted a stronger "Engineering culture" not so long ago. Meanwhile:
- Engineering is shoved into the back seat. Major company and product decisions made without input from anyone on the engineering side of things, including the product roadmaps.
- Product lead is an inexperienced kid with zero tech background -> Promote him to also manage the developers as part of the product team while getting rid of your tech lead.
- Dev team is essentially seen by management as an assembly line for features. Dev salaries are now well below market average, and they wonder why it's hard to recruit good devs. (Again, this is a tech recruitment company)1 -
Not directly a dev related rant but needed to write it somewhere. (Also, long long rant, be aware).
I am currently working on a project for a client who is going to launch a new product. He wants us to create the brand and choose the logo, colours, communication... BUT before everything we have to deliver the website design.
We told him several times that the design has to be created AFTER the brand is created, however, he insisted. Then, we offered him to develop the UX/UI patterns but the colors and a few more things would be delivered after, so his 3rd party dev could make the job.
After working on the first draft, we sent it to him and he refused it, calling it "poor designed". We insisted that it was a draft for the UI which he ignored.
He asked for another design by taking as example a website from another (unrelated) company. We worked for another 2 days and delivered a more finished design, which he automatically refused again.
He called us to his office in order to provide us exactly what he wanted in every part of the site. He only gave us the home page and the product page, and ordered us to work through the weekend (Which we didn't as he is being quite petty about everything and bullying us).
We delivered this third draft and he made changes, sometimes going back to things that he refused before.
Now his 3rd party dev has things to work, but he called yesterday today telling us that the rest of the site must be before friday, date in which we will be showing him how the brand will be and what we have created. He didn't care about and demanded the designs.
I helped the designer to develop the designs of the website as I can work in Photoshop (I am mostly front web developer but can design UI) but he is now busy working on the brand and I had to make ALL the remaining designs, knowing that the client will reject them as soon as they are sent to him, since he hasn't given us any indication on how and what he wants.
We developers sometimes make futile work which will be used a few days or months or in order to provide demos, however, the time I wasted today made me get behind other deadlines, which makes me feel bad for not being able to accomplish them.4 -
TL;DR you suck, I suck and everybody sucks, deal with it....
------------------------------------
Let me let off some steam, since I've had enough of people hating on languages "just because"
Every language has it's drawbacks and quirks, BUT they have their strengths also. Saying "I hate {language}" is just you being and ignorant prick and probably your head is so far up your ass that you look like an ass hat. With that being said, every language is either good or bad depending on the developer writing in it. Let's give you an example:
If I ware to give you a brick and ask you to put a nail in a plank, can you do it? Yes, it will be easier if you do it with a hammer, but you have a brick, so hammer is out of the question. If you hit your thumb while doing it... well... sorry, but it is not the bricks fault - it is YOU!
JavaScript, yes it has a whole lot of problems, but it works, you can do a ton of stuff and does a good job at that, it is evolving through node and typescript (and others, just a personal pref), BUT if you used js when you ware debugging that jquery (1.0) plugin written in the free time of a 13 yo, who copy pasted a bunch from SO, well, it is not js' problem - deal with it. Same goes for PHP, i've been there where you had a single `index.php` with bazillion lines of code, did a bunch of eval and it was called MVC, but it also is evolving.. thing is all languages allow you to do some dumb stuff so YOU have to be responsible to not fuck it up (which you always DO btw, we all do). Difference is PHP/JS roll with it because the assumption is that you know what you are doing, which again - newsflash - you don't.
More or less I would blame that shit on businesses which decided to go with undergrads to save money instead of investing in their product, hell, I am in a major company that does not invest that doesn't care a whole lot about dev /tech stuff and now everybody's mother is an engineer - they care about money, because investors care about money (ROI) and because clean code does not pay the bills, but money does.
If we get all of the good practices and apply them to each language every one of them has it's place, that is why there is no "The Language", even if there was, we STILL ware going to fuck it up and probably it was going to be even worse than where we are now.
Study, improve, rinse and repeat... There are SENIORS and LEADS out there that are about 25-30 and have no fucking clue about the language, because they have stuck up their heads up the ass of frameworks and refuse to take a breath of clean air and consider something different than their dogmatic framework "way" of doing things.. That is the result you are seeing. Let me give you a fresh example to illustrate where I am at atm:
Le me works with ZendFramework 2.3-2.5 (why not, which is PHP5+ running on PHP7 [fancy, eh]), and little me writes a module for said project, and tries to contain it in its own space, i.e not touching anything outside of the folder of the module so it is SELF-CONTAINED (see, practices), during 2-3-4 iterations of code review, I've had to modify 4 different modules with `if (somthing === self::SOMETHING_TYPE)` as requested by my TL, which resulted in me not covering 3 use-cases after the changes and not adding a new event (the fw is event-driven, cuz.. reasons) so I have to use a bunch of ifs in the code, to check a config value and do shit. That is the way of I am asked to do things I hate what I've done and the fact that because of CR I have lost case-coverage, a week of work and the same TL will be on my ass on monday that things are now "perfect".
The biggest things is "we care about convention and code style"... right.... That is not because of the language, not because of me, not because of the framework - it is some dude's opinion that you hate, not the language.
New stuff are better, reinventing the wheel is also good, if it wasn't you would've had a few stone circular things on your car and things ware going to be like that - we need to try and try, that is the only way we actually learn shit.
Until things change in the trade, we will be on the same boat, complaining about the same shit over and over, you and me won't be alive probably but things will not change a bit.
We live in a place where state is considered good, god objects necessary (can you believe it, I've got kudos for using the term 'God Object'... yep, let that sink in). If you really hate something, please, oh god I beg you, show me how you will do it better and I will shake your hand and buy you a beer, but until then, please keep your ass-hurt fanboy opinion to your self, no one gives a shit about what you think, we will die and the world will not notice...6 -
"four million dollars"
TL;DR. Seriously, It's way too long.
That's all the management really cares about, apparently.
It all started when there were heated, war faced discussions with a major client this weekend (coonts, I tell ye) and it was decided that a stupid, out of context customisation POC had that was hacked together by the "customisation and delivery " (they know to do neither) team needed to be merged with the product (a hot, lumpy cluster fuck, made in a technology so old that even the great creators (namely Goo-fucking-gle) decided that it was their worst mistake ever and stopped supporting it (or even considering its existence at this point)).
Today morning, I my manager calls me and announces that I'm the lucky fuck who gets to do this shit.
Now being the defacto got admin to our team (after the last lead left, I was the only one with adequate experience), I suggested to my manager "boss, here's a light bulb. Why don't we just create a new branch for the fuckers and ask them to merge their shite with our shite and then all we'll have to do it build the mixed up shite to create an even smellier pile of shite and feed it to the customer".
"I agree with you mahaDev (when haven't you said that, coont), but the thing is <insert random manger talk here> so we're the ones who'll have to do it (again, when haven't you said that, coont)"
I said fine. Send me the details. He forwarded me a mail, which contained context not amounting to half a syllable of the word "context". I pinged the guy who developed the hack. He gave me nothing but a link to his code repo. I said give me details. He simply said "I've sent the repo details, what else do you require?"
1st motherfucker.
Dafuq? Dude, gimme some spice. Dafuq you done? Dafuq libraries you used? Dafuq APIs you used? Where Dafuq did you get this old ass checkout on which you've made these changes? AND DAFUQ IS THIS TOOL SUPPOSED TO DO AND HOW DOES IT AFFECT MY PRODUCT?
Anyway, since I didn't get a lot of info, I set about trying to just merge the code blindly and fix all conflicts, assuming that no new libraries/APIs have been used and the code is compatible with our master code base.
Enter delivery head. 2nd motherfucker.
This coont neither has technical knowledge nor the common sense to ask someone who knows his shit to help out with the technical stuff.
I find out that this was the half assed moron who agreed to a 3 day timeline (and our build takes around 13 hours to complete, end to end). Because fuck testing. They validated the their tool, we've tested our product. There's no way it can fail when we make a hybrid cocktail that will make the elephants foot look like a frikkin mojito!
Anywho, he comes by every half-mother fucking-hour and asks whether the build has been triggered.
Bitch. I have no clue what is going on and your people apparently don't have the time to give a fuck. How in the world do you expect me to finish this in 5 minutes?
Anyway, after I compile for the first time after merging, I see enough compilations to last a frikkin life time. I kid you not, I scrolled for a complete minute before reaching the last one.
Again, my assumption was that there are no library or dependency changes, neither did I know the fact that the dude implemented using completely different libraries altogether in some places.
Now I know it's my fault for not checking myself, but I was already having a bad day.
I then proceeded to have a little tantrum. In the middle of the floor, because I DIDN'T HAVE A CLUE WHAT CHANGES WERE MADE AND NOBODY CARED ENOUGH TO GIVE A FUCKING FUCK ABOUT THE DAMN FUCK.
Lo and behold, everyone's at my service now. I get all things clarified, takes around an hour and a half of my time (could have been done in 20 minutes had someone given me the complete info) to find out all I need to know and proceed to remove all compilation problems.
Hurrah. In my frustration, I forgot to push some changes, and because of some weird shit in our build framework, the build failed in Jenkins. Multiple times. Even though the exact same code was working on my local setup (cliche, I know).
In any case, it was sometime during sorting out this mess did I come to know that the reason why the 2nd motherfucker accepted the 3 day deadline was because the total bill being slapped to the customer is four fucking million USD.
Greed. Wow. The fucker just sacrificed everyone's day and night (his team and the next) for 4mil. And my manager and director agreed. Four fucking million dollars. I don't get to see a penny of it, I work for peanut shells, for 15 hours, you'll get bonuses and commissions, the fucking junior Dev earns more than me, but my manager says I'm the MVP of the team, all I get is a thanks and a bad rating for this hike cycle.
4mil usd, I learnt today, is enough to make you lick the smelly, hairy balls of a Neanderthal even though the money isn't truly yours.4 -
Flexible working hours, Home Office, fair compensation, working on a greenfield product 🥰.
I was in a bad spot two years ago jobwise and I don't regret jumping the ship for a second.
I would never have guessed that flexible hours and WFH would be so beneficial to my mental health!
Not everything is perfect all the time, but it gets pretty damn close all things considered.3 -
At a large enterprise-sized company, you are protecting the code and product from outside / bad actors constantly trying to break in. (🧠)
At a medium or small-sized company, you are protecting the code and product from clueless customers or users who can potentially break things for themselves. (🧠🧠)
At a sTaRtUp, you are protecting the code and product from being destroyed by the incompetent owners themselves. (🧠🧠🧠+)4 -
boss: *showing me the new platform*
me: "oh that looks like a good demo"
boss: "ah no that's the product! we're going to put this live"
me: "wh... there's no update nor delete function for anything! where is the user profile? where are the menus??"
boss: "that's ok, we'll take note when people start using it"
and now
boss: "we've concluded the product was bad and we're giving up on it" -
In one of my first jobs i developed an (ugly and heavly under-payed) e-commerce/media platform for a customer.
That customer was constantly making fun of his bald partner telling how he was gay, liked dicks, etc., drawing dicks and bananas as sample website logos or uploading dildo/penis images as images, he was always like this.
Once the website was ready for production i removed all the "testing" posts and images and told the client to insert some real content and alert me when it was ready for release.
Well some time after the release i got a call from that client, for the first time he was serious:
C: Hi, why there are dildo images on the server? (the website in production was full of dildo/penis images instead of actual product images, he even photoshopped the head of his partner on a penis and uploaded it!!!)
R: ehm... i told you it was on production and to stop uploading bad content....
C: Ummm ok, please fix it immediatly, thanks!3 -
I can't deal with another week of this.
Just came out of a car crash of a meeting, client expected a finished product, ready to sign off, but got a product that has so far to go.
I am a junior developer, paid junior salary, 1 and a bit years out of uni, and I am basically "lead" of a project that is way above my level of pay, I have been for a year (yes so fresh out of uni I was given this). Clients basically want out now, they reckon it's going to die. We have another week to push it, I have pulled 12 hour days without overtime. We have one other developer outsourced, plus a part time front end guy (who I trained).
I want out so bad, but if I walk, my company will be screwed and their company will be screwed.
Morally, I don't want to do that. But I can't see this ending well.
Fuck it.9 -
If you can be locked out of it remotely, you don't own it.
On May 3rd, 2019, the Microsoft-resembling extension signature system of Mozilla malfunctioned, which locked out all Firefox users out of their browsing extensions for that day, without an override option. Obviously, it is claimed to be "for our own protection". Pretext-o-meter over 9000!
BMW has locked heated seats, a physical interior feature of their vehicles, behind a subscription wall. This both means one has to routinely spend time and effort renewing it, and it can be terminated remotely. Even if BMW promises never to do it, it is a technical possibility. You are in effect a tenant in a car you paid for. Now imagine your BMW refused to drive unless you install a software update. You are one rage-quitting employee at BMW headquarters away from getting stuck on a side of a road. Then you're stuck in an expensive BMW while watching others in their decade-old VW Golf's driving past you. Or perhaps not, since other stuck BMWs would cause traffic jams.
Perhaps this horror scenario needs to happen once so people finally realize what it means if they can be locked out of their product whenever the vendor feels like it.
Some software becomes inaccessible and forces the user to update, even though they could work perfectly well. An example is the pre-installed Samsung QuickConnect app. It's a system app like the Wi-Fi (WLAN) and Bluetooth settings. There is a pop-up that reads "Update Quick connect", "A new version is available. Update now?"; when declining, the app closes. Updating requires having a Samsung account to access the Galaxy app store, and creating such requires providing personally identifiable details.
Imagine the Bluetooth and WiFi configuration locking out the user because an update is available, then ask for personal details. Ugh.
The WhatsApp messenger also routinely locks out users until they update. Perhaps messaging would cease to work due to API changes made by the service provider (Meta, inc.), however, that still does not excuse locking users out of their existing offline messages. Telegram does it the right way: it still lets the user access the messages.
"A retailer cannot decide that you were licensing your clothes and come knocking at your door to collect them. So, why is it that when a product is digital there is such a double standard? The money you spend on these products is no less real than the money you spend on clothes." – Android Authority ( https://androidauthority.com/digita... ).
A really bad scenario would be if your "smart" home refused to heat up in winter due to "a firmware update is available!" or "unable to verify your subscription". Then all you can do is hope that any "dumb" device like an oven heats up without asking itself whether it should or not. And if that is not available, one might have to fall back on a portable space heater, a hair dryer or a toaster. Sounds fun, huh? Not.
Cloud services (Google, Adobe Creative Cloud, etc.) can, by design, lock out the user, since they run on the computers of the service provider. However, remotely taking away things one paid for or has installed on ones own computer/smartphone violates a sacred consumer right.
This is yet another benefit of open-source software: someone with programming and compiling experience can free the code from locks.
I don't care for which "good purpose" these kill switches exist. The fact that something you paid for or installed locally on your device can be remotely disabled is dystopian and inexcuseable.16 -
Agreed to work on a mobile app project on Android. No contract signed, just was given what the client wanted from this sub-contractor.
No specific details given, had to figure out a lot of the minute details of how they wanted the application to behave. We would deliver a working part of the product before getting a % of the pay. We charged $30 /hr on a mobile app, low as heck.
It was me and another developer, neither of us had any contact with the clients to ask questions, all questions had to go through the sub-contractor. Many arguments and months later we find that what they're asking for only a phone manufacturer can do. Sub-contractor blames us for not doing our "research" when she/he was the only one able to contact the client to get requirements.
Sub-contractor wanted us to refund money. We declined but offered solutions.
Sub-contractor goes to client and manages to get approval of what we were able to do. Finally a light in this dark tunnel spanning 7 months.
On the day of releasing to the client the finished app, we get notification from Google that the app won't be published due to a recent policy change that came into effect in January. WTF.
Go back to sub-contractor, tell the bad news. Once again he/she says it's our fault for not doing the "research". Yeah as if we knew what Google is going to change. Asks for paid money back. We refuse.
We lastly suggested that we remove what Google wants removed on the app and release it that way.
We had billed 300 hours cumulative divided among 3 people (including the sub-contractor who didn't appear to do anything), and just 2 months of development. It's been 7 months and we were only paid for 240 hours, the rest was unpaid, and the sub-contractor still wants to make us give it back. /rant13 -
Question everything!
Comments lie.. sometimes code does too.. Customers..they lie the most..and are sloppy..
Don't be like customers, don't be sloppy. If you were sloppy own it & don't lie about it!
Pick your fights (trying to fix vs rewrite the shit out of it)..you will know what to do more with experience..
RTFM & docs.. If things still unclear, ask before your dick gets stuck in a toaster!
Ask away, learn about the customers & how they use your product.. you'll be surprised how something intuitive to you might be a rocket science for them..meaning more room to fuck things up when using it..more ways you can adapt & prevent things..
Most of all, don't fuckin lie.. ever!!
If you lie on you're CV, we will find out.. If you fuck up something & lie about it, we will find out.. but it will cost us precious time when solving it from scratch.. People fuck up..that's a fact..how you go about it is what makes/breaks it for me. So don't ever fuckin lie to me!!
And don't be arogant.. if you complain about fixing bugs, this is not a job for you.. if you can't even fix the obvious ones you've put there in the first place..twice as bad..
So think before you code..what do you want to do, how you want to accomplish this, is it reusable, can it be extended, does it introduce new technology into the project, will it fuck up current setup.. once you have this shit figured out, code will write itself..
Did I mention already you're not to lie to me, ever?!
And don't try talking about me behind my back either..I've seen it backfire before, results were not good..3 -
I make a presentation to explain to the boss why we had to tweak around the requirements in order to keep backwards compatibility and stuff. I take 15 minutes explaining how our system currently works and how these requirements would change it, etc etc.
"So... is this workflow okay for our customers?"
They stared into the presentation slide for a good minute.
"I think we should align this row over here with that square over there."
"Oh don't worry this is a demo. But do you think our customers will still be okay with these changes?"
"Yeah, but these two elements are unalligned and they look pretty bad."
I'm starting to think that fancy speech can deter people from questioning or complaining to you. I'm pretty sure they don't know their own product as well as I know it.3 -
Not about favorite language but about why PHP is not my favorite language.
I recently launched a web shop built on Prestashop. I found that some product pages are so god damn slow, like taking 50 fuckin' seconds to load. So I started investigating and analyzing the problem. Turns out that for some products we have so many different combinations that it results in a cartesian product totalling about 75K of unique combinations.
Prestashop did a real bad job coding the product controller because for every combination they fetch additional data. So that results in 75K queries being executed for just 1 product detail page. Crazy, even more when you know that the query that loads all these combinations, before iterating through them, takes 7 fuckin' seconds to execute on my dev machine which is a very very fast high end machine.
That said I analyzed the query and now I broke the query down into 3 smaller queries that execute in a much faster 400 ms (in total!) fetching the exact same data.
So what does this have to do with PHP? As PHP is also OO why the fuck would you always put stuff in these god damn associative arrays, that in turn contain associative arrays that contain more arrays containing even more arrays of arrays.
Yes I could do the same in C# and other languages as well but I have never ever encountered that in other languages but always seem to find this in PHP. That's why I hate PHP. Not because of the language but all those fucking retarded assholes putting everything in arrays. Nothing OO about that.2 -
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
The most important skill you can have is doing things without shame.
Shamelessly stay in your bed all weekends watching PewDiePie, never brushing your teeth, eating Doritos from under your pillow and peeing into empty Mountain Dew bottle if you feel like doing it.
Shamelessly spend your vacation sitting in the toilet with a laptop browsing reddit.
Shamelessly cut your product in half and ship it if you don't feel like perfecting it.
Shamelessly admit that you don't know something when you messed something up at work.
If you are a millennial like me, chances are your gen x parents told you that you have to be perfect / really good to succeed and to be worthy.
You know what? Fuck your parents then. Fuck my parents as well. Admitting this behavior wrong and actually giving up on living like something is always watching is the best thing you can do to your mental health.
I'm lazy. I write "any" here and there when they force me to do typescript at work. When I need a sidebar, I go and copy-paste that jquery snippet. I write like one article a month at best and I really want to say "fuck it" if I just don't feel like it.
You can always give up on everything and it's perfectly fine. This doesn't make you any kind of looser or something. You're perfectly fine.
Too bad I'm only beginning to master that.9 -
Spent a lot of time designing a proper HTTP (dare I even say RESTful) API for our - what is until now a closed system, using a little-known/badly-supported message-over-websocket protocol to do RPC-style communications - supposedly enterprise-grade product.
I make the API spec go through several rounds of review with the rest of the dev team and customers/partners alike. After a few iterations, everybody agrees that the spec will meet the necessary requirements.
I start implementing according to spec. Because this is the first time we're actually building proper HTTP handling into the product, but we of course have to make it work at least somewhat with the RPC-style codebase, it's mostly foundational work. But still, I manage to get some initial endpoints fully implemented and working as per the spec we agreed. The first PR is created, reviews are positive, the direction is clear and what's there already works.
At this point in time, I leave on my honeymoon for two weeks. Naturally, I assume that the remaining endpoints will be completed following the outlines/example of the endpoints which I built. When I come back, the team mentions that the implementation is completed and I believe all is well.
The feature is deployed selectively to some alpha customers to start validation testing before the big rollout. It's been like that for a good month, until a few days ago when I get a question related to a PoC integration which they can't seem to get to work.
I start investigating and notice that the API hasn't been implemented according to the previously agreed upon spec at all. Not only did the team manage to implement the missing functionality in strange and some even broken ways, they also managed to refactor my previously working endpoints into being non-compliant.
Now, I'm a flexible guy. It's not because something isn't done exactly as I've imagined it that it's automatically bad. However, I know from experience that designing a good/clear/future-proof API is a tricky exercise. I've put a lot of time and effort into deliberate design decisions that made up the spec that we all reviewed repeatedly and agreed upon. The current implementation might also be fine, but I now have to go over each endpoint again and reason about whether the implementation still fulfills the requirements (both soft and hard) that we set out to meet.
I'm met with resistance, pushback and disbelief from product management and dev co-workers alike when I raise the concern that the API might actually not be production-ready (while I'm frantically rewriting my integration tests and figuring out how the actual implementation works in comparison to what was spec'ed).
Oh, and did I mention that product management wants to release this by end-of-week?!7 -
I used to work for a company that had a main website and a lightweight app. LW app was distributed to partners and added to other sites using an iframe.
Someone decided a requirement was to retain the shopping cart for anonymous users. Some dev thought the best way to do that was to issue auth cookies to anonymous users.
The auth cookie issued by the LW app was actually for the main site. A few users for LW app decided to just come to main site to make a purchase. Since they already had an auth cookie (issued from LW app), they were never prompted to log in, create an account, or use guest checkout on the main site. They were still able to complete their order and we had their shipping address, but we didn’t have their email address so we couldn’t contact them about their order.
Customer service had no way to email customers if something went out of stock or if there was a product recall. CS would have to call these customers and ask for email addresses. Good luck getting anyone to answer or return a call nowadays. Customers were asking where their confirmation email was. The admin website was polluted with “users” that had the placeholder email for non-logged in users.
This happened because of a combination of an understaffed and overextended engineering department. Of course when something goes bad it’s going to be bad. -
As if my head couldn’t get any bigger... today we had the guys from the static analysis tool come in to show us how to use the tool and all that... the guys tell us don’t be alarmed, everyone who runs the tool for the first time has thousands and thousands of errors... my co worker did his as a “demo” and had 44 thousand MISRA errors. And a McCabe Complexity score of 700 in main().. I laughed ... and he and the guys from the tool laughed and said well fine then let’s see yours... so they set mine up to run, the room was silent, as I just smiled... only 2 MISRA mandatory errors.. and a few dozen required MISRA errors. My main McCabe score was 13.... understand both software project are working, and do very similar functions, only difference is different generation of product and who programmed it...
My boss walked in the room ... and says sooo how bad was Chris’ code as a joke... and the static analysis tool guys (who literally check people’s code for a living!) says ugh no sir, you have a very talented software engineer on your hands... we’ve never seen someone run the tool and have that few of issues... my co worker was very jealous to say the least... -
Best:
Really getting into Rust. It has taught me so many things.
1. Null is evil
2. Sum types are amazing
3. Compiler can actually have good error output
4. Multi threading is actually really scary if you don't have a compiler to back you up
Worst:
I had to deal with SSIS. It has also taught me many things:
1. No matter how 'mature' a product is, it can be awful. Simply dump a random error code, the user can figure out what went wrong, no need for good error messages.
2. The modern concept of the database is crap. It's a gigantic global state that is used by everyone and owned by no one.
3. Don't use tools that aren't made to be used with version control.
4. Even when you tell your team that it's bad, you will be ignored. -
At this point, I just feel bad for my coworker.
No, I am not frustrated or angry, just feeling terribly bad for her as how difficult life must be for someone so dumb.
We are introducing a new method to track some data in our product, like total number of sign-ups, DAU, etc.
Now the implementation is already WIP and this is known to all.
The dev has documented the approach where he has mapped the screen name, a screenshot, and a snippet of the schema that tracks that particular screen.
I kid you not guys, this coworker somehow landed on that document and started some scientific study to try and extract data.
Yes, she looked at the schema screenshot and spent like few hours trying to decode it to figure out the sign-ups and DAU.
Data via a screenshot in a document. I can't even express it.
And then texts me in panic mode that she isn't able to access the data because the file is . jpeg within a document.
I asked where is she executing the schema, because I thought she is joking initially. She said she doesn't know and asked me where she should execute it.
My mind is numb. Life must be real hard when you are so fucking dumb.19 -
So, it's time to fucking rant!
Location: A small startup where direct contact with C-Level members is frequent.
A while back we had a customer using our SaaS product who had gripes about the way it worked.
He contacted our CEO and made a bunch of claims based on bad assumptions.
In the end, he wanted all images removed from his site. I was pulled aside by the CEO and asked if I could handle this for him and make a new screen for them without images.
So I did. I tried to discuss and get deeper into the problem by saying "this seems like a symptom of a problem and not the actual problem. What do you think?" He responded with "That was his request so it must be the problem if it won't take long then let's fix it for him.
- a week later
The problem is fixed and in the wild. No more images. Now he has another request :/
He does not like the pagination on his site. He says " I shouldn't have to click a button when I scroll so I want the be able to scroll and see all my products!"
This time the CEO asks me if this can easily be done and I take him aside and say "no, this will be a big change to our system and will need to be discussed with the team."
The main point I make is that we should go down and spend some time with this customer to find out what the real problem is.
After a half hour of discussion about the real issue he decided to bring in the CTO.
In the end, we implemented infinite scroll, dropping our current product building tasks to service one customer (yeah, it's a bad scene). But we got infinite scroll built and shipped.
- 2 Weeks later
This time he demands that infinite scroll isn't good enough. "If I scroll fast then I have to wait for them to load, they should all load at once!"
This time I have had enough. I can see the CEO is coming over to me to as me how much work is in this. I tell him there are 3 things I have to say...
1. I'm going to implement exactly what he asked by the end of the day.
2. We will only release it to him because it is going to be a shit-show loading everything at once, the load times will be mental!
3. We should fire this customer, right now.
So, I built it. Customer hated it (of course, who the fuck wants to wait 30s for loading. That's basically a lifetime). We changed it back and he was still mad.
- 2 weeks later
Customer leaves. Good riddance.
- sometime later
I am in the customer's store on a road trip. I get a feel for how their store works and they have a different system for making things operate.
It turns out that they did not know what the real problem was. They actually needed a completely different system (from a UX perspective) for accessing their data.
To top it all off, the system would have taken less time to build than the shitty fixes we made over weeks of work. FFS
I guess the moral of the rant is to find the problem, not a symptom of the problem.2 -
Using mongodb for one product
A colleague as experimenting with elastic search (I think it was).
It installed a proxy around the collection to get all events for the external search storage.
Worked well, but it was just a test so once done we removed it
But thats where it got scary.
When we removed the proxy through the search dashboard it dropped the underlying collection of live data!!!
A collection it did not create.
Hows that for bad UI.
Always experiment on a separate db server. -
It's been a crazy month. Python, redis, Linux. But this one should be a bit closer to home.
Telltale games, a US game development studio is winding up and let go all their staff without severance and were told they had 30 minutes to leave the premises.
Most of the devs were living paycheck to paycheck because of the high cost of living. Some were hired a week earlier and uprooted their families to work there.
That situation is bad enough. But what's worse is the sheer lack of empathy by the customers for the staff. They just want their product cone hell or high water. One even insisted that the devs should work for free until they deliver...
Pleasing the customer should never come at the expense of your staff. We still have a long way to go as an industry
https://youtu.be/QoEHVABcVkw6 -
I think that two criterias are important:
- don't block my productivity
- author should have his userbase in mind
1) Some simple anti examples:
- Windows popping up a big fat blue screen screaming for updates. Like... Go suck some donkey balls you stupid shit that's totally irritating you arsehole.
- Graphical tools having no UI concept. E.g. Adobes PDF reader - which was minimalized in it's UI and it became just unbearable pain. When the concept is to castrate the user in it's abilities and call the concept intuitive, it's not a concept it's shit. Other examples are e.g. GEdit - which was severely massacred in Gnome 3 if I remember correctly (never touched Gnome ever again. I was really put off because their concept just alienated me)
- Having an UI concept but no consistency. Eg. looking at a lot of large web apps, especially Atlassian software.
Too many times I had e.g. a simple HTML form. In menu 1 you could use enter. In menu 2 Enter does not work. in another menu Enter works, but it doesn't submit the form it instead submits the whole page... Which can end in clusterfuck.
Yaaayyyy.
- Keyboard usage not possible at all.
It becomes a sad majority.... Pressing tab, not switching between form fields. Looking for keyboard shortcuts, not finding any. Yes, it's a graphical interface. But the charm of 16 bit interfaces (YES. I'm praising DOS interfaces) was that once you memorized the necessary keyboard strokes... You were faster than lightning. Ever seen e.g. a good pharmacist, receptionist or warehouse clerk... most of the software is completely based on short keyboard strokes, eg. for a receptionist at a doctor for the ICD code / pharmaceutical search et cetera.
- don't poop rainbows. I mean it.
I love colors. When they make sense. but when I use some software, e.g. netdata, I think an epilepsy warning would be fair. Too. Many. Neon. Colors. -.-
2) It should be obvious... But it's become a burden.
E.g. when asked for a release as there were some fixes... Don't point to the install from master script. Maybe you like it rolling release style - but don't enforce it please. It's hard to use SHA256 hash as a version number and shortening the hash might be a bad idea.
Don't start experiments. If it works - don't throw everything over board without good reasons. E.g. my previous example of GEdit: Turning a valuable text editor into a minimalistic unusable piece of crap and calling it a genius idea for the sake of simplicity... Nope. You murdered a successful product.
Gnome 3 felt like a complete experiment and judging from the last years of changes in the news it was an rather unsuccessful one... As they gave up quite a few of their ideas.
When doing design stuff or other big changes make it a community event or at least put a poll up on the github page. Even If it's an small user base, listen to them instead of just randomly fucking them over.
--
One of my favorite projects is a texteditor called Kate from KDE.
It has a ton of features, could even be seen as a small IDE. The reason I love it because one of the original authors still cares for his creation and ... It never failed me. I use Kate since over 20 years now I think... Oo
Another example is the git cli. It's simple and yet powerful. git add -i is e.g. a thing I really really really love. (memorize the keyboard shortcuts and you'll chunk up large commits faster than flash.
Curl. Yes. The (http) download tool. It's author still cares. It's another tool I use since 20 years. And it has given me a deep insight of how HTTP worked, new protocols and again. It never failed me. It is such a fucking versatile thing. TLS debugging / performance measurements / what the frigging fuck is going on here. Take curl. Find it out.
My worst enemies....
Git based clients. I just hate them. Mostly because they fill the niche of explaining things (good) but completely nuke the learning of git (very bad). You can do any git action without understanding what you do and even worse... They encourage bad workflows.
I've seen great devs completely fucking up git and crying because they had really no fucking clue what git actually does. The UI lead them on the worst and darkest path imaginable. :(
Atlassian products. On the one hand... They're not total shit. But the mass of bugs and the complete lack of interest of Atlassian towards their customers and the cloud movement.... Ouch. Just ouch.
I had to deal with a lot of completely borked up instances and could trace it back to a bug tracking entry / atlassian, 2 - 3 years old with the comment: vote for this, we'll work on a Bugfix. Go fuck yourself you pisswads.
Microsoft Office / Windows. Oh boy.
I could fill entire days of monologues.
It's bad, hmkay?
XEN.
This is not bad.
This is more like kill it before it lays eggs.
The deeper I got into XEN, the more I wanted to lay in a bathtub full of acid to scrub of the feelings of shame... How could anyone call this good?!?????4 -
Joined a place where I am the only FE engineer and the product is mature (around 15yrs).
Every single framework you can think of is there. The codebase is such a mess that it makes spaghetti looks neat, organized and logical.
I need to port the code to the latest standard but everything is so bad that tasks that would take a week or 2 max are taking almost a month.
I’m gonna cry. I feel so incompetent even though it’s not my fault.9 -
tl : "hey dotenv, we have a presentation with VP tomorrow, do you want to present any of your achievements in product?"
me: "umm, what achievements ?"
tl : "you know, something that you added in app which made a good impact to various metrics like DAU, MAU, less bad reviews etc"
me: "umm... i coded the tasks and features created by you folks. they got shipped at some point of your liking, and are now being tracked by you for its success failure. So i am not sure what to take credit for"
TL: "no, no.. i mean like any bugs or issues that you fixed outside of your daily jira tasks which you tracked to be a sucess"
me: "well as far as tracking is concerned, then neither i know how to track them nor i did. but yea, i identified a bug where an outdated payload was generating bad request and giving a silent failure instead of success which recently got shipped. maybe its helping users get actual response instead of "we will get back to you in some time" , so this might get considered?
TL : "oh that? that we have already added as one of the team's achievements (=PM+TL's achievement) and have tracked it to be a succes"
me : "what th- okay. then how about that api failure which was identified by AVP as "something is not right" in which the api was intermittently taking a long time to respond. he tagged me and i set up logs to identify which type of users got that issue and the actual cause of that api failure. that was definitely a good fox for app as we ended up with good reviews on playstore for our new release?"
TL : "oh that? how can you take credit for that fix? it was identified by AVP, you just added similar logs that we were using for tracking errors and implemented a fix when it came to you as a sprint task? its a team achievement"
me : "but you guys didn't identified the cause through your logs!? my log was more granular. and even if that's the case, we aren't allowed to pick any task just as is, without getting it added to sprint , right?"
TL : "nah, that was a team win"
*6 months later, during appraisal time"
TL : "Hey dotenv, you haven't displayed any leadership skills and haven't gone put of the box to improve the product. Here's your peanut appraisal 🗑️"
me : 🥲🔫🤯🪦
------------
fuck this stupid neaurocrst structure. i hate being a selfish prick than a team player, but either give credits as well as punishment to the team or gove credits as well as punishment to the single person. but wtf is thos culture of giving reward to team and punishment to individual? fckin communists
------ -
Angular is still a pile of steaming donkey shit in 2023 and whoever thinks the opposite is either a damn js hipster (you know, those types that put js in everything they do and that run like a fly on a lot of turds form one js framework to the next saying "hey you tried this cool framework, this will solve everything" everytime), or you don't understand anything about software developement.
I am a 14 year developer so don't even try to tell me you don't understand this so you complain.
I build every fucking thing imaginable. from firmware interfaces for high level languaces from C++, to RFID low level reading code, to full blown business level web apps (yes, unluckily even with js, and yes, even with Angular up to Angular15, Vue, React etc etc), barcode scanning and windows ce embedded systems, every flavour of sql and documental db, vectorial db code, tech assistance and help desk on every OS, every kind of .NET/C# flavour (Xamarin, CE, WPF, Net framework, net core, .NET 5-8 etc etc) and many more
Everytime, since I've put my hands on angularJs, up from angular 2, angular 8, and now angular 15 (the only 3 version I've touched) I'm always baffled on how bad and stupid that dumpster fire shit excuse of a framework is.
They added observables everywhere to look cool and it's not necessary.
They care about making it look "hey we use observables, we are coo, up to date and reactive!!11!!1!" and they can't even fix their shit with the change detection mechanism, a notorious shitty patchwork of bugs since earlier angular version.
They literally built a whole ecosystem of shitty hacks around it to make it work and it's 100x times complex than anything else comparable around. except maybe for vanilla js (fucking js).
I don't event want todig in in the shit pool that is their whole ecosystem of tooling (webpack, npm, ng-something, angular.json, package.json), they are just too ridiculous to even be mentioned.
Countless time I dwelled the humongous mazes of those unstable, unrealiable shitty files/tools that give more troubles than those that solve.
I am here again, building the nth business critical web portal in angular 16 (latest sack of purtrid shit they put out) and like Pink Floyd says "What we found, same old fears".
Nothing changed, it's the same unintelligible product of the mind of a total dumbass.
Fuck off js, I will not find peace until Brendan Eich dies of some agonizing illness or by my hands
I don't write many rants but this, I've been keeping it inside my chest for too long.
I fucking hate js and I want to open the head of js creator like the doom marine on berserk20 -
I love good advertisement but I hate bad products with "good" ads!
It's so difficult to find a reliable and up-to-date source for what's a good and bad game engine at the time. Every engine says it's the best. Every browser says it's the fastest. Every anti-virus app says it's the safest. God damn, come of with creative way and don't say your product is the best! *tilted*4 -
!rant
tl;dr at the bottom
This might not be a popular opinion, so please, if you throw things at me, limit yourselves only to tomatoes and other soft projectiles. Thank you!
So this being said, i must say ut: i actually like how facebook use this data overall. While i am completly against privacy violation, that data is given up by ourselves with a choice to do it, so we can't hand them for it. However, i think the fact that we got ads for what our interests are is quite awesome! For example because of this i found webcomics and artists i curently hold really high in my praises and this might not have been the case if FB had another business model.
This being said, i just think people should focus on problems more important than how social media manages to earn some bucks, and while is our choise to be part of that we can't simply call ourselves "products". History holds many stories about civilization that gaved no choice if you wanted or not to be a product so we could be at least glad it is not the case anymore.
Anyway, if you read all the way down here, tnaks for your time!
TL;DR: Facebook is no holy church but it actually not so bad, we can find things we get to love or actually needed in the first place in their targeted adds system. At least we have a choice to be part of this or not!11 -
Programming for an app with really bad UX is like acting in a movie with a terrible script.
You have to put your heart and souls into what you’re doing. But ultimately the final product will turn out bad due to forces outside of your own control.
There is no UX designer at my start up and our app looks like $hit.7 -
It grinds my gears to no end as to how insanely BAD most Electrical engineering software is. Lets start with Tina. A circuit simulator. A few versions ago it was rather good but now it feel like its built upon more legacy crap than fucking Windows! This causes it to have memory access violations and crashes even when you look at it from an odd angle.
On topic of circuit simulation. LT-Spice! It has less errors than Tina but is impossible to use without being lobotomized first. Who the FUCK decided it was a good idea to reinvent keyboard shortcuts by movin all of them to the F-row at the top of the keyboard. Also there is no option to delete a component. YOU NEED TO USE CUT IN ORDER TO REMOVE IT!
And at last Altium Designer for Layouting and Schematics. Whose license costs 9 grand. No one outside of some companies will buy this because of the price. Altium realized this and made two watered down versions of it. Which dont really get updates anymore. (last one was in 2018) So they essentially made a cash grab from people who cant afford their actual product. There also exist other (and a lot cheaper) products than what Altium offers. The problem is that they dont work well with interoperability. Schematics drawn in one program will look distorted in another or not import at all. And since Altium is the industry standard you got yourself this nice steaming soup of impossible collaboration. Its kinda like Adobe being absolute shit at progressing their software just because they got no competition. Or rather they do but the industry wont switch cause adobe is so engraved into it.6 -
How bad it feels when it work in a place where Agile and DevOps are mostly abused buzzwords.
Forced doing "scrum" with:
- half of the team providing endless daily reports instead of focusing on the 3 questions
- a scrum master that is barely reachable
- a product owner that would not even make a decision
- a sponsor that pushes us to go faster regardless of current technical debt (it's important to look good to other sponsors!)
- doing all possible scrum ceremonies with no value added
- not even estimating stories
- not even having accurate description in stories. Most of the time not even a description.
- half of the team not understanding agile and DevOps at all
Feels so good (not). Am I the one in that boat?? ⁉️
What's the point of doing scrum if implemented that badly?? 😠6 -
Still on the primenumbers bender.
Had this idea that if there were subtle correlations between a sufficiently large set of identities and the digits of a prime number, the best way to find it would be to automate the search.
And thats just what I did.
I started with trace matrices.
I actually didn't expect much of it. I was hoping I'd at least get lucky with a few chance coincidences.
My first tests failed miserably. Eight percent here, 10% there. "I might as well just pick a number out of a hat!" I thought.
I scaled it way back and asked if it was possible to predict *just* the first digit of either of the prime factors.
That also failed. Prediction rates were low still. Like 0.08-0.15.
So I automated *that*.
After a couple days of on-and-off again semi-automated searching I stumbled on it.
[1144, 827, 326, 1184, -1, -1, -1, -1]
That little sequence is a series of identities representing different values derived from a randomly generated product.
Each slots into a trace matrice. The results of which predict the first digit of one of our factors, with a 83.2% accuracy even after 10k runs, and rising higher with the number of trials.
It's not much, but I was kind of proud of it.
I'm pushing for finding 90%+ now.
Some improvements include using a different sort of operation to generate results. Or logging all results and finding the digit within each result thats *most* likely to predict our targets, across all results. (right now I just take the digit in the ones column, which works but is an arbitrary decision on my part).
Theres also the fact that it's trivial to correctly guess the digit 25% of the time, simply by guessing 1, 3, 7, or 9, because all primes, except for 2, end in one of these four.
I have also yet to find a trace with a specific bias for predicting either the smaller of two unique factors *or* the larger. But I haven't really looked for one either.
I still need to write a generate that takes specific traces, and lets me mutate some of the values, to push them towards certain 'fitness' levels.
This would be useful not just for very high predictions, but to find traces with very *low* predictions.
Why? Because it would actually allow for the *elimination* of possible digits, much like sudoku, from a given place value in a predicted factor.
I don't know if any of this will even end up working past the first digit. But splitting the odds, between the two unique factors of a prime product, and getting 40+% chance of guessing correctly, isn't too bad I think for a total amateur.
Far cry from a couple years ago claiming I broke prime factorization. People still haven't forgiven me for that, lol.6 -
I fucking hate morning people like the one in the story below!
Before we begin story time I want to acknowledge some things.
This is largely a case of a person having a lack of awareness and giving in to their base instincts (which are wrong).
People all tend to think that everyone else is like them (most children below a certain age cannot make this distinction and many adults never learn it either).
To take it a step further, anyone who isn't just like them is Lazy/Bad/An Asshole/etc.
FUCK THOSE PEOPLE
Now it's story time...
---------
I worked for a startup. We used a modified SCRUM, and we had standups every day @ 10 AM, the other team had then at 11:30 AM.
We get a new product owner. He is a morning person. But basically, he is a day-trader so he wakes up at 5 AM to trade and is in the office by 8 AM every day.
The problem is, he uses this as a reason to leave every day at 3 PM when EVERY other member of the team is there until at least 5 PM.
So he says one day (when I am not there) that we are moving our standups to 8:30 AM...
"Because he wants to make more use of the time and wants to get more done!"
So the next day a bunch of us miss this standup, the second day I was there in time but instead of going to the standup I sent them a picture of myself sitting in a coffee shop across the street with a message saying...
"I will be holding a meeting today at 10 AM, I expect EVERYONE to be there. If anyone on our team is absent then we will sit there and that absent person will be responsible for the time we waste waiting for them."
10 AM rolls around and the Product Owner is nowhere to be seen. The team starts complaining about the early standup and I tell them that this meeting is for me to take care of it. I tell them to sit silently and let me handle it.
We all message the PO saying the same thing...
"Come to the meeting, You are wasting our time!!!"
So he shows up at 10:20 AM and it begins.
(Now I'm going to do this as a conversation)
PO: "So I assume this is about the standup?..."
ME: "Feel free to ramble on as long as you want, you have already wasted 20 minutes of our time so we will sit here quietly and wait for you to decide you are ready to stop wasting our time with your ramblings. That's fine."
<PO then shuts up in disbelief>
ME: "So are you finished?"
PO: ...
ME: "I'm expecting an answer PO!"
PO: Yes, for now.
ME: I am moving our standups to 5 PM, end of discussion.
PO: Becuase your too lazy to be here by 8 AM?
<I expected this>
ME: No because I'm an asshole who expect everyone to conform to my schedule.
PO: ..., Well, I am not here at 5 PM.
ME: Sounds like your too "lazy" be here at 5 PM, eh?
PO: I have other things I do then.
ME: Ah, now the truth comes out. You care more about your life than our business. That's unacceptable! I personally don't care what you want to do. The fact is that we are working here and every day we end up having PO questions that need to and can't be answered because you are not here.
PO: <To the team> The standup is still at 8:30 AM.
ME: <To the team> The standup is at 5 PM. End of story. And from now on whenever we have questions before 5 for PO and he is not here we will be recording it and putting it in his report.
Then I walk away.
That day we held a standup at 5 PM. He wasn't there. He held a standup at 8:30 AM and he didn't even show up. He stayed home a video in. He then arrived in the office and said...
PO: Since no one was in the standup today we will be moving it back to 10 AM.
ME: Since PO has seen the selfishness of his ways, We will be moving the standup from 5 PM back to 10 AM.
FUCK THOSE PEOPLE6 -
When I wrote my first algorithm that learns...
So in order to on board our customers onto our software we have to link the product on their data base to the products on ours. This seems easy enough but when you actually start looking at their data you find it's a fuck up of duplication's, bad naming conventions and only 10% or so have distinct identifiers like a suppler code,model no or barcode. After a week or 2 they find they can't do it and ask for our help and we take over. On average it took 2 of our staff 1-2 weeks to complete the task manually searching one record of theirs against our db at a time. This was a big problem since we only had enough resources to on board 2-4 customers a month meaning slow growth.
I realized when looking at different customers databases that although the data was badly captured - it was consistently badly captured similar to how crap file names will usually contain the letters 'asd' because its typed with the left hand.
I then wrote an algorithm that fuzzy matched against our data and the past matches of other customers data creating a ranking algorithm similar to google page search. After auto matching the majority of results the top 10 ranked search results for each product on their db is shown to a human 1 at a time and they either click the the correct result or select "no match" and repeat until it is done at which point the algo will include the captured data in ranking future results.
It now takes a single staff member 1-2 hours to fully on board a customer with 10-15k products and will continue to get faster and adapt to changes in language and naming conventions. Making it learn wasn't really my intention at the time and more a side effect of what I was trying to achieve. Completely blew my mind. -
Workload rant.
Our new line manager is overly expecting from all of us (product/design/tech) and is micro managing on ground level without having any real sense of reality. He just wants everything to be built overnight.
He is smart, no doubt about that. But guess, I learnt from him what I had to. Not to stereotype but he is a typical Indian manager who keeps pushing boundaries.
He just added 80 features for Q1 roadmap with on 3 PMs, 1 Designer, 1TPM, and bunch of techies .
What the actual fuck! 😂😂😂 And he wanted to add more, thankfully we ran out of time in the meeting.
And my super talent and genius blabbering co-woker who works mechanically just fucked herself real bad. Lol
I kept telling her not to add Feature XYZ to the roadmap because:
1. There'll be spill over from Q4
2. She is already overloaded with 1 task and keeps crying all day about being unable to handle it
3. She is setting wrong expectations with management for herself and rest of the team
4. Boss will add more work and she'll be fucked
She was adamant and did not listen.
Now this is what happened:
1. ALL her Q4 items got pushed to Q1. LMFAO
2. She was literally crying since morning on calls for being overloaded and we are yet to start Q1 assignments
3. Additional tasks along side feature XYZ were added on her plate
I tried to push back the manager and that's when he said okay, let's keep some items for Q2.
But holy shit. 80 features between such a small team and wanted to done in few weeks.
I need to pump more steam in my job hunt activity. This place is ridiculously toxic.33 -
Does your team also tend to get stuck in the MVP Trap?
You ship a barebones version of a feature. Zero polish. That’ll be done later if it’s successful.
When the stats roll in it seems the feature got a lukewarm reception. A few users liked it, but it wasn’t a hit.
Next sprint starts and everyone asks if we should spend more time on it
The PM argues ”Why would we spend time polishing something no one uses?”
The designer argues ”Well of course no one used it, it looks like shit, we gotta spend some time polishing it!”
It becomes a chicken or the egg scenario.
Your product ends up with a bunch of half assed features. not bad enough to remove, not good enough to spend more time on.4 -
This week I got a promotion after being a junior for a year. Boss said Im a medior now and my monthly salary raised with 400 euro per month
Feels good but what feels bad is that a coworker of mine which has been contracted recently without any development experience is still making 400 more a month..
The thing is that this "developer" wanted to become a Java developer, he has been given time during work to study Java and in the meanwhile join the team thats working on a saas product (my team, where im lead dev)
During the 3 months ive counted a maximum of 10 commits and i was done with him which conflicted in a very bad vibe at the office.
During a refinement I asked if everybody understood what needs to be done, no questions asked. Next day when i was working at a clients office on another project 9 am i git a Skype message "Can you tell me What to do? I have no idea" where I replied "you should have asked me yesterday, i am not going to help you unless u come up with a question that makes sense.. what have u tried urself?".. Well then he got mad and stopped doing what he was trying to do.
The next morning i talked with him and we agreed to have a 1hour session to talk him through the user story. When we were done, he said that he understood and was going to work on it.
Next day I check, no commits, so during stand up i confronted hmj with this and he admitted hes been lacking and wanted to talk with the boss and me after stand up.
Well he admitted things were going to fast to keep up for him because he is doing some sysadmin stuff aswell.. the plan of becoming a Java dev was now history and he left the team..
Now he is just doing some sysadmin stuff but its been 3 days that hes been saying today ill setup a tomcat on the servers and give you SSH acces to deploy your .war files, today I finally gained access but he couldnt figure out how to move the war to the webapps folder.. And i wasnt allowed to transfer it to there..2 -
I'm a student at a cyber education program. They taught us Python sockets two weeks ago. The next day, I went home and learned multithreading.
Then, I realized the potential.
I know a guy1 who knows a guy2 who runs a business and could really use an app I could totally make. And it's a great idea and it's gonna be awesome and I'm finally gonna do something useful with my life.
All I gotta do is learn UI. Easy peasy.
I spent the next week or so experimenting with my code, coming up with ideas for the app in my head and of course, telling all my friends about it. Bad habit, I know.
Guy1 was about to meet Guy2, so I asked Guy1 to tell Guy2 about my idea. He agreed. I reminded him again later that day, and then again in a text message.
The next day, I asked him if he remembered.
Guess what.
I asked him to text Guy2 instead. He came back to me with Guy2's reply: "Why won't he send me a message himself?".
So I contacted Guy2. After a while, he replied. We had a short, awkward conversation. Then he asked why he should prefer a new app over the existing replacement.
He activated my trap card. With a long chqin of messages, I unloaded everything I was gathering in my mind for the last week. I explained how he could use the app, what features it could have and how it would solve his problem and improve his product. I finished it off with the good old "Yeah, I was bored😅" to make the whole thing look a bit more casual.
Now, all that's left to do is wait.
...
Out of all the possible outcomes to this situation, this was both the worst the least expected one.
I'm not familliar with the English word for "Two blue checkmarks, no reply". But I'm certain there is no word in any language to describe what I'm feeling about this right now.
By that point, Guy1 has already made it clear that he's not interested in being my messanger anymore. He also told me to let the thing die, just in case I didn't get the hint. I don't blame him though.
It's been almost a week since then. Still no reply from Guy2. I haven't quite been able to get over it. Telling all my friends about it didn't really help.
Looking back, I think Guy2 has never realised he has that problem with his product.
But still, the least he could do is tell me why he dosen't like it...
"Why won't he send me a message himself?" Yeah, why really? HMMM :thinking:
You know what? If I ever somehow get the guts to leave my home country, I'm sending a big "fuck you" to this guy.9 -
Inspired by @shahriyer 's rant about floating point math:
I had a bug related to this in JavaScript recently. I have an infinite scrolling table that I load data into once the user has scrolled to the bottom. For this I use scrollHeight, scrollTop, and clientHeight. I subtract scrollTop from scrollHeight and check to see if the result is equal to clientHeight. If it is, the user has hit the bottom of the scrolling area and I can load new data. Simple, right?
Well, one day about a week and a half ago, it stopped working for one of our product managers. He'd scroll and nothing would happen. It was so strange. I noticed everything looked a bit small on his screen in Chrome, so I had him hit Ctrl+0 to reset his zoom level and try again.
It. Fucking. Worked.
So we log what I dubbed The Dumbest Bug Ever™ and put it in the next sprint.
Middle of this week, I started looking into the code that handled the scrolling check. I logged to the console every variable associated with it every time a scroll event was fired. Then I zoomed out and did it.
Turns out, when you zoom, you're no longer 100% guaranteed to be working with integers. scrollTop was now a float, but clientHeight was still an integer, so the comparison was always false and no loading of new data ever occurred. I tried round, floor, and ceil on the result of scrollHeight - scrollTop, but it was still inconsistent.
The solution I used was to round the difference of scrollHeight - scrollTop _and_ clientHeight to the lowest 10 before comparing them, to ensure an accurate comparison.
Inspired by this rant: https://devrant.com/rants/1356488/...2 -
I've been a Macbook user for over a decade, after the initial disappointment of the 2016 MacBook Pro release I decided to move to a PC, against my better judgement I decided to buy a new Dell XPS 15, after reading all the reviews praising it's build quality and performance + it seems to have good hardware for Linux compatibility.
Soo much regret, I couldn't be more disappointed, it's such a piece of shit, I admit I probably got a bad egg, but dealing with Dell support is like pulling hairs from my testicle sack. If I have to pay an extra $500-$1000 on my next laptop for an "Apple Tax" to get a product that has been through proper quality control and has awsome customer service so be it, last time I try something new.
BTW I'm not a PC hater, I just wish more companies made high quality products.10 -
Point out that removing a "include charger" option from the new iPhone package is not appealing to users with conservative spending habits (me) and users who plan to transition from android to IOS.
"AhaHah you must be poor, poor ppl can't afford to consoom new products every year, I don't care about no chargers AhaAha"
"It'S JuST $30 jUst Buy One @ the StOre"
This is why apple users get a bad rep, apparently not tossing a perfectly functioning phone into a landfill every year makes you poor. My phone doesn't use the new chargers because I actually made a good purchase that has lasted for around 4 years and the only other apple product I own is a macbook, people like these (ain't a few), make me ashamed to be an "apple user" whatever the fuck that means.12 -
So, rant!
So, global-huge-paradigm-shift project moving forward. Lots and lots of architects of multiple sites world-wide, stakeholders and business peeps and sub-corp manager and head-of-fucking-everything-of-multi-billion-dollar-CEO involved with different amounts of energy and passion.
Huge amount of money involved. Not only for the multi-year project endeavour but also in licensing costs for the years and years to come.
It's a big deal for the corporation.
And it's clowns everywhere. Leadership, project leads, technical project leads, architects. Am I one of them? I don't think so because everyone is mad at me. Since I cause trouble. Since I tend to say that I don't give a FUCK about the product being a Gartner Visionary player if you can't test the fucker properly...
Last week I attended a workshop in USA (I live in Europe) regarding this change which left me with a bad taste in my mouth. I am so far away from my comfort zone.
To these people (me?) get payed for this work? Is this really relevant? Why the FUCK did I need to go to a different continent? "The "Core team" need to be on site". Yeah, right. Fuck you Mr Project Leader, I can tell you are far, far away of being on-top of this thing...
Pointless.
It's pointless.
But I guess this is why you get payed.
Work.
Tomorrow is Tuesday and I think I will raise my hand yet again and explain to all I meet that I see HUGE risks with this project as it goes along right now. We kind of make things and that has to, you know, work. NOT making things for 1 hour is... well, that is really, really bad.
I give this project ten percent chance of succeeding above the set thresholds for all different areas/functionality. (I am sure the fuckers will alter the thresholds to show off a "successful project". Fuckers.2 -
Do not touch Salesforce.
Especially Salesforce Marketing Cloud.
It is a fucking joke this product even exists. Buy Hubspot instead. Marketing Cloud is the single worst piece of software I have had to implement out of 4 years working in software and a lifetime working in tech.
Literally nothing works. You click a button and bam, nothing. The UI actively lies to the user. Nothing is guaranteed to work and support is some guy in India who shrugs his shoulders and walks away. Things will randomly break and warning messages are tiny, indecipherable babble that mean nothing.
If you are dev, walk away. If you are a potential customer, walk away. This company DESERVES a bad reputation for the absolute heap of dogshit that is Marketing Cloud.
The worst part is that it's likely going to affect my job and my career because of how fucking dogshit it is.
Fuck Salesforce in case the messaging isn't clear.5 -
There should be a show like Masterchef but for programmer. Where the participants build an mvc product based on the challenge of the day for a certain of time, then they got roasted by the juries if it's bad.7
-
That moment when you get blamed by product/business for a slow feature...
A feature which the same product person demanded you implement two days before the deadline that the feature was supposed to be released at but you never got told about. You end up doing a miracle and the company avoids a lawsuit but you still get blamed for it being slow. Shouldn't have agreed on the ridiculous deadline and left them suffer from their own bad decisions and communication2 -
TL;DR: Stop. Hating. On. Ads. Here are 5 reasons why:
1. "No one likes ads"
I love seeing *good* ads before I watch a YouTube video. Or I looked up videos that YT recommended because they sounded fun and they were fun:
- Coke - Hey Brother is an amazing and touching short film
- Fressnapf (="food bowl") had an incredibly enjoyable "things you didn't know about cats" video I clicked on purpose and it was good.
- I found JetBrains through ads (free for me, student perks. But tbh I use atom)
and I could name more.
2. What are the alternatives?
I know there are some non-profits and that's cool but you wanna be paid in your job, right? So ads are why Facebook (I know, Facebook isn't enjoyed here but), YouTube, stackoverflow, etc. Wikipedia asks for a few million dollars of donations each year because they don't run ads. Smaller businesses can't do that really. Hell, even codepen has a "sponsored" section. Imagine you would have to pay for all of those services.
3. "Manipulation"
isn't a bad thing unless you abuse it. I manipulate you when I say that I love codepen in the same way an ad does. No one forces you to use a product or watch an ad (you can look away and often times skip).
4. Adblock
What if everyone did that? Adblock blocks happened a while ago and the war between adblock and ad-senders is still ongoing. The moment you see an ad, you are using/watching etc something which the creators thought is worth making money off. If you don't think so, leave the site. I am an adblock user but if the site politely asks me to disable it and I enjoy the content - I will disable it with pleasure.
5. Targeted ads
Yes. The internet is a huge data-crawling piece of shit. But there are many more questionable or even dangerous ways of data-harvesting online. I am glad to see ads I like and not the ones my sister might like. Some services allow you to disable personalized ads. Or use vpn if you really want to.9 -
I worked a few times for free until the client decided he doesn't need anymore that product so he doesn't need to pay me.
From that moment i started to ask for advance payments, but a lot of times I calculated incorrectly the real price of my work miscalculating the number of hours it will take, ending working for less than 3€ per hour...
I love freelancing, but I'm really bad at evaluating my work.5 -
I'm writing a devrant like site, so a kind of forum that supports live chat under every article. Login will be just username and password to stay anonymous. Email is optional for password reset. Also it won't have password requirements. Who cares if user uses insecure password. I do like the devrant avatar thing. I will use the ducky generator instead. So everyone on the site is a custom duck. K-SASS prolly never expected his generator to be used anywhere. The requirement of this site is that it scales very well. I have db calls of 0.006s, this is for persistent data only and will be used by all site instances. I expect that it can handle many clients concurrent as long I do not return more than 30 rows or so. Events get handled by a self written pubsub server.
All sounds great and development goes fine. But why is this a rant? Because the same thing as always is biting me, I can't design a site at all. I know how but I don't have any feeling for design at all making me almost incapable of building an attractive site. The only thing I can 'design' is an application in bootstrap or smth. I spend so much time one design while I don't like to do it ironically. But looks of site is almost as important as an good working site. Good working site doesn't get used if looks bad in many casee. This is since the start of my career an issue and it sucks that I appearantly can't deliver a whole site on my own meeting my standards.
My backend work is top notch tho. Btw, this application is not to be an alternative for devrant. I do not think I can attract more users than it already has and I've seen two communities disappearing once because someone decided to make a new one, took half of community with him and both communities died after short while.
End product of this project is a working project, not a live site hosted somewhere. It's pure about mixing mostly self written tech to get the best performance. Reinventing wheel on many levels. I wanted maybe to do the site in C but decided that it's way to much work for the value. I change the site so rapid since I don't have decent plan that python aiohttp is the best choice in amount of writing it yourself and fast. It's very lightweight.
More a story than a rant, sorry27 -
I think I just miiiight have found a new job, but before, some comments about the state of the data engineering industry:
- Sooooooo many people outsource it. Man, outsourcing your data teams is like seeing the world through an Apple Vision Pro fused to your skull. Fine if it is working well, but you will go blind of your subscription expires. Or if Apple decides to ban you. Or if they decide to abandon the product... you are entirely dependent on their whims. In retrospect this is par for the course, I guess.
- Lots of companies think data engineering *starts* with an SQL database. Oh, honey, I have some bad news.
- Quite a few expect MS POWER BI will be able to deliver REAL TIME DASHBOARDS summarizing TERABYTES of data sourced from SQL SERVER (or similar). Facepalm.
- Nearly all think the handling of data engineering products is just like that of software engineering. Just try. I dare you.
- Why people think that "familiarity in several SQL dialects" is something to brag about?
- Shit, startups. Startups are dead, boomers. Deader than video rental physical stores.
That's all. On to the next round of interviews! -
I have tried hard to show my ex boss a better way to build web apps. I really tried.
I understand that some people just don't want to lose their investment, and in my opinion classic ASP was bad but not nearly as bad as a lot of people made it out to be. I enjoyed it, was fascinated by the ammount of shit I had to do by hand when using it and the lack of more modern paradigms as the ones found in more mothern languages, but really believed that it microsoft wanted they could have continue to provide updates to the language and ecosystem rather than dropping everything in favor of .net ( which is awesome really)
But his time is ticking and I really liked him as a person, he was kind and willing to adapt to my schedules and pay considerations. I really don't want him to lose clients because his stack does not conform to the new and shiny.
I guess he is scared of me offering to rewrite portions in newer tech since he does not want me to leave and leave him without a developer that knows that stuff. So i have offered myself a position along him as a partner, not a worker, since that way it will be my product investment and I will not leave it just like that.
Dude is really wealthy so he can afford it and he knows I will not do him any wrong.
I nust wish he would reconsider promptly since it would suck to have me as competition.2 -
I know I’ll get mixed views for this one...
So I’ll state my claim. I agree with the philosophy of uncle bob, I also feel like he is the high level language - older version of myself personality wise.. (when I learned about uncle bob I was like this guy is just like me but not low level haha).
Anyway.. I don’t agree with everything because I think he thinks or atleast I get the vibe he thinks everything can be solved by OOP, and high level languages. This is probably where Bob and I disagree. Personally I don’t touch ruby, python and java and “those” with a 10 foot pole.
Does he make valid arguments, yes, is agile the solve all solution no.. but agile ideas do come natural and respond faster the feedback loop of product development is much smaller and the managers and clients and customers can “see things” sooner than purly waterfall.. I mean agile is the natural approach of disciplined engineers....waterfall is and was developed because the market was flooded with undisciplined engineers and continues to flood, agile is great for them but only if they are skilled in what they are doing and see the bigger picture of the forest thru the trees.. which is the entire point of waterfall, to see the forest.. the end goal... now I’m not saying agile you only see a branch of a single tree of the forest.. but too often young engineers, and beginners jump on agile because it’s “trendy” or “everyone’s doing it” or whatever the fuck reason. The point is they do it but only focus on the immediate use case, needs and deliverables due next week.
What’s wrong with that?? Well an undisciplined engineer doing agile (no I’m not talking damn scrum shit and all that marketing bullshit).. pure true agile.
They will write code for the need due next week, but they won’t realize that hmm I will have the need 3 months from now for some feature that needs to connect to this, so I better design this code with that future feature in mind...
The disciplined engineer would do that. That is why waterfall exists so ideally the big picture is painted before hand.
The undisciplined engineer will then be frustrated in the future when he has to act like the cool aid man thru the hard pre mature architectural boundaries he created and now needs links or connections that are now needed.
Does moving to agile fix that hell no.. because the undisciplined engineer is still undisciplined.
One could argue the project manager or scrum secretary... (yes scrum secretary I said that right).. is suppose to organize and create and order the features with the future in mind etc...
Bullshit ..soo basically your saying the scrum kid is suppose to be the disciplined engineer to have foresight into realizing future features and making requirements and task now that cover those things? No!
1 scrum bitch focuses too much on pleasing “stake holders” especially taken literally in start ups where the non technical idiots are too involved with the engineering team and the scrum bastard tries to ass kiss and get everything organized and tasks working so the non technical person can see pretty things work.
Scrum master is a gate keeper and is not needed and actually hinders the whole process of making a undisciplined engineer into a disciplined engineer, makes the undisciplined engineer into a “forever” code grunt... filling weekly orders of story points unable to see the forest until it’s over because the forest isn’t show to the grunt only the scrum keeper knows the big picture..... this is bad this is why waterfall is needed.
Waterfall has its own problems, But that’s another story for another day..
ANYWAY... soooo where were we ....
Ahh yess....
Clean code..
Is it a good book, yes.. does uncle bobs personality show thru the book .. yes lol.
If you know uncle bob you will understand what I just did with this post lol. I had to tangent ( at least mine was related to the topic) ...
I agree with the principles of the book, I don’t agree with the extreme view point. It’s like religion there’s the modest folks and then there are the extremists. Well he’s the preacher of the cult and he’s on the extreme side.. but that doesn’t mean he’s wrong.. many things he nails... he just hits the nail thru the wall just a bit.
OOP languages are not the solution... high level languages do not solve everything.. pininciples and concepts can be used across the board and prove valuable.. just don’t hold everything up like the 10 commandments of which you cannot deviate from.. that’s the difference here I think..
Good book, just don’t take it as the Bible as a beginner, actually infact DONT read this book as a beginner. Wait a bit learn then reflect by reading this.15 -
So I began at my first programming job as an intern and it was as bad as it gets but I kept going, thinking that this was normal. After my internship I continued to work full-time at the same company and was working on new functionality on their legacy product build in ASP Classic and their shitty inhouse front-end framework (which btw used eval to evaluate strings in so called queues). So I was assigned a task to create a module which needed some available data in the database. I was discussing my ideas with my supervisor and she didn't let me finish and began speaking on how I should get the data needed. My approach was much more clean and used only one request and hers used two. So I heard what she had to say and I wanted to finish what I was about to say before she interrupted me but she did it again. I go nervous but let her finish once again. After that she left me to work on my task and I did it the way thought was right (and it was). After she saw my approach she was furious because I didn't talk it over with her and she said that she don't think that we can work together if I continue to work like this. I felt how my head filled with blood but I kept calm. If I had opened my mouth I would surely get fired. But I didn't open my mouth and quit after one or two months. She was a real bitch that day...1
-
So the story is true and this is what we have to deal with now..
My friend and I started to build a Web Application for a Roleplay Community. The project was for a client mainly and they don't mind if we try to sell this project to the public. All goes well except the shitty design, which is the one our client asked for. So after 6 months of work we planned to switch our backend to Nodejs, the switch look quite easy in our brains [PHP => NODEJS] because we already use Nodejs for instant functions without reloading the page.
So during the planning we earn a client which is one of the member of the clan, but he pay for another clan which is 6x bigger then the one we're in. So we continue to develop and think about the switch. We learn a news about a new competitor, this one sucks, we tried their App and it's not worth the money they ask. A few days after another competitor enter the market, this one is a big challenge for us. "Sit down tight, yea you reading this"..
The competitor use BUBBLE to create their shit, they earned 10 clients in one week and just punch us with "THE ROCK" hand, they release a lot of feature each week, they're 6 devs on that (if we can call them devs), we're 2 programmers (True Programmers). What we do in 1 week they do it in 5 hours with Bubble, the switching to Nodejs was a badluck, you couldn't add feature because of this switch during 2 weeks, this made us later and second in the race. My friend (at the same time my employee and back-end programmer) move into another appartment which obligate him to work full-time. At this time I'm f****, I'm only a Front-End Programmer vs 6 Wannabe Devs with a mother**** tool of *** (#Bubble).
This is where I am, in this beautiful opportunity to win this market but with this bad luck occuring = the opportunity is low, but our advantage is we don't have made our project public yet so they're the only good option for the communities to get that kind of web app, the others are not included and only a copy of this (Their Product) or just a big junk made with Wix.
At this time I'm working hard to make this opportunity happen, I have my math which I have to finish to have my High School diploma to do, a part-time job to get if I want to stay with an internet connection and finally I have to find a way to still be able to make my dream come true (Working on my Business at full time & Make money from it) and continue to be a Front-End Programmer/CEO of an enterprise.4 -
I got such a bad employer… oh, pardon me: committent-but-actually-employer-minus-the-responsabilities that I developed bruxism, rage bursts and chest pains due to anxiety.
Bright side 1: i quitted by saying them in their face “you don’t even fucking know what docker is and you claim to be an expert, get a fucking update”
Bright side 2: They failed a while… Oh wow much surprise, very unexpected considering that they fired the only dev with experience on the product and that they re-made the interface every other day making everyone’s job a miserable joke. Smart move, 10/10 would invest in them.
The “bright side” in this is mostly that I’m forced to accept I was a very valuable asset and shut up any imposter syndrome related to that bs work.
Bright side 3: It forced me to see someone which in turn forced me face some piled up shit, so I recently feel better and hate myself less!1 -
When you know your product sucks and even you won't support it. Too bad for those two windows phone users left in the world.
Working on a Project. Forced to use xaml I hate xaml. C# is so much more efficient/ easier. Now at least I have an excuse
. 😤3 -
Ok fellow dev's, the engineering head said that he had to let me go because apparently I'm a very talented engineer but I have a bad attitude. All of this because he claims I don't seem too interested in meetings and all that bs.
So from Monday on it's Knowledge transfer time since major parts of our product have been written by me.Wish the head had some balls, and told me he was firing me because I wont suck up to him and be a yes man, bastard thinks you can hire and fire good dev's just like that (he can) .Plus he has never appreciated folks for the effort and the work they do. :(4 -
I see many people are FOSS enthusiasts here. Some only use free software on principle. I like open source alternatives too, but not every time.
As devs, our job is to make software. How can one justify preferring free software for all our needs, yet working on proprietary software?
Does advocating free software devalue your professional skills, while you're working on paid software?
If you do good work and sell your software, then someone releases a free thing solving the same problems, that's obviously bad for you.
Why should software be treated differently than other things? Have you seen a construction company building stuff for free? If you don't want to pay for your house to be built, can you find someone who builds it for you for free? I doubt that.
Yes, you can make your software free and accept donations. But you can't plan with that financially, you still need to be treated and payed as someone who creates value.
I have no problem with free software, I love the fact that many people can find the time and are willing to contribute to the public without compensation. What I'm saying is, software is a product of hard engineering work and builds upon knowledge and experience of individuals, and should be compensated like any other work.
What do you think?6 -
I just recently started working on a product that uses MaterialUI.
I’m not saying it is bad, but it is frustrating me. As a person with a very strong understanding of CSS (SASS mostly), it is frustrating to see the framework try to make things easier while making them entirely more hard.
It would take one or two classes do a thing in SASS but instead it is accessing a bunch of sub classes already built in and modifying some aspects. And then having to add custom css-in-js for other layout needs.
It feels wrong for 1 element to have 2 different methods and areas to house it’s own styles.
I’m sure I’m going to get used to it soon enough. But it is frustrating now. -
Agile/Scrum is the worst project management style in software development.
Rather than focusing on delivering a feature or changes on the project, everyday there is always a meeting that you need to attend to, other than the daily huddle. And those meetings are none of your concern or why they needed you there
And my Product Owner and Scrum Master does not know even though how software development cycle works. When you discuss technical details or constraint to them, they either look confused or don’t know what to say and just say “If you need anything, always communicate or approach me” even you already told them the issue.
Or maybe we are doing it wrong. But it is been 5 years when they implement this Agile/Scrum and we are still bad at it.
Just ranting4 -
"The designer is not always right. The researcher is not always wrong. Profit is not always the motive; market research, whatever its outcome, should never be used as a good excuse for bad design – in the same sense that good design should never be used to promote a bad product." - Paul Rand1
-
Brazilian health ministry got a ransomware attack this night.
Why? Not because every city is demanding you to show you're vaccinated in order to go somewhere. Because you have to show it using a 20+ year old system.
Don't get me wrong the UI is nice.
But the servers...
Well, at least I have a document where my shots are registered.
And good luck to us living in this country, where we're known for gorgeous cities (people too) but also for a government that earns 200k+ while working 2 days a week and can employee 40+ people for sitting there and do no fucking shit.
No wonder if you get bad news from here every now and then, it's all true.
The ministries are dumb.
The president is dumb.
And worst. People too.
People don't care. Because they don't know they are part of 94% of more than 200 MILLION that earns minimum wage and strive to live bc the country BUYS things that we ALREADY PRODUCE and have to put a tax to every product to compensate them paying 5x times more to buy in dollars.
Well,
At least I'm not depending on this sucker of government, never cared about it.
You guys deserve to collapse and become poor again6 -
I need guidance about my current situation.
I am perfectionist believing in OOP, preventing memory leak in advance, following clean code, best practices, constantly learning about new libraries to reduce custom implementation & improve efficiency.
So even a single bad variable name can trigger my nerves.
I am currently working in a half billion $ IT service company on a maintenance project of 8 year old Android app of security domain product of 1 of the top enterprise company of the world, which sold it to the many leading companies in the world in Govt service, banking, insurance sectors.
It's code quality is such a bad that I get panic attacks & nightmares daily.
Issues are like
- No apk obfuscation, source's everything is openbook, anybody can just unzip apk & open it in Android Studio to see the source.
- logs everywhere about method name invoked,
- static IV & salt for encryption.
- thousands of line code in God classes.
- Irrelevant method names compared to it's functionality.
- Even single item having list takes 2-3 seconds to load
- Lag in navigation between different features' screens.
- For even single thing like different dimension values for different density whole 100+ lines separate layout files for 6 types of densities are written.
- No modularized packages, every class is in single package & there are around 100+ classes.
Owner of the code, my team lead, is too terrified to change even single thing as he don't have coding maturity & no understanding of memory leak, clean code, OOP, in short typical IT 'service' company mentality.
Client is ill-informed or cost-cutting centric so no code review done by them in 8 years.
Feeling much frustrated as I can see it's like a bomb is waiting to blast anytime when some blackhat cracker will take advantage of this.
Need suggestions about this to tackle the situation.10 -
So, I'm the engineering leader of a startup. This year, the company hired new directors and with that a new CPO. We've been using Google Workspace and have all our infrastructure on GCP. We never had any trouble with Google products. We also have Google SSO configured in almost every tool out there.
Yesterday, the new CPO, sent me a request to change "just some dns" on the domain. Those "just some dns" were Microsoft 365 mx, cname and text records.
I asked him if he was planning to switch to MS.
He answered: "yes! The team (a new team of marketing) wants to use PowerPoint and Teams".
I don't know you guys, but I hate MS products. They're just bad.
So, yes, it seems that now I'm gonna waste my time switching and configuring everything with MS just because they don't know other tools that are way better than any MS product!
I tried to convince him, this wasn't a good move, but it seems my opinion equals zero at this company.
I just hate this type of product managers that always wants to reinvent the wheel to let others see that they are doing something important when they're not.
Also hate when managers make decisions without ever consulting the people that will be affected by those decisions... But I guess that's how it works in this world...10 -
A message from my colleague (product name removed):
"I think I hate absolutely everything on this network. I think <insert product name> wouldn't be so bad if the pointy headed wankers hadn't got involved."
"It's the fuckery with https and screwing with certs that make it utterly shite without that, it would merely be irritating." -
FUCK YOU PHP, FUCK YOU SYMFONY AND DEFINITELY FUCK YOU SHOPWARE.
Don't get me wrong, PHP has evolved a lot, but the stuff people are building with it is just the biggest load of fucking shit I have ever seen: Shopware. Shopware is the most ass-sucking abomination to extend. It's nearly impossible to develop anything beyond "use the standard features and shut the fuck up" that is more sophisticated than a fucking calculator.
The architecture of this pile of crap is the worst bullshit ever. A mix of OOP, randomly making use of non OOP concepts and features together with the unnecessarily HUGE amount of useless interfaces and classes. Sometimes I feel like it's 90% fucking shitty boilerplate shit.
And don't get me started with TWIG. It's a nice thought, but WHY THE BLOODY FUCK WOULD YOU NOT USE VUE IF YOU ARE ALREADY USING IT FOR A DIFFERENT PART OF SHOPWARE. This makes no fucking sense whatsoever and makes development of new features a huge pain in the ass. I can't comprehend how people actually like using this shit.
OH AND THE DATABASE. OH MY FUCKING GOD. This one is bad. Ever tried to figure anything out in a database where random strings (yes MySQL "relational" - you might think) that are stored as text in a JSON format make up some object or relations during runtime?? Why the fuck do you have foreign and primary keys if you don't use them properly??
Seriously you can't even figure out which data belongs to what because the architecture just sucks fucking ass. FUCK YOU Shopware wankers, you suck, your product sucks, your support sucks, your architecture sucks and you keep releasing new versions that regularly break shit even in minor versions.
I used to like PHP, but not in projects like these.7 -
So while exploring some new ideas, I decided to figure out if I could use variables in the known set to determine the bounds of variables in the unknown set.
The variables in question are algebraic identities derived from the semiprimes, so you already know where this is going.
The existing known set is 1194 identities.
And there are, if I recall, roughly two dozen unknowns.
Many knowns have the unknowns as their factors. The d4 product set for example is composed of variables d4a, d4u, d4z, d4z9, d4z4, d4alpha, d4theta, d4omega, etc.
The component variables themselves are unknown, just their products are known. Anyway.
What I've found interesting is if you know the minimum of some of these subsets, for example d4z is smallest out of the d4's for some semiprimes, then you know the upperbound of both the component variables d4 and z.
Unless of course either of them is < 1.
So the order of these variables, based on value, changes depending on the properties of the semiprime, which I won't get into. Most of the time the order change is minor, but for some variables they can vary a lot between semiprimes, rapidly shifting their rank in the known set. This makes it hard to do anything with them.
And what I found myself asking, over and over again, was if there was a way to lock them down? Think of it like a giant switch board, where flipping one switch lights up N number of others, apparently at random. But flipping some other switch completely alters how that first switch works and what lights it seemingly interacts with. And you have a board of them thats 1194^2 in total. So what do you do?
I'd had a similar notion a while back, where I would measure relative value in the known set, among a bunch of variables, assign a letter if the conditions were present, and generate a string, called a "haplotype."
It was hap hazard and I wrote a lot of code to do filtering, sorting, and set manipulation to find sets of elements in common, unique elements, etc. But the 'type' strings, a jumble of random letters, were only useful say, forty percent of the time. For example if a semiprime had a particular type starting with a certain series of letters, 40% of the time a certain known variable was guaranteed to be above a certain variable from the unknown set...40%~ of the time.
It was a lost cause it seemed.
But I returned to the idea recently and revamped the entire notion.
Instead what I would approach it from a more complete angle.
I'd take two known variables J and K, one would be called the indicator, and the other would be the 'target'.
Two other variables would be the 'component' variables (an element taken from the unknown set), and the constraint variable (could be from either the known or unknown set).
The idea was that relationships between the KNOWN variables (an indicator and a target variable) could be used to indicate the rank relationship between the unknown component variable and the constraint variable.
You'd think this wouldn't work either, but my intuition was there were so many seemingly 'random' rank changes of variables in the known set for any two semiprimes, that 1. no two semiprimes ever shared the same order for every variable, and 2. the order of the known variables had to be leaking information about the relationships of the unknown variables.
It turns out my intuition was correct.
Imagine you are picking a lock, and by knowing the order and position of the first two pins, you are able to deduce the relative position of two pins further back that you can't reach because of the locks security features. It doesn't let you unlock the lock directly, but by knowing this, if you can get past the lock's security features, you have a chance of using information about the third pin to get a better, if incomplete, understanding about the boundary position of the last pin.
I would initiate a big scoring list, one for each known element or identity. And then I would check it in tandem like so:
if component > constraint and indicator > target:
indicator[j]+= 1
This is a simplication, but the idea was to score ALL such combination of relationship, whether the indicator was greater than the target at the same time a component was greater than a constraint, or the opposite.
This worked out to four if checks and four separate score lists.
And by subtracting one scorelist from another, I could check for variables that were a bad fit: they'd have equal probability of scoring for example, where they were greater than the target one time, and then lesser than it for another semiprime.
So for any given relationship, greater or lesser between any unknown variable and constraint variable, I could find any indicator variable and target variable whose relationship strongly correlated to the unknown's.18 -
If you could choose between:
• Waiting for an original idea to do something innovative (and maybe never get it).
• Spending an enormous amount of time to recreate one of the first projects you've worked on (and loved) as a beginner, using new technologies and the knowledge gained over the years, knowing that it could be a good product but will probably not get the interest of public and will not sell well on the app stores.
• Working on a project that could work (or not) and become popular, but that doesn't really interest you.
What would you do?
Personal satisfaction or profit?
Of course I don't want to focus on profit, but I'm still a student and my free time is very short, and sometimes I work very hard (I tend to put social life, exams, health, etc. on the second place) on projects that nobody uses. My family and friends think I'm crazy, and sometimes me too.
It's something bad, isn't it?2 -
I’ve been self-employed for the past three years. Though I did spend my first year out of college working for a three person, now-defunct startup, I’ve never had a typical 9-5 (or more like 10-8 nowadays) and to be honest, never really wanted one. Lara Schenck, LLC is a profitable business, and every day I do work that is enjoyable and challenging. I make my own hours, take vacations when I want to, and run everything on my terms.
While that’s all awesome, what you don’t get from working independently is the team experience. I base my work on teaching technical literacy to non-technical designers and content producers so that they can better communicate with developers. The theory is that if a designer understands why it’s a bad idea to request 18 fonts, and if content producers know why it’s not trivial to edit the titles of a set of related posts, life will be easier for everyone. At least that’s my theory, and the assumption on which I’ve developed my business.
Lately though, in a bout of the good ‘ol impostor syndrome, I’ve been feeling like, wait, how can I be telling people how to work on teams if I’ve never really worked on one? I’ve always been the ‘Lead UI/UX/Visual/Web/Front-end Designer-person-thing’, and have never worked for a larger company with separate teams for product, UX, marketing, content, frontend, backend, etc.
So I felt the urge to look for a job, and a seemingly perfect one fell into my lap. It was for an awesome company, and it sounded right up my alley skill-wise. The title was ‘UX Engineer/Interaction Designer’. I usually balk at the the term “engineer” (perhaps for good reason) but considering the presence of “designer” and the nature of the job post, I wasn’t too bothered.9 -
Scrum is such bullshit. You are made to report to idiot product owners who were promoted from customer service reps.(that is who they were in my previous job). A few years answering phones and all of a sudden programmers are made to report to them who don't know jack about coding...Made to work in high pressure projects by setting 2 week deadlines. Then when there are bugs in code, you are penalized for bad code.5
-
When your teams lead developer still uses unsecured FTP to deploy websites, does not use git or svn and would rather build their own cms than use an off the shelf product.. I can't help but learn bad practice's as a junior!2
-
What i thought to be a cool company, turned out to be a shitshow.
Our "Team Lead" when assigning tasks keeps saying things like "it's only..." or "It's just..." or "You only need to change one line [there]..." And that's in regard to a terrible product with a pile of tech debt. So when you actually start to develop/fix things, you end up redoing third of the whole application.
How do you deal with this? How do you tell the "leader" that he should look into what we have in a code before making us all look bad for doing "just this one line change"?2 -
!dev
So that new keyboard I bought? They sent me a French azerty instead of a Belgian azerty layout. Meaning the special keys are in the wrong places.
It's from a third party vendor. Here was me thinking I was getting a good deal on a second hand product in a box that had been opened but returned. Think I can guess why that happened.
I contacted support who will contact the third party but I have a bad feeling about this already. Both the third party and website where I ordered this are Dutch and they are used to Qwerty. Guess I should have bought on a Belgian website at full price :(5 -
I'm a backend developer who for the last year has been helping the iOS-, Android and Frontend team with rewriting their shit.
Now I got yelled at for not making any new features on the backend, and we need to ship fast. So my manager dropped all further work on our backend, since it clearly needed a rewrite, since there have been no new features which to him indicates bad code that is hard to change.
Now all the developers are rewriting their applications to fit the new backend created by some new guy, which for some reason is stuck in creating a log-aggregator from scratch instead of the actual product. -
"Hey guys we originally set the demo date to August 5th and thus far I have not seen any previews before that, what's going on here?"
Ok see, that is the kind of thing that I would take to me own lil broken heart IF:
1 It was coming from a product manager at where I work
2 He would never get any sort of updates or would just plain not know about us
3 He would be I dunno....fucking paying us?
This is the thing, a friend offered the chance to help him build a product for a business man somewhere down in the land of tacos. Being in a "fuck it" mood and not wanting to say no since it sounded interesting enough I said yes. The "owner" said that he would not be able to pay since he already had hired a team of developers before that did not deliver and as such he was instead offering a part of the company.....sounds familiar?
Not wanting to let my friend down, I told the owner that I would help just as long I get complete CTO power over the product and not crying about the stack being used or ME NOT GIVING THE PRODUCT MY FULL ATTENTION BECAUSE HE WAS NOT FUCKING PAYING.
He said ok.
Of course he did not like it, but he said ok.
He has been asking for the code, the platform, demos and a bunch of other shit which I continue to refuse since he has not offered me or my boy a copy of the legal documents that we require.
Him: "You will get them soon enough, I still need to see the product just to make sure everything is ok"
Me: "You wouldn't even know where to begin looking unless you have a third party that could verify the code, last time I checked I was to be the only one good for this"
Him: "Yeah and you and <friend> are, but I just need to see the product"
Me: "I send you videos and demos, sorry dude, but no binding document == no code. I know you think I am young, give me some fucking credit because this is not my first rodeo"
Him: "I am not trying to play you or anything, you can trust me"
Me: "No, not really. Talk to me about this when you get the documents"
Him: "Well its cuz this is taking too long...."
Me: "Tssss I know!!! It sucks right? Want a good product, built with all the bells and whistles and YOU DON'T WANT TO PAY? guess what dude, I do have a full time job, your product gets my minimal attention, right there at the bottom next to taking a shit, meaning that I will give your product the same time and attention as I would going to the throne. Aye don't feel that bad, I normally take about 1 hour on the shitter, you get that for fucking free."
To be fair ladies and gents I normally don't just explode on people like this. But I just can't fathom not paying someone for a rather large software product, with only a promise that "it will sell" and then telling them to hurry up.
Far as I am concerned this product will flop, but he seems to think it is the next big thing(of course).
He can go choke on some chode.
Fucking prick.1 -
The good: dotnet core RTM
The bad: my previous shitty work place, their shitty product, the very shitty TL that had no fucking idea how to lead or manage the team
The ugly: the shit storm I dropped on TL, group leader, CEO/CTO when I left... -
How many sh*t days does it need to make me down?
3 ...
I hate my company, for making everything overcomplicated and annoying.... I have to discuss with 3 peoples for 3 days to getting some gitlab premium licenses (20$ per month for 10 licenses)... Why do you need it? Why we can't use the free version? Why Why Why... It's not enough to tell them it will save us much times and improves the quality of development.....
Also I wanted to ask if we can to Jaxb or another Dev Conference this year... Then I got the information that we have about 2000 Euro for 10 people for training.......... What should we do if everyone buys a book this budget is out .... f*ck company....
Second day, half of the day was taken for fixing the live db on the fly cause of a bad structure of tables... at least fixed some other inconsistence too... later the day fixed a freaking shitty bug with Spring Devtools and 2 Classloader to make the product that I'm presenting in 2 days running.
Today next shitty day with discussion that everything I did last half year (introducing Microservices, Kubernetes, Kafka and other DevOps things) could be maybe useless when the external company will say that they use another ecosystem -..- for their microservices...
Someone looking for a disappointed java developer? I just want to develop the best product ever... I'm happy with every area... Frontend, Backend, DevOps, Fullstack, Architect in some kinds depends on the wishes and technologies.1 -
Just bought this bad guy:
https://adafruit.com/product/2267/
Can't wait to start fiddling around.
OmeLEtte du fromage!
(ref: https://devrant.com/rants/1535734/... )3 -
How is the shopify developer experience actually so bad.
Shopify Buy JS docs suck
Product ID's are inconsistent
Token management is not built into GUI1 -
Step 1:
Promise customer something non-existent
Step 2:
Complain big time that engineering is not co-operating in getting the order out in time. (without which you won't get your end of year sales performance bonus)
Step 3:
Comment about the product being sub standard. Rant about how engineering "great" products must be the philosophy. Blah blah blah...
Offer to provide your fucking support to make the product better despite not being responsible for it.Be the greater person.
Step 4:
Deliver the product. Pocket your bonus. Make jokes about how bad the product is and how you won't sell it again to protect the company brand reputation.
Step 5:
Rinse and repeat.
Fucking assholes. -
One day, the Director of Web Ops (marketing role) submitted a ticket to update the list of product categories on the website’s navigation. Sounds like a simple ticket right? Just some html edits. Nope. Every day for three days, she changes her mind and adds new changes. What should have taken me 10 minutes stretched out to three days. She held up code review of my ticket because she kept making changes.
She had plenty of time to sort out what she wanted. That ticket had been sitting in the To Do pile for two days before I touched it.
She was being an asshole because she knew she could get away with it and I had no recourse: my direct manager was on vacation, the entire dev team was going to be laid off anyway so no one was going to defend us on “trivial” matters, and we were going to enter code freeze soon so she’d just argue it was critical business changes for our critical revenue season.
I suspect she was also just not good at her job. I never met her in person because she was hired during the 2020 pandemic and we were all working remotely. I did see her make a five minute presentation during an all staff meeting…and she didn’t come off too well. Her voice was trembling during her turn to speak…like she was not confident or not prepared.
She knew she was causing chaos but she put on this act of not knowing. She was definitely trained on our dev team’s practices for tickets and deployments. She knows about code review, beta testing, and user acceptance testing that has to happen before a ticket can be deployed.
It happened to be before Thanksgiving weekend 2020. Our deploy was going to happen on Tuesday instead of Thursday because Thursday was a holiday (no one would be working) and Wednesday was a half day.
Tuesday afternoon at 1pm, she messages me and the dev in charge of deploy about more changes! My time is already occupied because our Product Manager went on vacation and dumped a large amount of user acceptance testing on me. I scream at my computer at that point because I realize I’m in the ninth circle of hell. I tell the other dev in a separate message that Web Ops has been making changes EVERY DAY since I picked up that ticket.
Other dev tells her that we have to check with the C-suite executive for engineering because we’re not allowed to make changes to tickets so close to the deploy. This is actually the policy. He also tries to give Web Ops the benefit of the doubt because we’re not deploying on our usual day. He had to do that to so she didn’t feel bad (and so she doesn’t complain about us not working towards the company’s goals).
Other dev had to do the code changes because I was otherwise occupied with user acceptance testing. If I were him, I’d be pissed that I was distracted from concentrating on the deploy so close to the holiday.
Director of Web Ops was actually capable of even more chaos. I ranted about it before. For that dramatization and if you want to go down the rabbit hole, see: https://devrant.com/rants/4811518/...4 -
there is no way YouTube isn't dead as a product
last night I had to switch from matrix voice chat to discord voice chat to talk to somebody (because their phone suddenly doesn't do matrix well, keeps cutting out their mic if their screen is turned off or they switch to a different app wtf). they misinterpreted something I said as talking about "shock value". I think that's a demeaning term that doesn't capture why "bad" content is good. now I'm just chilling trying not to workaholic and first recommendation on YouTube I have is about "what happened to shock value websites". oh I'm sure that's a coincidence
this has been happening increasingly and I fucking hate it. it keeps recommending videos that have absolutely nothing to do with what I'm watching or have ever watched or would even be in the interest of in the past, but I mention it somewhere and it creepily suggests the content to me, always with videos claiming to have 2-3 million views. bullshit. I tried some of these and there's no way anybody cares about this content in such numbers. it's so lukewarm and dumb. and how the hell do they have "opinion" vlogs about every topic? since when did that become the #1 type of content on YouTube? cuz it's 50% of my recommendations and I've never given a shit
I have like 500 subscriptions on YouTube. I've had an account a long time. a lot of them are old channels that stopped being active as YouTube evolved, which I think was a shame. a lot of them had to do with ad revenue or YouTube algorithm just not suggesting their content to new people. they were wholesome, honest channels with really good content I think -- really good game analysis, compilations of unique or weird viral content and the guy was just a funny dude in his basement, etc. but fair I guess. shame, but fair
Then there was the quiet era, where your front page just didn't suggest the good channels and just the stupid channels. it didn't suggest your subscriptions but in your interest area or something. what's the point of subscriptions if you're not showing me them? this is also about the time if I left a comment on a video I ceased receiving replies so I assume I was shadow banned. I have not received a single reply in years now, even on small channels. some content creators noticed if they post on their own channels and accidentally logged out and looked for their comment their own comments don't show up. just weird annoying nonsense that's inappropriate for them to be doing. bruh, please
and then the next wave came, it wasn't just YouTube won't recommend your channel, in the COVID era what came was if you mentioned something then channels with previously millions of views, still currently millions of subscribers, suddenly went down to 5k-50k views per video. bitch please, you expect anyone to believe this nonsense?
then they fucked up the search. I KNOW videos exist and I can't find them. I type in half the video's title, you can't find it. thankfully if you type in every single word exactly you can still find them. bruh that's too much. also just search plain doesn't work. if I'm looking for a specific topic I get 5-10 max videos on that topic and the rest are irrelevant recommendations. this is entirely ridiculous. there's videos I KNOW exist on YouTube and nobody gave a shit about them, like 5 view Benny benassi music clips with a scene from a video game. I can't even meme anymore
this morning a friend on discord sent me a... weird clip, of like an anime skit. problem? well discord embeds YouTube videos. I pressed play. I get... an ad. lol what. I browse away and back to the video. try again. ad. yeah I'm not playing this. I have to refresh the page 20-30 times sometimes just until the ads stop fucking up every time my adblocker ceases working (and then I have to go update it again lol -- by going to the developer page for the ad block because it was banned from the app store so you can't auto update it and have to manually update it every time)
my friend links me a discord plugin to... remove ads... from YouTube embeds... bruh
I used to mod discord but it's annoying, because every time discord updates you have to go re-apply the hack to be able to mod your discord
I think we should just plain move away from YouTube. during COVID era a lot of people got banned in subreddits on reddit. I noticed when you get banned, the subreddit still has you listed as a subscriber. the r/Canada subreddit for example has 3 million subscribers but the activity of a subreddit that's maybe 1k people. increasingly subreddits just became ghost towns after that like that. reddit is a dead website, with fake numbers. I think YouTube is now a dead website, with fake numbers. no fucking way stupid lukewarm opinion videos with absolutely nothing to add are getting 2-3 million views and people are just clamouring for these takes they didn't ask for
also stop listening in on my private conversations. fucking disgusting. idc if an AI is transcribing. ew.11 -
I'm studying a mix of computer science and engineering. This semester we were tasked with hacking a "smart-production"-production-machine.... And OMFG it's shit!
This is a product by a major company and it's version 4... How the fuck is it this bad?
Like, using the same 5-letter password on all the PLC's FOR THE ROOT USER!!! WTF!!! AND open, unencrypted Telnet.....
This is a million dollar machine and, as soon as a hacker is on the same network it is done for! wtf.... I just can't believe how easy it was to get in and reek havoc.6 -
The moment when you accidentally delete the final product instead of the experimental one because they have the same prefix and the shell's completion choose the final product when you type the name.
That happened to me today. I accidentally deleted a postfix calculator that I wrote in Scala instead of the sbt one (Which does nothing) because both of them have the same prefix (nimtha is the program's directory name, and nimtha-sbt is the sbt one). I don't notice that until I go back to the project directory and don't see the program's directory. I tried to recover it with TestDisk, but it can't. All because of fish's shell completion, and also because of me.
At least that was a pretty small project so I don't feel very bad.4 -
Are sql joins a bad practice? :o
I recently did some work on a page for a site ive never worked on cause my boss told me to. So they recently added product detail video urls to a table that has a relationship to the products table. The existing code was querying for the products on that said page and then during the loop that was outputting the products ,there was another query for getting the url for the current iteration/product. Told my coworker that this imo was pretty inefficient way to do it and switched it to a join and did 1 query then output that but his words were "The way it is now maybe ineffecient in your opinion but it works. Also combining inner joins with left or right is not a good practice. If the data is changed upstream the entire query would need to be redone to accommodate the change". Mind you that they query views a lot which are all made from queries that use joins and I'm also pretty sure these views were written by someone who used to be here because these guys are not good at sql or at least that's what there queries show. I'm at the point now where I'm realizing that my boss and this other guy don't give a fuck about efficiency or doing things the right way they just want it "to work". So this coworker changed my query back to the way it was because he said it broke the shopping cart even though that was already broken when I started... What is life? Maybe I'm the stupid one?7 -
is being a tech/dev person, a dead end job?
i have been thinking about this for sometime. as a dev, we can progress into senior dev, then tech lead, then staff engineer probably. but that is that. for a tech person :
1. their salary levels are defined. for eg, a junior may earn $10k pm , and the highest tech guy (say staff engineer) will earn $100k pm, but everyone's salary will be spread over this range only, in different slots.
2. some companies give stocks and bonuses , but most of the time that too is fixed to say 30% of the annual salary at max.
3. its a low risk job as a min of x number of tech folks are always required for their tech product to work properly. plus these folks are majorly with similar skills, so 2 react guys can be reduced to 1 but not because of incompetency .
4. even if people are incompetent, our domain is friendly and more like a community learning stuff. we share our knowledge in public domain and try to make things easy to learn for other folks inside and outside the office. this is probably a bad thing too
compare this to businesses , management and sales they have different:
1. thier career progression : saleman > sales team manager> branch manager > multiple branch manager(director) > multiple zones/state manager (president) > multiple countries/ company manager (cxo)
2. their salaries are comission based. they get a commission in the number of sales they get, later theybget comission in the sales of their team> their branch > their zone and finally in company's total revenue. this leads to very meagre number in salaries, but a very major and mostly consistent and handsome number in commission. that is why their salaries ranges from $2k pm to $2-$3millions per month.
3. in sales/management , their is a always a room for optimisation . if a guy is selling less products, than another guy, he could be fired and leads could be given to other/new person. managers can optimise the cost/expenses chain and help company generate wider profits. overall everyone is running for (a) to get an incentive and (b) to dodge their boss's axe.
4. this makes it a cut-throat and a network-first domain. people are arrogant and selfish, and have their own special tricks and tactics to ensure their value.
as a manager , you don't go around sharing the stories on how you got apple to partner with foxconn for every iphone manufacturing, you just enjoy the big fat bonus check and awe of inspiration that your junior interns make.
this sound a little bad , but on the contrary , this involves being a people person and a social animal. i remember one example from the office web series, where different sales people would have different strategies for getting a business: Michael would go wild, Stanley would connect with people of his race, and Phyllis would dress up like a client's wife.
in real life too, i have seen people using various social cues to get business. the guy from whom we bought our car, he was so friendly with my dad, i once thought that they are some long lost brothers.
this makes me wonder : are sales/mgmt people being better at being entrepreneur and human beings than we devs?
in terms of ethics, i don't think that people who are defining their life around comissions and cut throat races to be friendly or supportive beings. but at the same time, they would be connecting with people and their real problems, so they might become more helpful than their friends/relatives and other "good people" ?
Additionally, the skills of sales/mgmt translate directly to entrepreneurship, so every good salesman/manager is a billionaire in making. whereas we devs are just being peas in a pod , debating on next big npm package and trying to manage taxes on our already meagre , "consistent" income :/
mann i want some people skills like these guys10 -
I understand the reasoning behind switching to a new, maybe better, technology, but for fuck sake, it’s against typical Microsoft strategy to “kill and shoot to the dead corpse” something instead of maintaining backward compatibility. Why they’ve changed?
I still can develop VB6 software for Windows 11 that just works. But you removing newer tools for no reason.
In short: Xamarin is dead, and that’s alright, but they are even deciding to “remove” development tools from future updates of VS 2022. Why?? Keep it optional, allow me to write legacy code (just 4 years old actually) a bit longer. 🙃
And also, .NET MAUI doesn’t seem “great”, at least at the first sight.
Why you’re forcing me to switch to it if there are 0 benefit for my product?
It’s so bad the only way to bring developers is this one?!
What is incredible to me is that the “industry field”, which is HUGE is so often ignored because of the “customers field”. Keep them separated. If you don’t want to support old tools, just don’t, but leave them there.
They killed Windows Mobile 6.5 which was old but still alive and fine in the industries, you had the biggest market share in PDAs and decided to give it to fucking Google.
The manufacturers kept selling WM devices even in 2020… and they stopped just because you stopped selling licenses.
You acquired Xamarin, gave everyone for free the tools to keep writing .NET for Android and move the industry apps, and now you are saying “actually fuck you, do it again, even though nothing really changes, but convert your entire project to this bs we’ve created”. Why???
Microsoft response: it’s just a few clicks and everything works fine.
My response: No, it’s not… the entire UI is rendered in a different way, I have to rewrite the whole UI of my app and a lot of modules stopped working because of nuget packages I can’t install anymore…
I have to spend additional time to make it work THE SAME as before, not better. So what’s the fucking point?17 -
WARNING - a lot of text.
I am open for questions and discussions :)
I am not an education program specialist and I can't decide what's best for everyone. It is hard process of managing the prigram which is going through a lot of instances.
Computer Science.
Speaking about schools: regular schools does not prepare computer scientists. I have a lot of thoughts abouth whether we need or do NOT need such amount of knowledge in some subjects, but that's completely different story. Back to cs.
The main problem is that IT sphere evolves exceedingly fast (compared to others) and education system adaptation is honestly too slow.
SC studies in schools needs to be reformed almost every year to accept updates and corrections, but education system in most countries does not support that, thats the main problem. In basic course, which is for everyone I'd suggest to tell about brief computer usage, like office, OS basics, etc. But not only MS stuff... Linux is no more that nerdy stuff from 90', it's evolved and ready to use OS for everyone. So basic OS tour, like wtf is MAC, Linux (you can show Ubuntu/Mint, etc - the easy stuff) would be great... Also, show students cloud technologies. Like, you have an option to do *that* in your browser! And, yeah, classy stuff like what's USB and what's MB/GB and other basic stuff.. not digging into it for 6 months, but just brief overview wuth some useful info... Everyone had seen a PC by the time they are studying cs anyway.. and somewhere at the end we can introduce programming, what you can do with it and maybe hello world in whatever language, but no more.. 'cause it's still class for everyone, no need to explain stars there.
For last years, where shit's getting serious, like where you can choose: study cs or not - there we can teach programming. In my country it's 2 years. It's possible to cover OOP principles of +/- modern language (Java or C++ is not bad too, maybe even GO, whatever, that's not me who will decide it. Point that it's not from 70') + VCS + sime real world app like simplified, but still functional bookstore managing app.
That's about schools.
Speaking about universities - logic isbthe same. It needs to be modern and accept corrections and updates every year. And now it depends on what you're studying there. Are you going to have software engineering diploma or business system analyst...
Generally speaking, for developers - we need more real world scenarios and I guess, some technologies and frameworks. Ofc, theory too, but not that stuff from 1980. Come-on, nowadays nobody specifies 1 functional requirement in several pages and, generally, nobody is writing that specification for 2 years. Product becomes obsolete and it's haven't even started yet.
Everything changes, whether it is how we write specification documents, or literally anything else in IT.
Once more, morale: update CS program yearly, goddammit
How to do it - it's the whole another topic.
Thank you for reading.3 -
I'm just fed up with the industry. There are so much stupidity and so much arrogance.
My professional experience comes mainly from the frontend and I feel like it's not as bad on the backend but I'm still convinced it's not really different:
I'm now about to start my 3rd job. It's always the same. The frontend codebase is complete shit. It's not because some juniors messed up not at all. It's always some highly paid self-proclaimed full-stack developer that didn't really care somehow hacked together most of the codebase.
That person got a rediculous salary considering the actual skill and effort that went into the code, at some point things became difficult, issues started to occur and that person left. If I search for that person I find next to the worst code via gitlens on Linkedin it's somebody that has changed companies at least two times after leaving and works now for a lot of money as tech-lead at some company.
There's never any tests. At the same time the company takes pride in having decent test coverage on the backend. In the end this only results in pushing a lot of business logic to the frontend because it would just take way to long to implement it on the backend.
Most of the time I'm getting told on my first day that the code quality is really high or some bullshit.
It's always a redux app written by people, that just connect everything to the store and never tried to reflect about their use of redux.
Usually it's people, that never even considered or tried not using redux, even if it's just to learn and experiment.
At the same time you could have the most awesome projects on github but people look at your CV, sum up the years and if you invested a lot of time, worked way harder to be better than other developers with the same amount of experience, it's totally irrelevant.
At the same time all companies are just the worst crybabies about not being able to find enough developers.
HR and recruiters are generally happy to invite somebody for an interview, even if that person does not have any code available to the public, as long as that person somehow was in some way employed in the industry for a couple of years. At the same time they wouldn't even notice if you're core contributor for some major open-source product if you do not have the necessary number of years in the industry.
I'm just fed up.
By the way, I got my first real job about two years ago. Now I'm about to start my third position because my last job died because of the corona crisis. I didn't complain for some time because I didn't want to look like I'm just complaining about my own situation. With every new job I made more money, now I'm starting for the first time at a position that is labeled "lead" in the contract.
So I did okay. But I know that lots of talented people that worked hard gave up at some point and even those that made it had to deal with way too much rejection.
At the same time there are so many "senior" people in the industry, that don't care, don't even try to get better, that get a lot of money for nothing.
It's ridiculously hard to get a food in the door if you don't have any experience.
But that's not because juniors are actually useless. It's because the code written by many seniors is so low quality, that you need multiple years of experience just to deal with all the traps.
Furthermore those seniors are so busy trying to put out the fires they are responsible for to actually put time into mentoring juniors.
It's just so fucked up.3 -
Hey guys. I am in a situation where I need to decide wether to take on a new project or not. And if not, how to turn down that client so that I would not burn any bridges. So I need your opinions on this matter in order to make the final decision.
To make things clear heres some background info. 10 months ago I quitted my fulltime position in another EU country and went back to my own home country. 10 months forward till today and I have my own ltd company which currently has 5 projects. Its doing pretty well money wise. All projects combined, I already earn more then I ever did and I need to work max 10 hours a week since all projects are remote projects so I dont waste time on useless meetings and etc. However I dont feel fulfilled or challenged anymore because surprise surprise doing well paid projects doesnt guarante your sense of fulfillment.
So I noticed that I have lots of spare time which I spend diving into rabbitholes with hobby projects. I decided that its time to scale my company and take on more projects and maybe even hire more people.
So I started searching for other projects I could work on (prefferibly remote projects or flexible ones where I could come in 2-3 days a week in office and work remotely rest of the week). Reason being that I am already out of sync with fulltime position lifestyle and I am totally result oriented, not punch in my hours and go home oriented.
For exampleIf i get my weekly tasks I prefer to do them in 1-2 days (even if it requires doing double shifts which rarely but happens) but then I want to have rest of the week off. Thats how my brain works and thats how Im wired. I cant stand fulltime positions especially in enterprise bigger companies where I come in and do maybe 2 hours of actual work everyday because of all useless meetings and blockers from backend/etc. Its soul crushing to me.
So I posted linkedin ads and started searching for new clients/projects. One month ago I went to an interview for an android project in a startup.
The project looked interesting enough. Main task was to rewrite their android app from java to kotlin. Apparently their current current app was built by a backend developer who wants to focus solely on backend.
So during the interview they showed me their app which was quite simple frontend wise but not so simple backend wise from what I was able to figure out.
Their project lead (also a backed guy) asked me my estimation of price and completion of task. I told them maybe 2-3 months to do everything properly.
Project lead was basically shocked because all other candidates told him they can rewrite the app from java to kotlin in 2-3 weeks. I told him that everything is possible but his app quality will suffer and for a better estimation he would we would need to sign an NDA so I could evaluate the costs. So we ended the interview.
After that we kept in touch for one month (it took them one month to google a generic NDA and sign it digitally with me).
So heres the redflags I noticed:
1. They dont respect my time. Wasted 1 month of my time and after signing NDA gave me 2days to estimate their project and go to a meeting and give them detailed info about what I can offer. I thats not a brain rape then I dont know what it is
2. They are changing initial conditions we talked about. We agreed on rewriting the codebase and be done with it. Now they prefer a fulltime worker who would be responsible for android app as his own product. So basically project lead was not able to find a fulltime dev so now hes trying to convert me (a company owner) to his fulltime worker.
3. Lack of respect. During the interview he started speaking in his own native language to me with some expression (he seemed pissed off at that moment when he switched languages).
4. Bad culture fit. As I said Im used to relaxed clients and projects where I dont need to be chained to a desk a monitored and be micromanaged. I mean lets sign a contract give me access to your codebase and tell me what to do, I will produce results and lets be done with it.
5. Project lead is a backend guy who doesnt understand how complicated android apps can be. No architecture and no unit tests are in his frontend app. He doesnt care about writing proper app since he ships it in his own device so he doesnt need to worry about supporting custom devices or different api levels of android and etc. But not having any architecture? Cmon.
So basically I am confused. Project lead needs a fulltime dev but hes in contact with me in hopes that I would sign a fulltime contract. But how I can work fulltime if all what I can see are redflags?
Basicaly I thinkthis was a misundersanding. Im searching for fulltime remote projects and hes offering fulltime inhouse projects. Project lead never outsourced so hes confused as well.
As you can see decision is already basically made to turn him down, I just need to know how to tell him to fck off in the most polite manner and thats it.6 -
Wrote a new feature for our flagship product in C. Worked perfectly, no issues. I was told to wait before submitting to SVN.
Because my company is a little cheap in engineering, they took my Green Hills license for another dev to use. I wasn't using it, and now can't compile.
Then, a month later, I was asked to submit my feature to the repo, they needed it in done version, do I did. Still not able to recompile to see if other changes broke anything...
As you probably guessed, no one's code complied after pulling from the repo! Big embarrassment. Weeks later I was told that it wasn't my fault in the end... I don't remember how my code impacted it, but man, it was a bad day for this dev.
Never again!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 -
Brain of a normal person is like an SUV — versatile, robust, occasionally kinda fast, needs minimal maintenance.
Brain of a bipolar person is like a supercar — needs a lot of maintenance, can't go off-road, can only drive on a perfect track without destroying itself, only takes special, expensive kind of fuel, can't drive in the winter.
Yes, you boubas can perform better when I'm depressed. But when I'm manic, your skill and your experience don't matter. I'm gonna tear you apart. I'm not gonna take your job — I'll take your bosses and will replace you with a script I wrote in 20 minutes. I'll again spend three hours and take Product of the Day. I'll again take the CTO job without even applying.
Mania is like taking quad damage AND god mode.
But in two weeks, I'll be depressed again. sleeping for 13 hours and not able to work.
Too bad mania is temporary, but achievements are forever. Good luck1 -
First, I need you guys to read this article:
https://goo.gl/LHGVw1
Just from reading the company’s write up, they are shit. They put all the weight on the guy's shoulders. So much so that he had to put in 12x7 weeks for 2 years... One day they tell him that they are gonna scrap his work; when he exploded - and rightfully so - they fired him and built an inferior product. Of course, they praised themselves for productivity being much higher than when he was there.
At the end of the day, they were shit because they never cared about his mental health. They just pilled more and more on him, because he was the rock star. He eventually broke psychologically. They don't care about all the personal sacrifices he had to make to give them those 12X7 weeks.
Worst of all, they spun it as him being the asshole - which will make it harder for him to get another job - when it was their shit management that broke him psychologically.... sigh
They all depended on him, he knew that too. The pressure to not fail was too much.
Bad management can seriously destroy a person8 -
Why is so Fitbit so bad at multiple time zones??
Guess what, people get on planes and travel.
Every time, my Fitbit gets so screwed up, including things like changing previous step counts, or duplicating an entire day of steps.
I understand MTZ is a tough problem, but this is just unacceptable. I'm not obsessed with my steps, but when your product is all about counting something, seems like you should be more careful to avoid double counting or not counting at all. Seriously, how much R&D have they invested in their hardware and apps, but it completely fails when you travel. Get it together!1 -
Ok, now marketing people are just baby talking at this point. “The bad guys are this and ur a good adult - if ur really a good boy u will contribute to the movement in buying this product”. I’m starting to realize how dumb we actually are individually again and I hate it.7
-
I have two bad habits that I try to get rid of:
- Googling instead of directely searching in the product documentation.
- Copy/pasting code instead of typing it. -
"For Product projects *company name omitted* uses a combination of Waterfall and Agile methodologies".
Wow. Nice they're actually admitting they're doing it. But the paper that explained what Waterfall was spent most of the time explaining why it was a bad idea. -
Ok, this question is related to mysql and php.,
Let me state the current situation
I have a db, say "gd".
That db has several tables all with same columns.(i.e same fields for different manufacturers such as product name, cost , stock etc.)
Now i want to know how many tables have the product 'a' in them and what's the cost of 'a' in each of those table.(tables are generated dynamically so I'll never now how many tables are there, well ofcourse i can refer information schema, but just wanted to highlight this fact). So is there a way to achieve this?.. excluding "dump the whole data and then search it" solution.
Plz help, .. sorry for my bad English, .9 -
you know you made a shitty product when you need remote desktop to do some usefull work. #surface-rt #microsoft.
I got one for free from my previous employment that is nice. oke i got it but i never use it. it is really the worst product every. now no support what so every. @microsoft: hey let us lock them down so it is secure.... fuck that shit just open the bootloader and let mr use that thing propper.3 -
WTF YOUTUBE
https://i.imgur.com/wsst8Rr.png
why was this instantly pushed to master without QAs !??!
why the fuck do you cripple the search bar ignoring screen size 100%
yeah good luck with the search bar on big screens
i get it, its googles unifying, but! https://i.imgur.com/rNVeQfP.png
It's done with the wrong rules. If you look at any other google suite product (take inbox for example) the search bar is scaled OVER the content, not placed above as a grouper.
https://i.imgur.com/g1ioT6c.png
I hope something was just forgotten in the CSS, because this is fucking bad. It doesnt make sense.1 -
Continuation (no. 2): So because of my bad conscience I was very polite and friendly to the colleague I pestered about... but my boss was not. Instead he broke loose his second fight with Mr. git master. He's joking about that he now already had a fight with almost anybody (mostly team leads). He's leaving the company anyway, so he needn't care, but I start to love his love for conflicts. Some PM or upper boss already said something along the lines: "If something's wrong, I know you'll escalate." Of course you should not for every triviality, but nothing is worse than those lingering, dormant time bombs of projects that went so awry they're just waiting to explode... or silently be canceled.
Well, so they clashed again, and Mr git / scrum master fought for his concern that my boss, who's also product owner, must not enter the team. I looked at the git logs: Mr git master's only contribution - he's supposed to be a member of the team - since joining (like over a month) were 300 LOC, which was actually copy pasting our old copy right form, peppering it with some html tags to ensure it would not work without recompiling the 3rd party lib with a fucking webengine.
My boss now rather wants to remove "agile" as it's not fitting. Just let the three or four of us yank out the code so we actually have a chance to deliver in three months. He told the upper boss that we can take our tasks ourselves so independently we even need no team lead, but could report directly to him. It's still not clear what's gonna happen, but it's like they could let us loose, free radical elements who just do motherfucking programming. Feels awesome. -
3 or 4 weeks ago me and management had a talk about new features in our product...
So we implemented the new features and then we released the app...
Today I got a really long bug report that summarizes into the following sentence -> BUG: Everything works exactly as we talked 4 weeks ago.... And apparently that is bad 😣
Like c'mon dudes if now it is a bug then why the fuck I needed to code that feature?! Time totally wasted for nothing! 😤
Fix My Lighthouse!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 😔3 -
So I'm currently working on a chat app that deals with astrology..dealing in the sense we are building an AI which gives prediction based on ones date of birth, time of birth and place of birth, you can ask it questions (currently only career related) and you get some prediction..it's an in-house project, we have a client who is an astrologer who gives us the logic to compute the predictions ..it's still a long way from being an AI ...so our CEO walks in one day with his huge plans for the product...decides to ditch the app completely, on which we have invested 4 months of our time and instead make an appointment scheduling webapp for our client as he felt that would fetch us some green stuff..so I was like why ditch the app when we can have the same module in the app itself and ask the astrologer to make his clients install if they want to book future appointments, he completely disregarded my idea and said that is bad marketing and all other shit and he went on to explain his other ideas ...I didn't think much of it at that time , then the CEO and the director of technology had a separate meeting where the director has made the same points which I had told him(ceo) that it is a bad idea to ditch the app (I wasn't aware of this meeting untill later)...so after a week we have a team meeting with the CEO, director of technology ...where he starts telling how it is not so wise to Chuck the existing application and build a new one which is totally unnecessary and we can have it as a module in the existing one...and I'm like sitting there thinking to myself da fck is he talking about...so i decided to stay silent and listen to his bs...my marketing lead leans over and ask y so silent ....I tell her whatever he is talking now is the same thing I told last week which he rejected blatantly... And then he had the nerve to ask me any inputs to this plan...I couldn't hold back ...I told him that this is the exact same thing I told u last week , to which his reply was focus on the future and forget the past ....I was like mother fckr woooooot ...I realised the power of position !! Fuckol man3
-
When you saw the code of the whole product, and the best way to describe is the best example of a bad coding practices.
-
It seems they mistaken me for italian giving me spaghetti all over the product. Go to frontend to check the app, react with weird jQuery, no routes, pages summoned by the templates that have concatenated values and html in vanilla js, changing screens/pages with jQuery, no router... ok lets see the other app, react, redux, offline capabilities and tought myself niicee hut nothing work as intended with clusterfuck of hacky workarounds that makes app look like it is working but with hardcoded data. Offline means automatic sync when you get the network back, right? Oh backend never developed any sync, so you guys can do it, we have to fix and patch some important stuff! I don't like php but whatever, let's see what is going on there... So much spaghetti bolognese there that Bologna actually called to ask if they can buy some, they are out of stock because of us!
This is just like that song mess.css from stdout, but in any file you open!
Living on deserted island eating grass and coconut for the rest of the life doesn't seem so bad atm!4 -
Stayed for the hack-a-ton last night. Had so much fun! And everybody actually came up with a working product in a couple of hours. Amazing :).
Too bad the initiator of the whole thing went home early. Doesn't really show interest. -
Having a lot of bad experiences while working as intern in startups and about to join a MNC, i wanted to share my work life balance and technical demands that i expect from a company. These are going to be my list of checkpoints that i look forward , let me know which of them are way too unrealistic. also add some of yours if i missed anything :
Work life balance demands ( As a fresher, i am just looking forward for 1a, 2a and 8, but as my experience and expertise grows, i am looking forward for all 10. Would i be right to expect them? ):
1a 8 hr/day. 1b 9h/day
2a 5days/week. 2b 6 days/week
3 work from home (if am not working on something that requires my office presence)
4 get out of office whenever i feel like i am done for the day
5 near to home/ office cab service
6 office food/gym service
7 mac book for working
8 2-4 paid leaves/month
9 paid overtime/work on a holiday
10.. visa sponsorship if outside india
Tech Demands (most of them would be gone when i am ready to loose my "fresher " tag, but during my time in internship, training i always wished if things happened this way):
1. I want to work as a fresher first, and fresher means a guy who will be doing more non tech works at first than going straight for code. For eg, if someone hires me in the app dev team, my first week task should be documenting the whole app code / piece of it and making the test cases, so that i can understand the environment/ the knowledge needed to work on it
2. Again before coding the real meaningful stuff for the main product, i feel i should be made to prepare for the libraries ,frameworks,etc used in the product. For eg if i don't know how a particular library ( say data binding) used in the app, i should be asked to make a mini project in 1-2 days using all the important aspects of data binding used in the project, to learn about it. The number of mini tasks and time to complete them should be given adequately , as it is only going to benefit the company once am proficient in that tech
3. Be specific in your tasks for the fresher. You don't want a half knowledgeable fresher/intern think on its own diverging from your main vision and coding it wrong. And the fresher is definitely not wrong for doing so , if you were vague on the first place.
4. most important. even when am saying am proficient , don't just take my word for it. FUCKIN REVIEW MY CODE!! Personally, I am a person who does a lot of testing on his code. Once i gave it to you, i believe that it has no possible issues and it would work in all possible cases. But if it isn't working then you should sit with me and we 2 should be looking, disccussing and debugging code, and not just me looking at the code repeatedly.
4. Don't be too hard on fresher for not doing it right. Sometimes the fresher might haven't researched so much , or you didn't told him the exact instructions but that doesn't mean you have the right to humiliate him or pressurize him
5. Let multiple people work on a same project. Sometimes its just not possible but whenever it is, as a senior one must let multiple freshers work on the same project. This gives a sense of mutual understanding and responsibility to them, they learn how to collaborate. Plus it reduces the burden/stress on a single guy and you will be eventually getting a better product faster
Am i wrong to demand those things? Would any company ever provide a learning and working environment the way i fantasize?3 -
How do I know if I am pushing my work output too hard? How can I let my team know I'm not trying to make anyone look bad?
My CEO uses me as an example often of what a hard working dev looks like. I personally just enjoy working on the product. I don't like attention and I can't help but feel like I'm getting too much spotlight opposed to the other devs. 🤷4 -
I am having an introspective moment as a junior dev.
I am working in my 3rd company now and have spent the avg amount of time i would spent in a company ( 1- 1.5 years)
I find myself in similar problems and trajectories:
1. The companies i worked for were startups of various scales : an edtech platform, an insurance company (branch of an mnc) and a b2b analytics company
2. These people hire developers based on domain knowledge and not innovative thinking , and expect them to build anything that the PMs deem as growth/engagement worthy ( For eg, i am bad at those memory time optimising programming/ ds/algo, but i can make any kind of android screen/component, so me and people like me get hired here)
3. These people hire new PMs based on expertise in revenue generation and again , not on the basis of innovative thinking, coz most of the time these folks make tickets to experiment with buttons and text colors to increase engagement/growth
4. The system goes into chaos mode soon since their are so many cross operating teams and the PMs running around trying to boss every dev , qa and designer to add their changes in the app.
5. meanwhile due to multiple different teams working on different aspects, their is no common data center with up to date info of all flows, products and features. the product soon becomes a Frankenstein monster.
6. Thus these companies require more and more devs and QAs which are cogs in the system then innovative thinkers . the cogs in the system will simply come, dimwittingly add whatever feature is needed and goto home.
7. the cogs in system which also start taking the pain of tracking the changes and learning about the product itself becomes "load bearing cogs" : i.e the devs with so much knowledge of the product that they can be helpful in every aspect of feature lifecycle .
8. such devs find themselves in no need for proving themselves , in no need for doing innovative work and are simply promoted based on their domain knowledge and impact.
My question is simply this : are we as a dev just destined to be load bearing cogs?
we are doing the work which ideally a manager should be doing, ie maintaining confluence docs with end to end technical as well as business logic info of every feature/flow.
So is that the only definition of a Software Engineer in a technical product?
then how come innovations happen in companies like meta Microsoft google open ai etc?
if i have to guess as a far observer, i would say their diversity in different fields helps them mix and match stuff and lead to innovative stuff.
For eg, the android os team in google has helped add many innovative things in google cloud product and vice versa.
same is with azure and windows . windows is now optomissed to run in cloud machines when at one point it was just a horrible memory hogging and slow pc OS
for small companies, 1 ideology/product/domain is their hero ideology/product/domain .
an insurance company tries to experiment with stuff related to insurances,health,vehicles,and the best innovations they come up with is "lets give user a discount in premium if they do 5000 steps a day for an year".
edtech would say "lets do live streaming for children apart from static videos"
but Android team at google said , "since ai team is doing so well, lets include ai in various system apps and support device level models" ~ a much larger innovation as 2 domains combined to make a product
The small companies are not aiming to be an innovative product, they are just aiming to be a monopoly product. and this is kinda sad2 -
During my small tenure as the lead mobile developer for a logistics company I had to manage my stacks between native Android applications in Java and native apps in IOS.
Back then, swift was barely coming into version 3 and as such the transition was not trustworthy enough for me to discard Obj C. So I went with Obj C and kept my knowledge of Swift in the back. It was not difficult since I had always liked Obj C for some reason. The language was what made me click with pointers and understand them well enough to feel more comfortable with C as it was a strict superset from said language. It was enjoyable really and making apps for IOS made me appreciate the ecosystem that much better and realize the level of dedication that the engineering team at Apple used for their compilation protocols. It was my first exposure to ARC(Automatic Reference Counting) as a "form" of garbage collection per se. The tooling in particular was nice, normally with xcode you have a 50/50 chance of it being great or shit. For me it was a mixture of both really, but the number of crashes or unexpected behavior was FAR lesser than what I had in Android back when we still used eclipse and even when we started to use Android Studio.
Developing IOS apps was also what made me see why IOS apps have that distinctive shine and why their phones required less memory(RAM). It was a pleasant experience.
The whole ordeal also left me with a bad taste for Android development. Don't get me wrong, I love my Android phones. But I firmly believe that unless you pay top dollar for an android manufacturer such as Samsung, motorla or lg then you will have lag galore. And man.....everyone that would try to prove me wrong always had to make excuses later on(no, your $200_$300 dllr android device just didn't cut it my dude)
It really sucks sometimes for Android development. I want to know what Google got so wrong that they made the decisions they made in order to make people design other tools such as React Native, Cordova, Ionic, phonegapp, titanium, xamarin(which is shit imo) codename one and many others. With IOS i never considered going for something different than Native since the API just seemed so well designed and far superior to me from an architectural point of view.
Fast forward to 2018(almost 2019) adn Google had talks about flutter for a while and how they make it seem that they are fixing how they want people to design apps.
You see. I firmly believe that tech stacks work in 2 ways:
1 people love a stack so much they start to develop cool ADDITIONS to it(see the awesomeios repo) to expand on the standard libraries
2 people start to FIX a stack because the implementation is broken, lacking in functionality, hard to use by itself: see okhttp, legit all the Square libs, butterknife etc etc etc and etc
From this I can conclude 2 things: people love developing for IOS because the ecosystem is nice and dev friendly, and people like to develop for Android in spite of how Google manages their API. Seriously Android is a great OS and having apps that work awesomely in spite of how hard it is to create applications for said platform just shows a level of love and dedication that is unmatched.
This is why I find it hard, and even mean to call out on one product over the other. Despite the morals behind the 2 leading companies inferred from my post, the develpers are what makes the situation better or worse.
So just fuck it and develop and use for what you want.
Honorific mention to PHP and the php developer community which is a mixture of fixing and adding in spite of the ammount of hatred that such coolness gets from a lot of peeps :P
Oh and I got a couple of mobile contracts in the way, this is why I made this post.
And I still hate developing for Android even though I love Java.3 -
The worst meeting I was in I didn't know how bad it was until later. It was my first week at a new job, and I mostly just spent that week pulling tickets off of the top of the backlog and getting acclimated to the build environment and the project structure.
The meeting was a "sell off" where we would "sell" our efforts to the product owners, which were executives. After my project mentor went over the things we had accomplished, an executive asked why we accomplished those things but not the things that were asked for. I don't recall everything that was said, the basically our project manager threw us under the bus.
After the meeting, I looked at the backlog, and nothing that the Executives talked about was in the backlog, nor anywhere to be found. Our project manager, expected us to just "know" what we were supposed to work on, and create our own user stories. Apparently, what I found out after, was that the project manager went to one of the executives and complained that we, the developers never did what he asked and that we were just rogues working on whatever we wanted to work on. He was our project manager for another month, and he never created any tickets for us, even after two hour long meetings with the project owners. I honestly don't know what he did all freakin' day. He was always in work early. I'm sure a quick brush through his browser history would reveal some interesting things.
The results of that meeting led to this developer to not receive a bunch of RCUs with the rest of the developers amongst another things. Turns out those RCUs were golden handcuffs for everyone else. He left sometime after that and found another place. I interviewed at that place, too and got the job. Now I have the shortest, most productive meetings ever. -
Saw a bit of chat of Windows Defender being not such a bad free product... Is anyone here like me (and old enough to be in the tech world at the time) and miss Norton's products, _before_ it was taken over by Symantec?1
-
"A great logo isn’t going to make a shitty product any less shitty, any more than a hard worker is going to make a bad boss a compelling leader." - Christopher Simmons
-
I have been doing android dev for quite a time now and have started to understand/appreciate a few things that I previously hated (Like Kotlin) . so am not sure where would be my stance regarding this rant in upcoming months, but FUCK DEPENDENCY INJECTION FRAMEWORKS!!
dependency injection is rightly said to be a $25 term for a 25 cents concept. If i start refactoring my old apps today to "follow DI principles", they would require just 5-10% refactoring and i will end up with much more testable code.
But integrating dagger in my apps? Oh please fuck me straight instead. That thing is so overly complicated and confusing. Why would you trust compiler to inject instances in YOUR LOGIC ? it was YOUR LOGIC that guided the compiler, remember?
I am yet to work on a product of scale where frameworks like dagger or koin made even a slightest of sense.
Currently it just feels like another bad choice we took between "simple but verbose" and "complicated but pretty to look at"
The way this framework makes me think like a compiler than a programmer somehow reminds me of this beautiful article i read:
https://theatlantic.com/technology/...3 -
Word from on high today that the new product should be completely redone as MDI. Now I know how new bad software is made.
Window management is hard, let's just pretend 1994 never ended instead. -
Just when I thought that surely a single SIMD dot product instruction must be the fastest way to calculate a damn dot product on a processor, agner fogs instruction tables come flying out, hitting me over the head telling me that manually calculating a dot product may actually be faster sometimes
Why must computers be like this?
I just came out of a bad relationship with hardware rasterization being horribly slow and now I can't even trust my processor to do things properly
This is how people develop trust issues1 -
When doing a project from scratch, what would you prefer?
Code Quality + Time = Product
Bad Code Quality + Les Time = Product7 -
So I'm sitting here trying to bodge my way through a member system. These fucknuts really made a bad system..
The task: Export a list of users and their info.
Is there an API available? No, who the fuck would need that shit, even tho the system is built upon Odoo, which has an API!
But it has an export function, you just have to log in and press the right sequence of buttons, because you need the running ID...
Here I discovered the first of many security flaws... "What happens if I post the wrong ID?"... Well, I get access to a file that has nothing to do with me or my users.... What?
Well after some fiddling It works, but holy fuck I found a lot of bugs. And this is a system that is launching in 7 days for us.. Some users have been on it for a year....
How can they ship this bad a product? There's absolute no documentation only a 15-page manual. Guess they don't want developers to develop shit that works in junction with theirs.1 -
I just helped my friend setting up Laravel on her machine. The npm is giving me headache because of the fucking permission issue. WHY THE FUCK chmod DOESN'T WORK ON WINDOWS IF POWERSHELL RECOGNIZE THE COMMAND?? Then composer says that it cannot find the autoload.php. I thought it was another permission issue end up it's because composer fuck up installing on Windows. Wasted 2 hours for this shit.
Oh and the default language she uses is French. The keyboard layout is entirely different. French is totally awesome but the typos in command is getting really annoying. :(
I'm not saying Windows is bad for general use but I think it's a bad idea for developing non-Microsoft product on Windows. I don't understand how can one bear with so much shit on Windows. Most dev tools tutorials are written in Unix system so fucking get a Mac or Linux at least!2 -
This is a question with a bit of backstory. Bear with me.
Firstly, i’m back (again😂) now pursuing my software engineer goal at a university.
I had a group project course this spring and me and my group produced a kinda half assed product that could help within sports teams, for a customer at the university (won’t go into details). After the course ended I couldn’t go home to northern Sweden and stayed in my student accomodation for the summer. So I took the chance and offered myself to continue work on the product this summer to make it more usable and functionable, and they hired me (first real devjob!🥰)! Now when I look into the parts of the code that I did not write (our team communcation were bad), I realize I don’t understand fully how it works and therefore feel it’s better for me (also to learn more) to rewrite some parts my old group produced, and to actually make it easier to improve. Now finally the question; how do you feel about taking on a product, scraping some parts to rewrite them, and (in your perspective), improve them?4 -
Me: Assigned to do some NoSQL injections test cases in December on Jira by product owner.
After asking him about it, he said it can be vague and it’s only for developers to get an idea. I also have this restriction where I can’t really keep actually data or databases in our test sample application, so I could only mock mongodb. Product owner says just mongo is fine.
I do it. Now it’s January, product owner away for a month we so director is managing it. She then schedules me to talk to database team. I show them the very simple test cases which essentially just inject payloads I found online into different parameters specified in test case. They say if that’s it. I say yes. They say what’s the point of this. I said that it’s probably to test your database clients and ensure they’re rejecting bad Malicious input? They then keep asking but I’m just the dev and tell them the product owner is away. Then the guy calls my test case essentially useless and the others agree. Then they tell me to do it for other databases which I can’t mock like couchbase even tho my PO said it’s fine for mongo only.
Am I just being silly here? I am pretty new to working in a dev environment so please feel free to be blunt.4 -
Making music definitely made me a better programmer. In fact playing lots of instruments showed me the different roles that exist on a team. Lead guitarists are kinda like programmers, constantly looking for the next challenging song to make. Singers and rhythm guitarists are like the team leads and PMs who want a nice bow on the product. Drummers are like designers really, they kinda show up and make something bad ass and disappear. Bass players are like solid backend or ops folks silently making stuff stable and grounded.
-
I just spent around a fucking week questioning myself, my sanity, my code and a 3rd party api to find out I was submitting bad data to my correct code in a separate part of the product.
Fuck my life and my self inflicted stress and guilt over this. Hopefully edge cases are already covered, I fucking had working code or so i hope until the next bout of debug hell.
Also fuck you spring for not letting me see request body of an outgoing post request. -
Okay Android dev intern here.
This has been an awfully weird experience for me as an Android dev and this is not the first time. I am seeing a pattern here and i don't know if its just bad luck or its the reality
I have always learned Android by searching on the web , on stack overflow, medium articles, youtube , books , etc.
Sometimes i had a vision to create some unique nd innovative app, nd sometimes i just wanted to learn a particular tech, framework, library, or a feature.
The former case sometimes required the knowledge of unexplored areas, so in order to make the possible product, the original idea would reduce to a smaller, more possible one if i thought it isn't possible or "need more resources on that" after several hours of searching.
But as an intern i found this approach not working out. Here the company gave me an app idea by a designer who thinks its possible, the senior Android dev also thinks its possible and i also believed it to be possible.
The thing is we all know its possible but the person working on it, i.e me, doesn't know have all the knowledge for it.
Fine . I will apply my usual time taking approach of searching and debugging to tackle my issues when they arrive.
But at one stage i too would get exhausted. To me , the code in my front is the correct code for this approach and i have checked all the possible cases, debugged it and yet can't find the issue.
Now the only thing i want is for my senior to look into it, tell me if its an architecture issue or is there any possible case that i missed.
But that's not what company wants. The senior says that he's involved in a lot of projects and my problem is too simple to be solved by solely myself. Now i am sitting here, with my code, exhausted and no longer willing to work here . (And that's maybe why it's my 4th internship and not first)
Am i the asshole fresher?is this always going to be the case? Am i the one running away from the problem and deserve all the lashing that i am getting for not completing the product and getting stuck?4 -
Do you ever feel your job is too demanding compared to other software engineering jobs?
I've worked in two companies for now.
First company, Kotlin microservices and we had QAs, didn't have to write a lot of tech specs and no post mortem or on call at all (not yet atleast), it was just talk to PO, he tells the business requirement, we work together to make tickets, no legacy code so was easy to know what to do for tech, no monolith to handle or anything, much easier, just code and meetings.
Current job is meetings with PO telling you what he wants, have to write a full on tech spec and also know business requirements and product knowledge as the current PO doesn't know anything about how the products work, writing huge tech specs, communicating on requests sent my clients on slack, pretty much always firefighting, the system is so fragile and legacy, coding is actually less its mostly spending hours finding out how this shittt legacy flows work (no docs) , PO pretty much does fuck all, just wants meetings and wants us to do very very stupid tedious low impacts projects. This bundled with oncall and onpoint and the absolute sheer amount of incidents our team is involved in (on average we have 4 a week LOL, varying size but they're all very annoying) and the overtime oncall benefit is so bad too, if you do get paged out of hours, you just get that hour back during work hours. In other companies like friends, you get paid for the whole time you're oncall, whether you get paged or not. I can't go out anywhere on weekends or anywhere at all during on call in case I get paged, which happens a lot. Its a cluster of a mess. This bundled with manager stoll not wanting to promote me to IC3 despite all I've done so far.
My question is, is this more normal than I think it is? Is this just how crap our career can be? Mind you I'm in the UK so not getting those mind boggling US wages sadly either. Have US colleagues in same team doing same job but obviously getting more11 -
@dfox thought you might be interested in a glimpse of how fb optimize their news feed ;) https://developers.facebook.com/vid...
P.S. I'm not complaining that the current one is bad1 -
Linux vs Windows (vs AnyOtherOS) | The Age Old Question
The short answer: It depends. And probably isn't even up to you to choose
The long answer:
No one's forcing you to choose. And you have more than 2 options. (The 3rd being... both. (Unless you're running out of hardware))
You have to mentally replace "Which is better? Linux or Windows?" with "Which one gets me sooner to a completed task that more closely matches the end-user's expectations"
If it's something you're developing for yourself, then use whatever the hell you want, because you know where you want that "finished product" to be used, and in what manner.
But often, everyone around you and their cats are not using what you're using
Have to write a document? Oh.. there's this blue program thingy (no one talks like that), I think it was called "Microsoft Word"
Oh, you don't have that?? How the hell do you edit documents then?
~ Some employer still using MS Word 2009
"I'll send you the PSD", "Make it a PSD", "You need the PSD file for reference, right?"
psd? More like PTSD at this point
It's like Photoshop is suddenly the only way to edit images, oh.. and Paint.
* Use paint. I don't care. If it gets the job done, do it.
Hate Photoshop? Love Gimp? Too bad.
When that god forsaken PSD is emailed to you, you better have a copy of Windows and Photoshop just in case it looks like garbage in.. OR OUT of gimp..
Bottom Line:
Don't use what people use. Just have everything ready in case your boss still uses MS Word 1839 and you want to ENSURE, it'll look the same on his screen
*It's wrong to limit yourself to just ONE SINGLE OS2 -
Wrote some awesome methods in my application which writes products and their variations directly to SQL for a WooCommerce shop, avoiding uploading any images and constant handshakes for thousands of API calls for each product.
Been heavily criticised for it though as bad practice and to just use the API. I say fuck you, it's lightning fast and works well. Sure the API spec could change in a year but these methods will scale well.
Who agrees? -
ADVICE: I’ve been assigned someone I was told was mid weight developer for a ‘fast paced project.’ I’ve quickly discovered he doesn’t understand core concepts and is likely very junior; this means I am picking up all the slack to cover for him.
We’ve had to ditch every PR he’s made so far and I’ve had to pair up with him to explain each one, from scratch, step by step.
Not sure what to do, he’s a nice guy, but I’m going to burn myself out if I have to do everything, it’s not acceptable and there is enough pressure on me already.
Do I request for him to be moved off the project, talk with him about my frustrations or raise my concern with the product owner with some evidence?
I get that no one comes to work to do a bad job, but I have my own shit to work on, and don’t fancy doing late night catch ups before every demo tbh1 -
I've been thinking, and i feel like being the bad guy... So, for now, I'm also an "idea guy" if you know what i mean...
Idea: This site could have a feature like "product recommandations" (just like long rants or something [tyical idea guy saying]), where users could recommend stuff like programs, peripherials, or anything dev related.
This could be done using tags, like certain tags would get sorted into the "product recommandations".
Sounds nice, doesn't it?
(PS.: We should also make a site which is like google, trust me, it would make millions...) -
Firebase is a fucking piece of dog shit.
Testing is so bad and complicated to set up, I've spent two days trying to write ONE fucking simple test with an auth middleware via expressjs. Why firebase doesn't mock my dung, you pieces of shit. Even the documentation is all spread out, it's difficult and terrible to follow. I would rather build my own backend because of all the workarounds I have to make because of your limited SHIT product. Even the type libraries are shit, import Timestamp? NOPE. YOU HAVE TO IMPORT FIREBASE TO IMPORT A TIMESTAMP. Learn to define types, shitty google devs. You all suck, thanks for making shitty clients sdk's.
I hope this piece of shit gets deprecated and my clients stops using it.4 -
I'm fairly convinced that a company that replaced their PM:s with socially competent (i.e not complete cave trolls with no sense for UX) engineers (that of course would also get their hands dirty in an operational manner) would be far more successful than than a company that rides the PM/product dev hype wave. I think there is an apparent disconnect between the expectations of a full fledged PM and what the average PM actually seem to deliver on a daily basis in your avarage company.
This is of course a generalization and I bet there are dedicated PM:s that actually pull their weight, and I might very well only had bad experiences, but this is aimed at what I consider to be the avarage company.
Has anyone deployed and actually used a similar model? If so; what are your conclusions? -
I equate design to usability. A bad design and UI = bad usability.
For our current project I gave some feedback on issues I had with the presentation, citing usability problems because the design is wrong and I wanted to spend more time designing it in a way that makes sense and flows better.
My boss and manager responded with "functionality over design". And if they want a better design they have to pay more. But that means giving them a product that is overly messy and complicated to use. It wouldn't be a big job to improve the design.
Any thoughts on this? -
It's these individually tiny annoyances in products and software that together form a huge annoyance.
For example, it's 2022 and Chromium-based web browsers still interrupt an upload when hitting CTRL+S. This is why competition is important. If there was no Firefox, the only major web browsers would, without exception, have this annoyance, since they're all based on Chrmoium.
I remember Chromium for mobile formerly locking scrolling and zooming of the currently viewed page while the next page was loading. Thankfully, this annoyance was removed.
In 2016, the Samsung camera software was updated to show a "camera has been opened via quick launch" pop-up window when both front and rear sensors of the smartphone were covered while the camera was launched by pressing the home button twice, on the camera software Samsung bundled with their custom version of Android 6. What's more, if that pointless pop-up was closed by tapping the background instead of the tiny "OK" button or not responded to within five seconds, the camera software would exit itself. Needless to say, this defeats the purpose of a quick launch. It denies quick-launching while the phone is in the pocket, and the time necessary to get the phone out could cause moments to be missed.
Another bad camera behaviour Samsung introduced with the camera software bundled with their customized Android 6 was that if it was launched again shortly after exiting or switching to stand-by mode, it would also exit itself again within a few seconds. It could be that the camera app was initially designed around Android 5.0 in 2015 and then not properly adapted to Android 6.0, and some process management behaviour of Android 6.0 causes this behaviour. But whatever causes it, it is annoying and results in moments to not be captured.
Another such annoyance is that some home screen software for smartphones only allows access to its settings by holding a blank spot not occupied by a shortcut. However, if all home screen pages are full, one either needs to create a new page if allowed by the app, or temporarily remove a shortcut to be able to access the settings.
More examples are: Forced smartphone restart when replacing the SIM card, the minimum window size being far too large in some smartphones with multi-windowing functionality, accidental triggering of burst shot mode that can't be deactivated in the camera software, only showing the estimated number of remaining photos if less than 300 and thus a late warning, transition animations that are too slow, screenshots only being captured when holding a button combination for a second rather than immediately, the terminal emulator being inaccessible for the first three minutes after the smartphone has booted, and the sound from an online advertisement video causing pain from being much louder than the playing video.
Any of these annoyances might appear minor individually, but together, they form a major burden on everyday use. Therefore, developers should eliminate annoyances, no matter how minor they might seem.
The same also applies for missing features. The individual removal of a feature might not seem like a big of a deal, but removing dozens of small features accumulates to a significant lack of functionality, undermining the sense of being able to get work done with that product or software when that feature is unexpectedly needed. Examples for a products that pruned lots of functionality from its predecessor is the Samsung Galaxy S6, and newer laptops featuring very few USB ports. Web browsers have removed lots of features as well. Some features can be retrofitted with extensions, but they rely on a third-party developer maintaining compatibility. If many minor-seeming features are removed, users will repeatedly hit "sorry, this product/software can not do that anymore" moments. -
you know one should tread very carefully when getting a business dealing out of friendship.
if their is a boss-employee dynamics in the business, as in you are the boss and they are being paid to work for you or vice versa, then during work , be prepared to take criticism constructively. as a friend, the relation is different, we say each other anything and it is laughed off, but during work, there is a matter of respect, seniority and professionalism.
another kind of dynamics are the freelance/favour relation where friend is giving you free/paid service/advice or vice versa. this is even more shittier situation and is almost always bound to fuck up.
- the guy receiving service will try to negotiate a better deal because friend factor ('you will take so much money from your homie?')
- the guy providing service will try to offer a bad deal because friend factor ('i know he trust me. let me offer him a bad quote as he don't know anything of this domain')
- the guy providing service may not consider the service/advice as priority because friends factor ('he is a homie. he can wait')
- the guy receiving service may not be satisfied with the product/offerring/guidance because friends factor ('you could have added this x feature too bro, i paid you')
overall friend factor sucks. somehow the boss-employee factor worked for me as i was careful after 1 bad attempt