The opening scene to Mission Impossible: Rogue Nation gives me work anxiety, with the Jeremy Renner as the manager who is shouting at the two people doing the work to work faster (repeatedly) and giving them directions but has no understanding of what they are doing. Then Cruise sweeps in with a new directive and it takes a few tries to get right, under an absurd deadline.
I once read about Andy Warhol's film Empire and thought it could form a decent stylistic background for a movie about your average programmer's work day.
One continuous 8 hour shot of a programmer sitting by a computer, slowly scrolling through a code, pausing for a long time to stare at particular sections, and occasionally saying "why the fuck doesn't this work?"
Yeah, except Joe doesn't just say "yes". He's got some corpo speak about making sure outcomes align with the the most emergent needs and ensuring Joe has a he right information to manage expectations.
The person in charge trying to coordinate the whole thing, who's asking for status updates on a daily basis and jumps down your throat if you don't respond in a timely fashion, takes weeks to respond when asked for critical input. Also....
Leader: The world is going to end in 5 days, we need that product now!!!
Programming team delivers a functional product.
4 days later...
Programming team: did our item save the world
Leader: I haven't gotten to it yet, I'll take a look by EoD.
Not software, one my the reasons I dropped The Flash tv series was the speed at which the "techie" created new tech that would win anyone several noble prizes.
There's an alternative to creating too many tickets that only add overhead and then make it harder to get into the project. Creating a good amount of tickets.
I took the OP reference as demand for ticket creation when they don't make sense and only hinder development through unnecessary overhead. E.g. creating a ticket before a quick analysis, or creating individual tickets when one story/feature ticket would be enough. Or more specifically in this case, having to create one before fixing a critical blocker.
I get the message here for sure, but imo tickets (while important) take a back seat to a rich commit history. Ifbthe commit messages and history are high quality enough, one can tell whats up with the code sinply by looking at the log.
Tickets on the otherhand are in a secondary system. Of course, they can bind the work of multiple projects together. But honestly, has anyone ever been able to just reach the ticket history and know everything about a project without asking someone?
tickets (while important) take a back seat to a rich commit history
I've found people who do one will manage the other with ease. But "oops! No ticket" is a canary telling me their commit log is going to be shit.
But honestly, has anyone ever been able to just reach the ticket history and know everything about a project without asking someone?
I've been able to find out the status of individual half-finished bugs off a ticket log and work/reassign it quickly. Without a ticket in queue, I'll either discover the issue has been completely ignored or that multiple people pioneered their own boutique fix without talking to one another.
"Why isn't this ready yet? The meteors are falling in an hour?"
- Oh sorry I got distracted by Youtube for a minute
"...You've been doing this for a week"
Half way into saving the World it turns out you need some data that's not even being collected, something that nobody had figured out because nobody analysed the problem properly beforehand, and now you have to take a totally different approach because that can't be done in time.
Also the version of a library being include by some dependency of some library you included to do something stupidly simple is different from the version of the same library being included by some dependency of a totally different library somebody else includeed to do something else that's just as stupidly simple and neither you nor that somebody else want to be the one to rewrite their part of the code.
YES YES, IT'S NOT TIME BUT WE ARE TRACKING IT THAT WAY BUT IT'S IMPORTANT FOR YOU TO NOT THINK OF IT THAT WAY WHEN YOU ESTIMATE BUT WHY DID YOU GO OVER THREE DAYS
Let's all head to the conference room, so we can discuss the definition of a story point for an hour. I'd also like to talk about why we are behind schedule and our velocity is dipping. Let's make it two hours.
As if, I, the programmer, will open a ticket for anything. Thats your job tester. Thats jour job PM. Im not putting this fire and I dont care if the company goes under because of it.
I’m still not sure what a project manager contributes.
I've well over a decade in software project management. The number one thing we contribute to a project is saying to the client (internal or external) "Sure, we can add that feature but it will have an impact on the delivery timeline unless we deprioritise other features. Are you happy for us to extend the deadline? If not, let's talk about what we can cut from the existing scope in favour of your new feature."
A big project with lots of people and moving parts that doesn't need each individual tracking their own status and needs because the Project Manager is keeping everything up to date and keeping the Senior Managers off your back is invaluable.
Go Live was buttery smooth. We were all in and out by lunch, even after having to address a hang up on the fly.
Good project managers are worth their weight in gold
Good project managers are invaluable. I'd much rather explain status to a sympathetic ear and have them reword it for diplomacy than try and directly advocate with executives - and I celebrate any customer communications I don't have to be a party to.
When PMs act like part of the dev team and handle the communication side of the project it lets devs focus on the important shit... and if your PM is asking for daily updates then they're too green (or you're too unreliable) to have built up a good level of trust. Nobody fucking cares if a project is delivered at 3PM or 4PM, so who the fuck cares about daily or hourly project updates - the status won't be materially different.
It's like managers or fellow developers - good ones are invaluable and shitty ones make everyone's lives harder... the difference is that PM seems to be a position that attracts do-nothing folks so it's more likely you'll get a shitty roll.
I've had, hands down, one of the worst project managers in the world. Hewas overly concerned with team politics and toxicly positive. His toxic positivity was the main reason in my opinion as to why we never delivered anything usable to the company and were eventually downsized. He had no vision at all for quick and frequent delivery... he was the wrong person for the job but consistently believed that he just needed to "do his best for the day" and sleep happy that night. Meanwhile, his team was boiling with frustration and wasted work hours for features requested by management on a whim — these usually end up fully forgotten by the time they are production ready. His biggest accomplishment is somewhat shielding his team from upper management... sometimes. He was such a bottle neck and our team was a net loss to the company except where they could advertise "using AI" in their products. If he had been removed, and we (his team) had to manage things ourselves with the stakeholders, we would have probably been able to deliver something worthwhile every quarter or so.
They're supposed to work as an adaptor/buffer/filter between the technical side and the non-technical stakeholders (customers, middle/upper management) and doing some level of organising.
In my 2 and a half decades of experience (a lot of it as a freelancer, so I worked in a lot of companies of all sizes in a couple of countries), most aren't at all good at it, and very few are very good at it.
Some are so bad that they actually amplify uncertainty and disorganisation by, every time they talk to a customer or higher up, totally changing the team's direction and priorities.
Mind you, all positions have good professionals and bad professionals, the problem with project management is that a bad professional can screw a lot of work of a lot of people, whilst the damage done by, for example, a single bad programmer, tends to be much more contained and generally mainly impacts the programer him or herself (so that person is very much incentivised to improve).
I have a friend who was a project manager. He took the time to learn every platform used by his team, but held no pretenses that he could actually develop anything without the team. His main goal was filter all the horseshit from the stakeholders and higher-ups so that they wouldn't overwhelm the team with minutia. By learning the platforms and observing the team developing, he could make accurate predictions on timeliness based on whatever arbitrary feature was being requested and he'd always answer "let me ask my team" before discussing deliverables if he wasn't sure.
The number of times that he explained in meetings that's the team's timeline didn't change, but that the stakeholders' expectations did and that introduced a new additional timeline was incredible. It's unsurprising that he only lasted a year or two before his bosses started pushing for a promotion. Seeing him work made mean bit jealous that I couldn't be on his team, but we work at different companies and I don't want to join the private sector if I can be of benefit to public education.
I don't work in software, I'm a chemical (aka process) engineer.
Some project managers are superfluous if they don't have a background being an engineer of some discipline themselves, but the vast majority I've worked with are excellent because they have a working knowledge of everything required to progress each stage of the project, and deal with most of the client interactions.
Being able to say: "we've done x, but we still need y, z and aa to progress" and then the project manager organising this getting done together with the other discipline leads is a godsend, letting you focus on doing the actual calculations/design/nitty-gritty details. And the fact they manage the annoying role of dealing with clients and the disagreements around that is also great.
This is working as a consultant, but I imagine if you replace clients with higher ups, I'd imagine the same still applies.
Perhaps things are very different in software, but I do think there is some use for them.
But I've never had one check up every 15 mins, more like once a day, and only if something is very time sensitive. Otherwise it's once a week, or by email as required.
I’m a project manager for a team of IT systems, engineering, and infrastructure folks with just over twenty folks and my key purpose on earth is that I take one hour or less of their time once a week and by doing so they never have an email or conversation with anyone else outside of our team. I know enough to talk to any stakeholders and complete monthly status reports by simply knowing what is going on and communicating strategy to them. I’ve been praised heavily which feels very dirty being an individual contributor for so long in my career. I can speak the same language as everyone on my team spanning logistics, networking, systems, and software development but I don’t DO anything. I have major imposter syndrome as I near retirement so the praise is also appreciated greatly from them. It’s a really weird period in my career.
At my job, me and another guy were given stuff to work on. But unknown to product, there's a lot of shared code there.
In my imagination, it should be someone's job to coordinate this. Instead, I finished a chunk of mine, he finished a chunk of his, and then there was confusion. Maybe that's just a technical team lead's job.
PM: "Hey, I know you said it'll be done in a week, and you need me to stay out of your way so you can focus, but it's been 7 hours and I was wondering if you have an update for me. Can you create a report that outlines what you've done, what is remaining, and precisely when each step will be finished so that I can pester you about each step throughout the development process, interrupting your productivity? It makes me feel like I'm contributing."
It's my favorite Godzilla movie because of this aspect. There's a scene where I lost it in the theater when the >!Prime Minister is completely certain in telling the press that Godzilla will absolutely never, not in a million years, not make landfall.. only to have an underling whisper in his ear that Godzilla just made landfall.!<
I worked for a Japanese company at the time, and could recognize that it wasn't even heightened for parody. That's just exactly how it is.
The most important part of developing hacking tools is to have a UI that includes text scrolling really quickly with little beep, blip, and bloop noises.
Hasn't touched a computer in several years, yet can immediately hack into one of the most secure systems in the world in 1/60th the time of the best current hackers...
"Quick! Hurry! Scrum! 5 minute stand up team! We need to sort this crisis out NOW!"
"Joe! The building is on fire! Move! RUN!"
"No! We need to have a meeting first! SCRUM! STAND UP! AGILE! SILICON VALLEY!!!1!!!1!! When is the next sprint!?"
Looking for a passionate, motivated team member to be part of a newly refreshed team created to replace an unsuccessful team (RIP) promoting our incredibly competitive product!
You must have at least 40 years experience working with Windows 11.
GENEROUS remuneration package!*
You need to be able to work 26 hours a day 9 days per week.
You will need to bring PASSION! ENTHUSIASM! EXCITEMENT! [synonym not found]!, and GRIT!
*as we are a small start up, we can't afford to pay wages, but when we are successful, we promise to write your name somewhere on an archived version of our website.
When a team of programmers is left to their own devices, they too screw shit up. They all do things in their own way and argue over what is best, and often fail to see the bigger picture.
I watch scope creep and lack of organizational planning from both programmers and managers. It's all personality issues.
I also don't believe anyone actually follows or knows what agile is (not saying I do either). Everyone on every team at every place sure talks about it, but it doesn't seem like anyone actually does it. These are all just labels for "we adapted as we went."
Found the PM/TPM. The best software was written without Agile and PMs/TPMs. It’s only after software becomes successful that the need is felt for that stuff.
The world runs on open source software and I don’t know of a single open source project that uses Agile or PMs/TPMs.
What? I'm not privy to RedHat/IBM/Google's internal processes but they are all massive FOSS contributors at least some of which I assume are using Agile internally. The Linux kernel is mostly corpo-backed nowadays.
The development cycle of FOSS is highly compatible with Agile processes, especially as you tend towards the Linux Kernel style of contributing where every patch is expected to be small and atomic. A scrum team can 100% set as a Sprint Goal "implement and submit patches for XYZ in kernel".
Also agile ≠ scrum. If you're managing a small github project by sorting issues by votes and working on the top result, then congratulations, you're following an ad-hoc agile process.
I think what you're actually mad at is corporate structures. They systematically breed misaligned incentives proportional to the structure's size, and the top-down hierarchy means you can't just fork a project when disagreements lead to dead ends. This will be true whether you're doing waterfall or scrum.
They all do things in their own way and argue over what is best, and often fail to see the bigger picture.
It sounds like your programming team is missing a senior engineer/director of engineering. You need an engineer who has the experience to see the big picture, architect solutions, and tell the team what's what.
Someone watching Silicon Valley could be forgiven for coming away with the impression that most software developers spend 90% of their time screwing around waiting for solutions to unexpected bullshit interruptions...
I absolutely hate project managers. In my almost decade of IT work, every PM I've ever dealt with was garbage. They have no idea what is going on, and then ask an ass load of questions at the end of the meeting about things that were already covered. Useless.
It's definitely satire, but I feel Silicon Valley did a decent job. Yes they absolutely made things up, but it was more about the backend and pushing updates and servers being erased because someone accidentally sat a drink on a keyboard.
In an interview about silicon valley the creators said they interviewed a lot of people in the industry and had to actually cut out a bunch of stuff because it wouldn't be believable by people outside the industry. One small example was the valuation. The VC people they talked to said pied piper would have gotten a lot more money than what ended up being in the show
I was going to bring this one up. The least realistic part of Antitrust is how the antagonist is defeated, but the parts where somebody is impatiently waiting for javac to finish so that they can pack their .class files into a JAR, or typing in a list of IPv4 addresses one-by-one to see which one works, were painfully plausible.