Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "estimates"
Manager: When will you have finished this task?
Me: In about one hour
*One hour later*
Manager: You done yet?
Me: Give me another week
Image stolen from Reddit6
My last internship. When acquiring a new project and having to give an estimate the boss/sales guy always went to the programming team first to ask them what the estimate was and then communicated that back to the client(s).
Asked him why he does that because many companies don't:
Well, the programmers are going to write the software so why the hell would *I* be the one who gives the fucking estimates?
Yes that was a good boss.4
toxic workplace; leaving
I haven't wanted to write this rant. I haven't even wanted to talk to anyone (save my gf, ofc). I've just been silently fuming.
I wrote a much longer rant going into far too much detail, but none of that is relevant, so I deleted it and wrote this shorter (believe it or not) version instead. And then added in more details because details.
On Tuesday, as every Tuesday, I had a conference call with the rest of the company. For various, mostly stupid reasons, the boss yelled at and insulted me for twenty minutes straight in front of everyone, telling me how i'm disorganized, forgetful, how can't manage my time, can't manage myself let alone others, how I don't have my priorities straight, etc. He told the sales team to get off the call, and then proceeded to yell and chew at me for another twenty minutes in front of the frontend contractor about basically the same things. The call was 53 minutes, and he spent 40 minutes of it telling me how terrible I've been. No exaggeration, no spin. The issues? I didn't respond to an email (it got lost in my ever-filling inbox), and I didn't push a very minor update last week (untested and straight to prod, ofc). (Side note: he's yelled at me for ~15 minutes before for being horribly disorganized and unable to keep up on Trello -- because I had a single card in the wrong column. One card, out of 60+ over two boards. Never mind that most have time estimates, project tags, details, linked to cards on his boards, columns for project/qa/released, labels for deferred, released to / rejected from qa, finished, in production, are ordered by priority, .... Yep. I'm totes disorganized.)
Anyway, I spent most of conference call writing "Go fuck yourself," "Choke on a cat and die asshole," "Shit code, low pay, and broken promises. what a prize position," etc. or flipping him off under the camera on our conference-turn-video-call (switched due to connection issues, because ofc video is more stable than audio-only in his mind).
so, so done.
I did nothing the rest of the day on Tuesday, and basically just played games on Wednesday. I did one small ticket -- a cert replacement since that was to expire the next day -- but the rest was just playing CrossCode. (fun game, fyi; totally recommend.)
Today? It's 3:30pm and I can't be bothered to do anything. I have an "urgent" project to finish by Monday, literally "to give [random third party sales guy] a small win". Total actual wording. I was to drop all other tasks (even the expiring cert lol) and give this guy his small win. fucking whatever. But the project deals with decent code -- it's a minor extension to the first project I did for the company (see my much earlier rants), back when I was actually applying myself and learning something (everything) new, enjoying myself, and architecting+writing my own code. So I might actually do the project, but It's been two days and I haven't even opened single file yet.
But yeah. This place is total and complete shit. Dealing with the asshole reminds me of dealing with my parents while growing up, and that's a subject I don't want to broach -- far too many toxic memories.
So, I'm quitting as soon as I find something new.
and with luck, this will be before assface hires my replacement-to-be, and who will hopefully quit as soon as s/he sees the abysmal codebase. With even more luck, the asshole king himself will get to watch his company die due to horrible mismanagement. (though ofc he'll never attribute it to himself. whatever.)
I just never want to see or think about him again.
(nor this fetid landfill of a codebase. bleh.)
With luck, this will be one of my last rants about this toxic waste dump and its king of the pile.
Fourty fucking minutes, what the fuck.38
This is kind of a horror story, with a happing ending. It contains a lot of gore images, and some porn. Very long story.
TL;DR Network upgrade
Once upon a time, there were two companies HA and HP, both owned by HC. Many years went by and the two companies worked along side each one another, but sometimes there were trouble, because they weren't sure who was supposed to bill the client for projects HA and HP had worked on together.
At HA there was an IT guy, an imbecile of such. He's very slow at doing his job, doesn't exactly understand what he's doing, nor security principles.
The IT guy at HA also did some IT work for HP from time to time when needed. But he was not in charge of the infrastructure for HP, that was the jobb for one developer who didn't really know what he was doing either.
Whenever a new server was set up at HP, the developer tried many solutions, until he landed on one, but he never removed the other tested solutions, and the config is scattered all around. And no documentation!!
Same goes with network, when something new was added, the old was never removed or reconfigured to something else.
One dark winter, a knight arrived at HP. He had many skills. Networking, server management, development, design and generally a fucking awesome viking.
This genius would often try to cleanse the network and servers, and begged his boss to let him buy new equipment to replace the old, to no prevail.
Whenever he would look in the server room, he would get shivers down his back.
One and a half year later, the powerful owners in HA, HP and HC decided it was finally time to merge HA and HP together to HS. The knight thought this was his moment, he should ask CEO if he could be in charge of migrating the network, and do a complete overhault so they could get 1Gb interwebz speeds.
The knight had to come up with a plan and some price estimates, as the IT guy also would do this.
The IT guy proposed his solution, a Sonicwall gateway to 22 000 NOK, and using a 3rd party company to manage it for 3000 NOK/month.
"This is absurd", said the knight to the CEO and CXO, "I can come up with a better solution that is a complete upgrade. And it will be super easy to manage."
The CEO and CXO gave the knight a thumbs up. The race was on. We're moving in 2 months, I got to have the equipment by then, so I need a plan by the end of the week.
He roamed the wide internet, looked at many solutions, and ended up with going for Ubiquiti's Unifi series. Cheap, reliable and pretty nice to look at.
The CXO had mentioned the WiFi at HA was pretty bad, as there was WLAN for each meeting room, and one for the desks, so the phone would constantly jump between networks.
So the knight ended up with this solution:
2x Unifi Securtiy Gateway Pro 4
2x Unifi 48port
1x Unifi 10G 16port
5x Unifi AP-AC-Lite
12x pairs of 10G unifi fibre modules
All with a price tag around the one Sonicwall for 22 000 NOK, not including patch cables, POE injectors and fibre cables.
The knight presented this to the CXO, whom is not very fond of the IT guy, and the CXO thought this was a great solution.
But the IT guy had to have a say at this too, so he was sent the solution and had 2 weeks to dispute the soltion.
Time went by, CXO started to get tired of the waiting, so he called in a meeting with the knight and the IT guy, this was the IT guys chance to dispute the solution.
All he had to say was he was familiar with the Sonicwall solution, and having a 3rd party company managing it is great.
He was given another 2 weeks to dispute the solution, yet nothing happened.
The CXO gave the thumbs up, and the knight orders the equipment.
At this time, the knight asks the IT guy for access to the server room at HA, and a key (which would take 2 months to get sorted, because IT guys is a slow imbecile)
The horrors, Oh the horrors, the knight had never seen anything like this before.
What are all these for, why is there a fan ductaped to on of the servers.
WHAT IS THIS!
Why are there cables tied in a knot.
These are questions we never will know the answers too.
The knight needs access to the servers, and sonicwall to see how this is configured.
After 1.5 month he gains access to the sonicwall and one of the xserve.
What the knight discovers baffles him.
All ports are open, sonicwall is basically in bridge mode and handing out public IPs to every device connected to it.
No VLANs, everything, just open...13
PM asks for an estimate on a bug fix, I say 2 hours, he puts down 4 hours, I finish it in 10 mins. Today was a good day :)10
My boss asked me to do estimates for some tasks.
I did it.
He told me that was too much time.
I told him that those were the estimates taking into account the experience of the team.
He told me the estimates were independent of that.
I asked if an estimate, for the same tasks, for a team of interns should be the same as for a team of seniors.
"Of course they are the same!"
Funny thing is that he even says he supports scrum...9
My company does estimates in two ways.
1. Sales person just throws a number out there, always short, and we panic code to make it happen before the client decides twice as long isn't worth it.
2. The devs are told to give an estimate before having a chance to find out all the requirements, THEN ARE TOLD THEY ESTIMATED TOO HIGH AND TO LOWER THE NUMBER!
FUCK THE ESTIMATING!!! GIVE US TIME AND ACCEPT OUR ESTIMATES!! SALES PEOPLE DONT HAVE TO STAY UP IF WE NEED TO CRAM!!9
Manager: I need estimates for your sprint tasks
Me: I've never done any of this before, my estimates have no context and are effectively worthless
Manager: don't worry it's just for the Jira board.
Me: OK *gives estimates*
End of sprint comes...
Manager: Why isn't task X done?
I don't miss my old job :)3
Experience that made me feel like a dev badass?
Users requested the ability to 'send' information from one application to another. Couple of our senior devs started out saying it would be impossible (there is no way to pass objects across a machine's memory boundary), then entertained the idea of utilizing the various messaging frameworks such as Microsoft's ServiceBus and RabbitMQ, but came up with a plan to use 2 WebAPI services (one messenger, one receiver) along with a homegrown messaging API (the clients would 'poll' the services looking for message) because ServiceBus, RabbitMQ, etc might not be able to scale to our needs. Their initial estimates were about 6 months development for the two services, hardware requirement for two servers, MSSQL server licenses, and padded an additional 6 months for client modifications. Very...very proud of their detailed planning.
I thought ...hmmm...I've done memory maps and created simple TCP/IP hosts that could send messages back and forth between other apps (non-UI), WPF couldn't be that much different.
In an afternoon, I came up with this (see attached), and showed the boss. Guess which solution we're going with.
The two devs are still kinda pissed at me. One still likes say as I walk in the room "our hero returns"....frack him.11
Estimates are NOT... I repeat..they are NOT the FUCKING DEADLINES.
If you are asking for an estimate then remember, in your absolutely fucking small fucknugget brain, that it can FUCKING CHANGE!
The last thing you wanna do is grill the dev by asking them to explain in details why the change instead of trusting them. Specially when you don't understand a thing of the technology.
- Dev on whom you are shitting you asshole!18
Three months down the line and I'm finally ready to admit that my first completion estimate of "this afternoon" may have been slightly overambitious2
QA: Please Look at this Defect.
Me: Okay not a problem!
Me: <Starts to look at Defect>
QA: 2 mins later. Do you have an ETA on when it will be fixed?
Me: Not yet, I'm still looking at it.
QA: Do you know what time it can be fixed? I have a deadline.
Me: I don't know what's wrong yet, I can't tell you when it will be fixed if I don't know what's wrong.
QA: Okay. Update Me.
Me: Opens Dev Rant.5
Dev: this will take around three sprints to complete.
Product owner: weeelllll I think you can manage it in one..9
You can't trust estimates that two month ago me said!
He was young, foolish and full of hope.1
My teams current process is:
1) Asked by product to create “T-Shirt size” estimates, also known as a WAG (wild ass guess). The process is the mental equivalent of throwing darts while blindfolded, after being spun around in a circle and pointed in the wrong direction.
2) Product make firm commitments to upper management based off these. Ensuring them that all these features will make it out in Q2.
3) 4 days before Q2 starts, product ask engineering to figure out the real estimates based off no concrete information what so ever.
4) 4 Weeks into Q2, product provide the missing information.
5) Engineering inform product that the estimates are out by a factor of 1.5 - 3 times the original estimates.
6) Product sends angry email to upper management that through not fault of product, engineering are unable to meet the deadlines.
7) Everyone shout and complain until 1 week before Q3, then see point 1.
Following this process, you and your team can be just as delightful as me.
That’s the practiseSafeHex guarantee!5
I was at my last job for 13 years when they outsourced my job to India. They kept me on as a liaison - they said they needed a BS detector to make sure the hosting company was not inflating their estimates. 6 most boring months of my professional career.
As I was getting my resume together to start looking, a former coworker called. She was now an application dev manager and was putting together a post integration team. One interview later, I was hired. It was perfect timing.1
- Premature optimization is bad and wastes your time
- You need to see the big picture
- Always add extra hours to your estimates
- Test your feature like a QA engineer; look for the edge cases2
"How long will it take us to build X?"
"How long is a piece of string?"
Very similar indeed. Time estimates are insanely hard even with all the cards on the table, be sure to lay them all out before asking.1
Rant about devRant.
I hate to see two types of posts:
1. “Haha, i added a WordPress existing theme and charged customer XXXX EUR”, “Idiot customer, I had cross platform app and I charged for each platform”, “lol, they wanted to negotiate the payment, I connected to backdoor and shutdown down their servers”
2. “Why does customer not trust our estimates?” “I told him he does not need to worry about this comparability”, “they are asking about security of the hardened server, are they nuts?
First you treat customers dishonestly and then expect them to trust you and rely on your expertise. Before you constantly complain about the customers - look at yourself guys.11
- Hey! I need a quote for this project here...
- Ok, lemme check that...
*reads the document, estimates things, it's a simple, corporate website structure with a bit of custom WordPress code*
- It'll cost XXX for you, and that'll take at least a month to build properly
- Ok! I think this is fair enough, I'll take this to them...
(a week later)
- Dude, we had a talk and the project grew a bit, check the updated specs...
*the project now has blogs, a press kit, online store, some kinda donation/subscription system (this one will have payment gateway integration and a lot of custom code into WordPress) and user accounts for this subscription system + a lot of small stuff*
- Ok, it'll cost you at least XXXX (which is 4.5x the original price) and it'll take at least 3.5 months to build and test properly
(2 hours later)
- Dude, I almost fell from my chair when I saw this, please cut the price by 60% and the deadline to a month from now
- I HOPE YOU GET FUCKED UP FROM BOTH SIDES BY HORSES6
I just told my biggest client that they have to start changing things or they will need to find a different company to work with.
I'm hired to program what they want. They are suppossed to do all the concepting, functional designs, QA, testing.
So they tell me to program feature x, not realising that this interact with feature y. And then complain about the change in feature y. Make me do a lot of extra work and then complain that my estimates are way off.
So I told them they also need to hire my company for the software design and QA and prefferable testing because I'm done getting blamed.9
Boss: "How much time do you get this bug fixed?"
Me: "Give me 20 minutes"
*4 hours later*
Me: "fixed is in the repository"
Boss: "You're getting to much time to do your assignments"
Me: *Damn it*
I suck doing estimates 😥7
I've decided that whenever a non technical person be it a client or a non technical PM tells me it's easy or tells me it'll take only x hours, I'm going to tell them to either do it themselves, or let me do my estimate calculation. You don't fucking understand one line of what I do yet you can magically calculate the amount of time I'll take on the task? No fucking thank you sir.2
HAVE YOU JUST TRIED TO BARGAIN ON MY ESTIMATE?!
I really hate when people try to bargain on my estimates. It's done when I say so. I really think it through before I tell you the deadline, so GO FUCK YOURSELF PLEASE AND SHUT THE FUCK UP. NEVER EVER BARGAIN ON THAT AGAIN.
If you do, it will take one week longer for every time you try it.8
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?
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 somewhere1
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
This big multi-million consulting company hired me as freelance. They did it in a hurry, because "the project already started, it is a very important client (a bank) and we need your expertise by YESTERDAY".
In the first THREE WEEKS I had meetings with their own project managers, their client's project managers, techies, sales people. No one was able to tell me what do I have to do, but:
1 - they asked me for very detailed estimates plus a release plan
2 - f**k your estimates, we need this BY JANUARY 16th5
For some reason my manager freaked out after her non developer husband told her that each of the web pages for our main service would take months to build. Shit man its just static content with some animations here and there. It is a total of 15 pages and this dude estimated that I (as in yours truly) would only be able to do 2 per month. Bato stfu. Stick to banking (hopefully your time estimates don't suck ass there) and let me woo your woman with my frontend godspeed.
So what did I do?
Simple, asked her to show me one of the design models she already created on photoshop. Saved that thing to my computer and coded it at home. In 2 hours (It was originally one but my dumbass gor tab trigger happy with rm rf autocomplete so I had to do it again...fking dumb) and showed it to her this morning.
Eat a dick dude. The woman is already going apeshit over all the other shit we have to do plus working on her masters and attentind 100+ pointless meetings a day whilst still being able to be the best fucking manager I've ever had. I really don't need her freaking the fuck out over your dumbfuck estimates. Why in the wholy fucking world she listened to your dumbass is beyond me, probably stress made her freak out.
Its cool b.....I got it under control.
Fucking chill woman damn.
-Boss instructs me to always set high estimates
-Asks in how many days will i finish X
-I think 3, but adding 1 extra day for each random problem i tell him one week
-He says thats way too long, make it 3 days
-Shit happens and i can barely finish it in one week
Manager: what is the estimations for this task A nd B?
Me: Task A: 3 months for 1 guys, and task B: 2 Months
Manager: ok, u can have a fresher, and finish task A, and u urself can pick task B, u can train him and bring him up to pace...
Me: (trying to recalibrate my estimations)...
Manager: oh and u have 3 weeks to deliver production ready scalable quality code with junits, documentation and testing done...
Me: then why the fuck did u bother for the estimates?
Manager: oh that is just for the process complaince...I don't want any trouble in audit...5
Everyone's crying about big bad companies using innocent graduates by offering them a few non-paid internships. But when it comes to mgmt manipulating devs into non-paid overtime by questioning their estimates, noone sees a problem.
For fuck's sake, you are the devs, YOU and ONLY YOU can do tech estimates, not the mgmt. You are nothing close to a developer if you allow them to manipulate you like that. Just a dummy coder at best. A puppet with no backbone. An amoeba. You are DISGUSTING and a disgrace to developers' proffession.
Start acting proffessionally for once!!14
Coworker: We you have to estimate these tasks.
Me (thinking): This task should take one day, but I'll add 4 hours in case something unexpected happens again.
* Estimates 12h
Coworker: Alright, the tasks for this sprint have been selected. Please start to work on them.
Me: * Starts working on certain task
* Sees time available for task
2d 4h (=20h)
* Writes coworker
Dude, that much time is overkill for that task!
Coworker: Yeah, the client said something similar.
Me: Then why did you estimate it that high?
Me: Ok, what am I gonna do with all that extra time? 😑
Around 4 hours in and almost done. What should I do with that extra time?
Task in question: Add a mutually exclusive field to a database table, add it to the form, test it and update the docs.
Enjoy the unrelated, clickbait cat16
Boss: this is different from the old console I don't like it
Me: but this has been approved by product management and the team already made estimates and committed to the feature
Boss: Well this needs to change, our existing users will not like it
Me: This is far from agile to be honest, and the change came from user feedback analysis
Boss: You are not doing your work *swears and curses* this is against the team direction!
Me: then why was this committed on this sprint? All I did was facilitate the needs of the team to proceed development.
Boss: *runs out office and starts calling other bosses to boss around*
Runs in 5 minutes later, saying we are not allowed to destroy a feature with enhancements like this.
Me: *Infinite facepalm*7
Asking a developer for an estimate is like asking a doctor how long it will take to perform an appendectomy.
Making that estimate a hard date is like telling the doctor, "We need this finished in 45min, no matter what... NO MATTER WHAT!"4
I hate doing estimates, but I had to adapt. Since I work remotely and under contract, I'm used to track my time and estimate by hours.
I did a lot of mistakes before, which means I worked for free to wrap up fixed price projects.
Today, the method that is working best for me is:
1) positive estimate
2) most likely estimate
3) worst case estimate
Sum up and divide by 3.
I do this for every task.
Also, for Web projects, I like to divide tasks in categories like: HTML / CSS, UX, programming, testing.4
Don't be too pro active and keep a buffer while giving time estimates.
If you complete task before given time estimate, you'll not be valued and given more work without giving a damn!5
For fuck's sake man! I know you are an inexperienced junior dev/student but estimating 3 months at 6 hours /day for slightly modifying some C# code is just ridiculous.
I may have never touched anything .NET before but the modification required just 3 fucking lines and I did it in a day. In three months I would have finished the whole fucking project.
PS: VS2017 (RC) was quite lovely.8
A new producer started to pick up where the previous guy had rage quit. He looked at our sprint plan and announced it.
"According to this schedule, by these estimates, to hit our goal we have to somehow all work 27 hours a day, 7 days a week, for the next month."2
"How much time would it take you to implement $some_feature ?"
DAMN IT, I hate being asked for estimates on friday. Reminds me that I have to work again on monday.5
When i worked for a large, international bank (whose name rhymes with shitty), I always had to use the following formula to estimate projects.
1. Take estimate of actual work
2. Multiply by 2 to cover project manager status reports
3. Multiply by 4 to cover time spent in useless meetings.
4. Multiply by 2 to cover user support and bug fix tasks.
5. Multiply by 2 to cover my team lead tasks.
6. Multiply by 3 to cover useless paperwork and obtaining idiotic necessary approvals to do anything
7. Finally, multiply by 3.14159 to cover all the other stupid shit that the idiots that run that company come up with.
It's only a slight exaggeration. Tasks that required less than a day of actual coding would routinely require two weeks to accomplish and get implemented.6
Producer: "We need this new feature by next Wednesday's release. Enter estimates into the task, ok?"
hint for the estimate: by next Wednesday2
I can't stop myself from thinking like a computer when I'm sick.
The OS that runs my body is kinda fucked up right now. It was very vulnerable and now it got infected by viral executables sent out by an agent which happens to be on same work network that I'm connected to. Well, it executed and populated feelings of infatuation and crush in my heart drive. ( pun intended )
As a precaution, I patched the vulnerabilities by masking response of my Emotions API.
To further secure my system, I'll be executing memory intensive tasks that will also put my hardware to it's limits. According to my estimates, this will stall further execution of this infection and eventually kill them while rewarding me with upgraded hardware.4
Overwhelmed by a shitty codebase? Use the boy scout rule and leave the code you're editing a little better than you found it.
Worked wonders for me when I realized I could spend literal months refactoring and desperately needed a systematic approach.
Little by little that rotting house of cards will turn into something okay. It's a nice feeling looking back after a couple of months and see what you've done to make things better.
Also, make sure to remember the cost of wrestling with hurried legacy solutions in your estimates as well. Just adjust the level of bluntness depending on your work environment: admitting that things can/need to be improved can be unpleasant for some to hear even though it's true.6
There was a sales manager who was raked with overseeing me and another dev finish a last minute request project. He said at one point to the other dev that he was mad at developers because we understood something that he would never understand.
This same manager would often sit in on estimation meetings and constantly say that we were estimating too high and needed to come up with faster solutions. When we would offer him with caveats of possible technical debt or unintended side-effects/performance issues, he'd want us to go with that solution. He would then complain that we were always wanting to work on technical debt and that our application was slow. He would also ask for very high level estimates for large, unscoped features/apps without any meaningful level of detail, then hold us to the high-level estimated date even after revealing additional features previously unmentioned.
We learned to never compromise on the right solution and to push back hard on dates without proper scoping. They didn't learn, so I and most of the good devs left.
I am calling this a premonition rant, of more rants to come.
I have a feeling in my bones.
We have a newly acquired fat cat customer with bucks to blow who we have done some digital work for already and swag bag of marketing perkiness.
I will call the CEO of this whale "The Porcupine"
The Porcupine has a business degree and industry experience, nothing to do with websites or applications.
It claims to be a visual perfectionist yet never delivers an overall coherent review.
It likes to fixate on minor brand style differences in websites and apps we have built.
The Porcupine seems to be always busy with policy and legal and other things rather than participating in their own projects.
Procrastination on feedback or reviews until the day before release is common.
Many overtime hours worked, not a sliver of thanks. The haughty attitude indicative of somebody who thinks web development is like desktop publishing.
"It's just code" in response to a crash production server change they were warned was a risk that borked all of our responsive templates and took 3 hours to fix.
Their entire brand is shades of pea green, grey and lime. No serif fonts because they are suck. Arial and Helvetica are boss.
Anyway. They pay on time and the cost estimates for all the upcoming work are juicy.
We have shitloads going on for an upcoming hard date conference and everything is already compressing.
Therefore I can already smell doom and feel those porcupine quill getting closer to my ass as I beg their AD today if we have any feedback on the 10 or so project reviews yet?
I am a senior Android dev, and I have an old colleague (iOS senior dev). We work on the same project, but in every estimation session he pushes a lot on the lower side: he estimates 4h a task that normally takes 6h or 8h, and the reason is that he has no social life. Right after work he starts working again from home (I can see all his commits), he also works almost entire weekends. I would say he works as average 12/13 h per day.
I don t want to work extra time (unpayed).
About him, it is his life, so I don t care...but at the same time this makes me pressure. I care a lot about quality of code, and I don t want to sacrifice it just for catching up. Most of the people in the team know that he works a lot extra time.
How would you handle this?30
Again I ended working for a company where people love to pride themselves because they're 'agile'.
Basically they bought A JIRA license, that's all.
The CTO decides the estimates privately.
He assign the stories.
No idea what's a retrospective.
The sprint ends whenever he wants.
New stories continuosly added to the active sprint.
That's the risk of agile, unchecked power.3
PM wrote a really high-level requirement doc and asked me about estimates.
Me: Well, functionality-wise it will take 4-5 days provided the design is ready.
PM: Our designers are really full on schedule; Just do it! Expand your creativity. I believe in your taste of UX
Me: Listen, the implemented design will take much more time to change if we go back and forth. It's better to revise on the designer's screen.
PM: Oh don't be so modest! I trust you already. Just focus on the functionality, get it done first. For the design we'll talk about it later. Move fast and break things!
Me: ..Sigh. This is gonna end up badly.6
Always double your level of effort estimates to any management over what it's really going to take. Always.2
Client: Can you give me an estimate of how long this change will take?
Me: (meets with other devs for a good estimate, around 2.5 weeks, and gives to client)
Client: Great. Oh by the way we have a one week deadline.1
Why do business and systems analyst even project managers try to give estimates for how long development should and will take? I hate how people who don't code and do any real work try totell me how long it would take me.4
I usually work in a two person team on a hybrid application we are developing, using AngularJS and node.
This normally works okay, because he handles the back end (he's been on the project since January last year, I joined in August as a placement student), and I handle the front end.
However, due to Christmas holidays and such, he's ended up taking an entire month off, and won't be back until the end of January.
I've dabbled in back end before, some routes and that for SQL queries, but nothing serious.
Last Tuesday our core service for the application that needs to be updated in real time broke and pissed off the API provider because we were hammering them with requests.
My first day on back end and this happened. I didn't really know what to do, and had to call my teammate to ask what to do. I essentially just restarted things, and left them as is, until I could find a solution.
From there, I had to mock the operation of the service (which is a complex enough beast) to figure out the problem, and find a fix. Our app more or less hinges on this service, so if it messes up, it's the end times.
All of this while flying on what I've interpreted because the guy that's on holidays was the only guy that knows more about this project than I do.
To make things worse, the clients are being very particular because they're waiting on investments and don't have money to pay our company. So, if they're paying for 5 days work, they're going to put in 5 days of project development. The problem is that their interpretation of 5 days of project development has not changed from when there were two people on this project.
There are 40 tickets in this sprint (ends Friday) and 35 of them are assigned to me. Granted, not all of those take a day to do, but estimates don't mean anything, I guess.
Sweet talker but Incompetent colleague/team lead has given estimate of 350 story points (1point =1day) i.e more than an year and half, for one module to refactor. Worthless manager seriously considered to proceed with these estimates and ready to accept proposal.
When presented these numbers/estimates with wider audience, one senior engineer reminded everyone that module was developed few years back, in <2 months by 3 engineers.
Had a meeting on why the estimated dates got pushed back.
Me: I'm horrible at giving estimates.
Boss: I understand that but I want you to give realistic estimates.
Me: Face Palm.4
I have just started working in this industry, and so annoyed by the fact that managers are insensitive to the efforts put in by the developers.
1. They ask for estimates, and sometimes consider it to be the hard line for everything and then they make you feel guilty if you are not able to live up to them.
-- I am not asking to be always lenient but they need to understand that this is problem solving and one might not be able to gage the problem at first sight. A problem might have several sub problems or a solution to one issue might raise compatibility issues with other which were tough to foresee .
2. Why do they always want an instant response to their email or query, a developer being online isn't just there to answer your damn obvious and sometimes stupid questions which can be understood just be glancing at the logs once.
-- How annoying would it be if the manager himself is being poked every other minute for trivial things. Does he have the same patience with his/her developers?
3. In tough times the manager easily delegates the responsibility to the developer and instead of standing by his/her side, interrogates them as if we have done some crime.
-- Wasn't this approved by you. Weren't you the one who had these stupid demands before and didn't let me do things the correct or optimized way. I am not saying I am always right, but you can be atleast open for feedback or discussion.
Why are you the first to take credit for the success and yet hold us responsible for any mishaps.
It's sad to see that some of these people have been tech developers.
I can go on ranting for many more things.
I am not saying all those people out there are like this. But trust me many are.
Note: I am not seasoned as you guys out there. I may even be biased by my own experiences. But this is in complete contrast to what I was expecting when I graduated from college and was excited to finally learn by working.1
In "Sprint Planning", the team is supposed to come up with stories, break those down into tasks, estimate those tasks as a team, then let devs choose what tasks they want to work on based on the stories pulled into that particular sprint.
Instead, our manager creates the stories. He assigns the stories to each developer and then has that developer announce his theoretical tasks (without any research on feature's or project's requirements!) in front of the entire team. So, when I say, "I think it will take me 6 hours to implement this feature", he says, "6 hours? I think it will take 3." and then types the estimate as 3. I have so much rage when that happens. Then we continue to sit in the room for 2.5 hours where we go through this long data entry mess of him typing out tasks and second guessing estimates. There is no team deliberation or collaboration, its whatever the manager says.
While there are many issues I take with this approach, my pet peeve would be the second guessing of the estimates. It would make sense for teams members to second guess estimates as long as they are the same teammates who have the ability and possibility to take on the tasks themselves.
But I disagree with a manager seconding guessing an implementation feature that "I" definitely have to do alone, and they do not possess the immediate knowledge to implement it themselves.5
I once went to a client to get a brief for a website (the twat can't be bothered to write it, so he gets me to do it). I wrote all the details down and fired as many questions as I could. When I got back I wrote up the notes into a brief and sent it back to check before I costed it. He said it was spot on, so I sent an estimate. A few days later he must have shown it to another director, they both call me on speaker phone. Them: Will it do this, will it do that? Me: "It" doesn't exist, if you want to add some requirements then write or extend the brief and I will re-cost it.
They ignored that and rang a little later. Them: We have been discussing it, will it do .... and will it do.... Me: I repeated what I had said earlier, but my tone of voice had changed to reflect my annoyance. I never heard from these pathetic twats again. Moral: I always do background checks on a company, as well as accounts and financials check it's good to tap in to your network of colleagues, designers, freelancers. It can set the alarm bells going long before you commit any time.
Alright y’all what’s the longest minute:
Google drive upload 1 minute remaining
Windows copying less than 1 minute remaining
MacOS update screen 1 minute remaining2
Luckily I don't work at a place like this anymore, but I sure hate it when a company touts that they are an effective company who has implemented agile "the right way", then when they describe their process in detail, it is almost exactly the opposite of what agile is supposed to be.
I've worked for a couple places that just couldn't get their head around the fact that one of the reasons agile exists is because estimating software is hard, and only after doing agile the real right way for an extended period of time can a company expect to have realistic estimates. The business can't go a week without hard deadlines.2
Lesson Learned: Don't ever be so ambitious that you are no longer realistic about your abilities. I remember when I started out, I would give unbelievably short TTC estimates for medium/hard tasks that would undoubtedly take some time.3
When you have no work all week long because you finish 3x as fast as the estimates. You ask for more work, and due to "red tape" you can't even work on the back log.
Time to sit and look busy :).
Sadly, this is too common for me... I want to be buried in code and tasks! Not sit and twiddle my thumbs.7
Logging work in Jira, because it goes against the whole ethos of trusting people to get the work done when they have to log exactly how much time they spent on each individual story. It also doesnt account for pair programming. so 2 people log the same time and it looks like the story took twice as long. I’ll stop now because I’m precariously close to opening the “time based estimates” can of worms and thats for another rant.4
Don't complete the task within estimates : You're slow.
Complete it before estimates: Your estimates suck!2
Most pissed off I've ever been at work when was I attending some development meeting about the "slow progress we were making", in which the boss (same one giving us shit for being slow) came up with several new good ideas that he wanted implemented ASAP. Same thing he'd been doing all year; fucking up our plans and adding a metric shitton of feature creep. I tried to give realistic estimates for how long it would take to implement, and casually mentioned that working on this would also push back the other stuff on our plate, but he snapped at me and accused me of being a "negative influence" and "sabotaging the project", and went on in a long rant about how we didn't take the work seriously enough and that we didn't put in enough effort.
I was a hair's breadth away from flying over the table and strangling him with his keyboard cable, and the only thing that kept me in check was the tiny amount of steam I vented by snapping the pen I was holding in two. We'd been working overtime every day for months to try to meet his insane demands and accomodate him by doing all the changes and additions he wanted done, and I found his tirade - mainly targeted at me - highly unfair.
Somehow I managed to exercise restraint, and I'm not sure if he even realized what happened.1
I just got an email from the project manager:
Please make sure to review the 7/12 sprint requests for (x project). Please add your estimates even if the requirements are ambiguous. Thank you."3
When your retirement estimates says no matter what, you'll be earning more than you do now when you retire...
I fucking hate doing estimates. It stresses me out. I just did it, for a requirement about migration. I'm on my way to a fight now with the PO, because "the estimated time is too long". There was an agreement that deliverables were not to have extensive documentation and unit testing will only cover 30% of each use case (I know, stfu), but that's gone so I have to do the whole thing. I estimated 160 hours coding time, 40% of that for docs and 50 for testing. I'm standing by it.
All that stuff aside, what bothers me the most about estimates is that there's lazy motherfuckers who say shit like "I can have their RESTful ws in 2 days, but I said a month, because fuck it" and generate a win-win situation for them and their company, because the client - practically everytime - will just argue for the task to be completed in barely 10% less of the estimated time, accept the proposal and be happy waiting, the developer will fucking dawdle and the company will be paid for more hours than it deserves. Ugh.
I am a web developer and assigned in a project as Infrastructure Engineer AND Penetration Tester because no one is available. I survived that hellish experience, i learned clustering and other advance stuff on my own, studying even late at night, no training..just youtube videos. PM (who is currently has little to no involvement in this stage) has very little appreciation in what im doing(research, server estimates, diagramming, documentation, planning)2
TL;DR - an entire emulation of a closed source CMS to develop a theme
The longer version:
We are using a cms that is closed source, and we only have access to frontend files alongside twig files. The CMS is custom built but many aspects are in a very rudimentary state, for example it is nearly impossible to develop locally, we have to use an integrated text editor to code stuff.
So out of frustration, and for my development needs, I decided I would make an emulation based on Symfony 4. Also because my PM was pressing me to optimise our site. I wrote some custom JS to handle everything smoothly, a semi-sass framework and well-structured twig files.
I was also supposed to work with our graphic designer, but she didn't get any alloted time from our pm to work on it...
Now PM asks me to write a specifications document in order to make another company build the new version
I mean wtf, I'm so bored, I can actually enjoy my day by coding, and no, I'm just there to write the specs.
When I told PM I am currently building the new version, she's like "but we didn't validate anything", when she explicitly said I had a green Go to code it a few months back
Instead I have to make prezies and convert them back to PowerPoint because we have computer-illiterate people in the company who aren't flexible to understand simple tools.
Let's hope it won't get useless by Friday (I have a presentation to give, alongside my estimates and project management presentation)1
Don't even say your initial time estimate/guess out loud. It will probably become your deadline, and you probably assumed that most things would take a reasonable amout of time.
Bonus: Try to get onto projects that you think you can get interested in. Once on a project try to keep interested in it's success.9
It's been 3 busy weeks. Had so much to rant about, but I could lurk at best.
We had 2 big features coming to 2 different projects. I told my boss it's take 3 weeks for the one I was working on. The guy working on the other one, said he only needed 1 for his. Guess who got labeled as negative, worrying too much over nothing, and so forth? Especially since a "much more complex" feature would take just 1 week!
Whatever. Fast forward to this week. I was done by tuesday, including testing of both features and deployment. By wednesday, I had even a good looking documentation. Everything was ready. EXCEPT. The 2 features have to go live together, due to various reasons. Guess who ia still a ling way from completing his task? Gueas who asked to postpone his deadline by 2 weeks? Guess who's gonna have to work on weekends for no extra pay?
Guess what? I know how to give an eatimate, and I rather be "negative" and schedule 1 or 2 extra days to be prepared for hiccups and what not rather than having to waste my free time for nothing.
Asking for a precise or accurate estimate is asking me to predict the future, which is essentially asking me to lie to your face.
And I'm a terrible liar. Please don't make me lie.2
Where to start?
I think my worst is probably trying to do too much at once. I love a challenge and I really enjoy pushing myself but I don't know when to stop so I tend to wind up overwhelmed.
Another is trying to figure out timescales. I find this so fucking hard that it's almost a joke. I'm terrible at estimates on the spot and I'm quite bad at just saying "I'll need more time for an accurate prediction."1
How do your companies do things? Does your development team have much autonomy from the non-technical side of the business?
I work in an agency and we have yet to actually get a proper workflow in place for things, its getting quite irritating.
So, we have a ticketing system in place and its not used anywhere near properly. In theory you could design a whole project in Jira and use that to handle all of your status updates, the PM's would just, you-know... read it.
In the morning we have "stand-ups" where for some reason we will have project/task briefings/long speeches lumped in before developers get onto talking about what they're working on and naturally if they have any blockers. Then at the end of this "stand-up" everybody has to write down what they just said onto post-it notes so the PM team have an idea of what everybody is working on that day.
So essentially, every developers day is micro-managed from the business side with exactly what they're working on.
Throughout the week there may be bug tickets that come in, these tickets are thrown into developers outlook calendars so they know which day to do them on.
For some reason nobody has considered that you could setup due-dates on tickets and setup Jira dashboards to make all of this stuff very straightforward to manage.
I think the problem is that since nobody actually works from Jira, they just get things thrown at them verbally or via calendar nobody would get into the habit of checking their dashboards on a morning.
Another annoying thing is getting tickets sent to you with estimates already made (not made by a developer either) or with project schedules laid out before any estimation has been done at all.
We also have a pretty insane ticket backlog due to PM's not actually looking at their own projects and attempting to prune or even review the backlog. There have actually been cases where client work totally drops off the radar from the PM side and just never gets finished.
Am I working in an utterly dysfunctional shop or is this kind of crap just par for the course?1
So tired of clients wasting time with "features or changes we absolutely have to have" but after researching planning and estimates "it's just not in the budget right now"2
We basically don't unit test at work. I write some tests for my code and honest to God people complain I'm wasting time saying a test bed and manual tests are good enough. We don't write test beds for about half of our production code and rely on integration tests for the rest. We only test release builds which have been symbol stripped, I get handed a crash report with no stack trace that I'm unable to reproduce and expected to stay late to fix it for some arbitrary internal deadline.
I've since moved to R&D where basically I'm left to do my own thing so it's better.
We don't project manage. Project leads take time estimates and double them so management might cut them some slack. This doesn't matter because management made up time estimates before the project started. Last project I was on had a timeline of 3 months and took a year.
We have released broken products. Not that any of the above really matters, our software products have made about 50k revenue in 2 years. There are 6 people on software. Fortunately hardware has made about 3 mill. That said our hardware customers are getting frustrated with us as we keep fucking up, shipping broken products and missing deadlines.
I've been working there about a year and a half and will be looking for a job at the end of the current project.
I joined devRant about when I was most pissed off with my job, my rant frequency has definitely gone down since I moved over to R&D.
PM: You developers are like craftsmen, you're so unreliable in your time estimates, I do not know why I bother asking you.
Looking up, thinking if you gave me time to investigate the issue before forcing me to give an estimate... *smile and wave*
Good PM you sod off !!1
For the guys familiar with 3D printing.
Does your slicer also give you time estimates that are completely off? I'm printing something that would take 10 hours according my slicer. Started it at around 10 AM and its 1AM now and still printing. Halfway during the print I increased the printing speed to 150% because it was way to slow.
Is it just me or are the estimates completely off at each print and the longer the print takes the less useful the estimates are.
I have a brand new personal website nearly done to launch and a Django learning project I want to do, but I first need to finish this Grav-powered website I promised half a year ago, but the semesters and computer problems keep delaying that... 😢 #NoTimeForCode
I might have just git-committed the cardinal developer sin: not multiplying estimates by 3. Torvalds help me!
So a php app I developed a few months ago when I was first starting as a dev needs an upgrade. Pretty simple since I've known about said upgrade for a while, but the feature was never needed until today.
Told my boss it would take a day or two of refactoring and additions for it to work.
How screwed am I?4
if there are 3.4 Billions FaceBook fake users, that means than there are also at least 3.4 Billions fake email accounts around. Jeez.
And the spam traffic estimates are at 260Billions email per day or 260B/3.4B=76 emails sent by each fake email accounts per day. Much less as probably fake email accounts are more.
So, only 76 spam emails sent per account per day. I think there is still room for a big improvement5
Rant one of monday!!
Monday stand up meeting....
Reviewing jira tasks
Front end:" well, I dont think that is a priority but IM NOT TEST DRIVEN DEVELOPER SO...."
Jira task? Local env for testing in minikubes.
Ahhh the cool startup isssss sooooo cool he takes decisions about that, model the app or even estimates the deadlines of the product (the product not jira tickets)
Isnt it cool? Why not give that power to juniors? Why not tell them they dont need to learn and junior is just something they label to pay cheap for them?1
Moved from a gambling company to a government body. Got to say I'm less stressed about estimates now but more worried about standards here.
Stress and career development < No Stress and less career development.
Ask me in a few months.1
Not more accurately tracking my hours worked with estimates, then wondering why I feel like I've worked so hard for seemingly so little monetary gain.2
I've just heard from the business person that we are giving high estimates on the projects delivery time out of spite. Are you fucking kidding me. All of that just because they wrote Hello World and they think they now better how much time it will take.1
Moments when you give wrong estimate and then have to sit up all night.
Fuck estimates. I will never get them right.1
I have a dream that one day the sales people will consult with a developer on time and effort estimates before making ridiculous promises to the client.5
Im bad at estimates so I created a Formula to calculate it:
Number of identities in database * 2 * pi / amount of free coffee in liters * expected uichanges from customer / (7 /rainy days in the week)
It is pretty rough but it gets the job done most of the time2
when a web agency contacts an other web agency to outsource between 10% and 100% of the work (asking for estimates), and that web agency then asks you how complex it would be...
and you're the only programmer in the story...
and you're a freelancer.
I've received new instructions at work and I would like to know your opinion. We are two at work, my boss and I..
From now on, projects are estimated, we own the responsability of delivering our tasks to the date each individual. We will work with estimates + error margin of 30%, meaning we do the estimate and add 30% to the hours. We also set a deadline date, ideally a week or two later - this date will be given to clients. If we have not met our estimates including the error margin, we do overtime. We have to own each task our selves, and personally take the responsability for our assignments.6
I suck at making estimates on my tasks. I recently estimated a task for 2 weaks but finished it in 12 hours...3
Don't you just love it when there is no formal spec. you get a few mspaint slides and told a delivery date, scope and slides are changed by management weekly, not necessarily informing you of it. Then when your failing, deadlines pass you by you still have no clear spec 2 weeks before release, partial backend because core business devs are busy doing support on the legacy systems. No frontend cause it's been changed, redesigned and you've been forced to change frameworks and technology so many times due to corporate policy and legacy systems with another dev group holding your balls with what they allow you to do and use. Id complain but at least we've been told to be agile. This is my life now, we lost all hope and stopped caring. And management wonders why the deadlines and estimates are all off.2
Estimating a rather simple looking project without a thorough examination of the client's code.
It turned out to be the worst kind of crap a human brain could produce. The project we estimated for 2 months is going to last 6... And if we decided to rewrite it the day we were to estimate it, it would be done in 6 weeks1
Our client supposedly managed our Jira board yesterday in preparation for the release to live.
It was a mess. We have two people on this project - so our effective maximum workload is 10 days worth of tickets.
The current sprint plus the next have over 60 tickets in them, with the other "light" sprints having about 15 days worth in them.
I know you shouldn't get caught up over estimates too much, but they're in place for a reason.
The client really needs a reality check, and to be reasonable. When looking from a macro perspective he loses sight of all reason and scope, trying to grossly overfill what the two of us can handle.
A junior and student placement dev can only do so much.
I guess time will tell how realistic 16th April is..
I fucking hate being put on the spot. I'm trying my best over here to learn and improve but I don't know my entire project by memory and how every single little thing works, and it makes me feel like shit constantly having to say "I don't know" when asked about task estimates and work difficulty
Now I've made myself look like an incompetent moron because it's stressful and the one thing I was left in charge of I screwed up
Christ man since when did programming become a social management activity?6
Been a team lead for a few years now but it seems that my job now seems to be chasing team members for estimates and deadlines 😡
Right now. I'm expected to train a guy in maintaining 3 different apps before the end of August. The manager wanted a complete plan for the whole process, with time estimates on everything. Then we put together a whole plan with a spreadsheet for the schedule and she wonders if we are "going overboard". If you expect this guy to be able to fix any issue by the end of this, theres no such thing as overboard. Get your head out of your ass. Meanwhile she is supposed to be finding a new project for me but I fully expect her to come back and say they need me to stay "just a bit longer". I cant wait for that meeting...
Having to give time estimates for custom projects involving functionality unlike anything you've done before - FUCK OFF. How is that possible?!2
Working in an Agile manner provides numerous ways to lessen or eliminate dependence on estimates. #NoEstimates
Clicked "Reader View" on a Jira card in Firefox. Firefox displays a JSON object which it estimates is going to take me 17-20 minutes to read.
Go home, Firefox, you're drunk.
I usually don’t want to speak ill of my university (applied science). But this is just ridiculous.
They want us to deliver an Android-App that offers UI and controls for a fictional drone-scenario. The task is about making a usable UI, so an API/Backend for the drone simulation is given.
It is required to offer drone control elements, like climb/decent, turn left/right, go faster/slower… easy enough.
Then, a map is required that visualizes the drone in its environment. Simple map, just like a coordinate-system, no images and stuff. There may be obstacles at certain coordinates, that need to be visualized. These obstacles also move.
But this just covers X/Y, you also need to visualize the height (Z) somehow. And to visualize the course/direction and inclination (angle).
As the drone can go faster/slower, the map and the height-graphs have to scale accordingly.
The fictional drone has radar, so the radar coverage has to be visualized on the map but also according to the ground. So like a triangle that may (Not) connect to the ground, which indicates whether the radar can detect obstacles at the current height.
(It is supposed to detect ground vehicles, so nothing within the air)
Yeah ok, that’s a do-able task, no complains. It might be fun, it might be difficult for a 5“ screen. But all-in-all do-able.
They gave us three weeks to deliver the App. That accounts for 18h study time in the lab plus xh homework.
Within the first 6h Lab-Session, my colleagues failed to even set up an android project with some sample classes/files.
Within the second 6h Lab-Session we were taught to build an App where you can move an image with your finger around. My colleagues didn’t even complete that, because no programming-practice.
And we’re now supposed to deliver that fancy app on Friday.
I didn’t start yet, much organizational tasks around my thesis, as we‘re in the final semester.
But the amount of work for that App?! Ridiculous. I might finish it in time. But my colleagues are never going to even do something until Friday?!
The tricky things are scaling and moving of the map, drawing a graph, etc. we are allowed to use libraries tho.
But even then, the workload is unbelievable, if you didn’t make a real Android app before.
I‘m a good and experienced developer (but no android experience), I will figure it out. But I don’t even know basic keywords for what to search in the documentation. 😩
If a client ask me for such an App, my estimates wouldn’t be near three weeks.
Or that 18h plus like 18h at home, never.
But my colleagues can’t figure out how to: download an HTML document within a browser, set up an Android app project or recognize that they are trying to paste JS code in a C# file.
Keep your fingers crossed, I’ve to finish this thing till Friday!
Estimates.. First, part of the team makes "high-level" estimates which are based on informal, incomplete, still-evolving specs and an unstable back-end. The project people report the estimates to the client and elevate the status of these inaccurate estimates to that of commitments.
Then, before the "sprint", we review our initial estimates *ahum commitments* in greater (technical) detail. Because there are still a lot of unknowns, we tend to estimate more buffer here (back-end is often not ready, always ping-pong between project people and dev-team about unclear specs, more work than originally expected, and often late modifications to the original spec).
When an estimate becomes more than 50% extra time at the "refinement", we are told: "sorry, we gotta do it in less" and when it doesn't work out, we're kindly asked to spend part of our weekend catching up at 100% pay rate (legally it's 150-200%).
FUCK THIS SHIT
*quotes used abundantly because these terms belong to "agile/scrum" terminology but we're only pretending
When Email and Time-sheet is everything in the workplace....
They literally don't care about your work or about successfully deploying project, if you don't have it in timesheet then you did nothing.
They want me to work on totally new things and expect to get the results within week and when I mention this is new and I can't even give estimates, they want that to be in an Email. Like WTF!! you even know this is fucking new thing that only I'm working on, there's no one to help me.
And I'm here learning,studying so I can solve these out of scope requirements with best practices.
And in the meantime they also want me to work one few other things .__.1
How on earth are you supposed to deliver a precise estimate of assignments, when your client wants the assignments estimated in parts, but youre not able to split it into parts because its a chain of assignments, that cant be split, like if one Thing succeeds then its possible to move on to next part? So many unknowns because you have to set time aside for unknown code behavior.. Sigh..1
All our estimated are too high because we build everything from scratch every time, but we can't white label anything because we have to always be billable and a customer won't pay extra for white labeling just so the next customer gets it cheaper.5
At the end of the sprint half of the stories didn't get done due to lack of coordination to put 4 people in the same room and get them to agree on the solution.
During Retro my Scrum Master says: Are these stories not done because we haven't estimated them during sprint planning? 😂
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1
Last year my boss decided to outsource a project I did the year before to another company.
Now he wants my opinion on why this company estimates 10h to do an upgrade on a API interface I did on that project.
Like I remember details on what I did two years ago. And like I have any idea how this company is rigged to handle the project.
Client needs a section of their current website redesigned and add some functionality based on user interaction with the website.
ac - account director
ac: Need timings on FE build for his section on the website.
me: Cool can I see the wireframes/designs?
ac: No wires yet, designs are here...
me: *sees 3 pages mocked up out of 50 different ones in this particular section, and they all have different functionalities*
me: I can only give you estimates on the designed bits
ac: Just estimate based on the UX proposal, it's here...
me: *reads first line - "Make F&Q section and sub pages more visual*
me: Tasks described in the proposal are too generic!
ac: Just estimate based on the previous work done for this client (which have nothing to do with the current scope)
me: *dies and goes to freelancer heaven*1
How do you guys explain to your CEO, PM, boss [whatever] that you cannot give them accurate time estimates for debugging? 😅
If something i made has a bug, and uses external libraries, not even debugging my code (more like, how i used / implemented something has a problem), i obviously have to first of all check what the hell is wrong ! I dont just make bugs for fun and happen to know exactly what is the problem and therefore the solution ...
how to manage estimates of release, not getting heck of it at all from long time,. specifically, for android app.2
So this modeler on a Dev call, I have this new shiny model, let's release this to production mid November😳 (Seriously that's how he started out the first conversation).
2 min silence, everybody looks at each other for reaction, just like a TV shows !! 🤣🤣
And the my Manager lists out the things that would be required to before we ship this out.🤐
Modeler : Oh I guess we won't be able to deliver it this year.😤
I am like what were you thinking. Everything is not just import an Excel in R and crunch numbers and write reports and show graphs. is it?
There is a real development cycle that has to do all of the above on not so pretty data, at scale reliably for 100s of clients and not just your laptop.
What do I do? I have a unique idea in a fairly large industry that I believe is profitable (based on research and estimates) but the development could potentially take years and is outside of my skill level. I also don't know anybody who would be passionate enough to want to join me or wouldn't steal the idea... All advice would be greatly appreciated :)4
I thought devRant week count would have overflowed and gone back to 1.
Qhat sort of year has more than 52 weeks, feels like the estimates PMs give ...
"All Tech Projects Run Over Budget"
I was on a nice streak of being calm for a while and then this article just dropped today. Fuck management and fuck whichever dumbass wrote this piece of shit.
Is anyone else pissed off at this? It makes it sound like software engineers are slow and never on time, and the main reason for a project's failure is the inability of programmers to meet deadlines. I find this a little sus, especially as it's written by someone in a management position.
I would argue that projects fail because:
1. Management takes the very feasible timeline given to them and throws it out the window, opting to impose impossible deadlines instead, because FUCK your employees right?
2. Clients have requirements that can't be met (I agree w/ this from the article, but not the part about developers not accounting for issues--I always do this and everyone I know does this)
3. Technical Debt arising from when management tells the software engineers to *just do it this way because it's cheaper*
The calculator they made is nice but it's also quoting estimates that I and everyone I've spoken to agree with, so this is clearly not a software engineer problem, it's a fucking management problem. "Budget" = accounting's job.
That being said, the "take their quote and triple it" part had me dead...1
Suffering from the cash flow blues.
Remote contracting roles are far and few between, and so far I’ve only found the one client, the problem is that because they’ve been burned in the past by contractors, they only operate on an order by order basis.
So we’re stuck in this perpetual cycle of issues > estimates > order > development > test > tweak > pay and repeat.
The problem is that there is always significant delay between the stages from both sides, either because they’re busy on stuff, or I’ve burnt myself out rushing to meet an estimate and having to take a bit of breathing room.
Don’t get me wrong, it’s great working in blocks of a few days to a week and then having some time to myself (and the money is nice too), but the cash flow inconsistency is super scary when you’re having to manage corporation tax, accountancy fees and a salary.
Anyone else have these issues / know good places to find remote contract work?2
Got a change request today. The client had written two lines.
The first line(specs): we would another installation type something like "blabla"(an existing installation type).
The second line just ask for an time estimate...
They same client have been known to use mspaint as the visual aid of how they want things to look, and it looks ugly.
My reply for the CR: The time needed to complete the task is 5 hours + whatever amount of hours I find suitable.
So.... we're going to support the .NET WebBrowser control as a supported browser now. Yeah, the one from System.Windows.Forms. It can't even run a basic browser conformance test, barely if at all supports jQuery 2, and throws an error message if you look at it the wrong way. Time to hire a new tester.
Need some advise from all you clever devs out there.
When I finished uni I worked for a year at a good company but ultimately I was bored by the topic.
I got a new job at a place that was run by a Hitler wannabee that didn't want to do anything properly including writing tests and any time I improved an area or wrote a test would take me aside to have a go so I quit after 3 months.
Getti g a new job was not that hard but being at companies for short stints was a big issue.
My new job I've been here 3 months again but the code base is a shit hole, no standardisation, no one knows anything about industry standards, no tests again, pull requests that are in name only as clearly broken areas that you comment on get ignored so you might as well not bother, fake agile where all user stories are not user stories and we just lie every sprint about what we finished, no estimates and so forth, and a code base that is such a piece of shit that to add a new feature you have to hack every time. The project only started a few months back.
For instance we were implementing permissions and roles. My team lead does the table design. I spent 4 hours trying to convince him it was not fit for purpose and now we have spent a month on this area and we can't even enforce the permissions on the backend so basically they don't exist. This is the tip of the iceberg as this shit happens constantly and the worst thing is even though I say there is a problem we just ignore it so the app will always be insecure.
None of the team knows angular or wants to learn but all our apps use angular..
These are just examples, there is a lot more problems right from agile being run by people that don't understand agile to sending database entities instead of view models to client apps, but not all as some use view models so we just duplicate all the api controllers.
Our angular apps are a huge mess now because I have to keep hacking them since the backend is wrong.
We have a huge architectural problem that will set us back 1 month as we won't be able to actually access functionality and we need to release in 3 months, their solution even understanding my point fully is to ignore it. Legit.
The worst thing is that although my team is not dumb, if you try to explain this stuff to them they either just don't understand what you are saying or don't care.
With all that said I don't think they are even aware of these issues somehow so I dont think it's on purpose, and I do like the people and company, but I have reached the point that I don't give a shit anymore if something is wrong as its just so much easier to stay silent and makes no difference anyway.
I get paid very well, it's close to home and I actually learn a lot since their skill level is so low I have to pick up the slack and do all kinds of things I've never done much of like release management or database optimisation and I like that.
Would you leave and get a new job?2
I'm told when to finish. I flip a coin, if it's heads I honestly tell it's impossible and point out a realistic - unacceptable - deadline. If it's tails I take the blame. It doesn't matter really, we're running more than a year late now and the workforce is a single senior who was given a team of 3 relatively intelligent but already overworked high school students (including me) who try to help as much as we can.
The Project Manager changed the project from scope driven to date driven with the teams giving him only t-shirt sizing estimates. Wish us luck...
So I am a back end developer, but the UI team seems to be taking forever to make front end pages with no front end display logic. Any vague estimates for a page with text boxes that calls an API to fill, and API to save?
*This is half serious wondering, half poking fun at vague estimate requests1
Agency adventures: Client always asking for bespoke hardcoded changes in the system. They want to save budget, so you suggest to make a admin screen for that frequent change so they can manage themselves and not pay you to do. You make that. Client keep creativity on top levels, asking for changes not supported by the new feature and that still have to be hardcoded.
Now, after the time estimates, they kindly ask: "can't you use that admin page to speed up your work?".
How I estimate work: Deep dive into the existing code, consider refactors and related modifications that may need to be done, look for alternatives, assess the scope, and then add 20% to whatever amount of time I come up with.
How every company I've ever worked for estimates work: "It's just adding a button. My nephew builds websites and he says buttons are easy. We need it in production by tomorrow."1
Working from home today.
I have been in this role for many months now. Not a single ticket with specs.
Question in my email inbox
"Estimates" for current ticket.
Without specs, well some time I guess.
In response to my previous rant:
You guys thought I'd have to redo my time estimate to my boss. I'm chill fam.
I just finished the code in about an hour of editing and testing.
Pic related, my face until the next time this thing breaks.