C-suites exist to be roadblocks (and money sinks). Part of me thinks these CEOs profiting off layoffs need to be jailed, much in the same manner Iceland jailed the bankers in 2008.
I know this is just a joke, but I’ve recently become a project manager for the first time. I’m open to tips and suggestions.
I’ve really enjoyed it and have worked hard to give my developers everything they need as soon as possible. Otherwise I try to stay out of the way and do my best to shield them from the pressure that’s being applied on me to achieve deadlines.
I’d agree that anyone can ask for project updates, but I really do work hard to balance client demands with c-suite expectations and the realistic outcomes described by my developers.
You seem like a person who wants to try and do well and be a good manager. So be very careful of burnout, because the constant tension between doing what is right for your team and meeting upper-management expectations can drive you crazy. It did me anyway, which is why I don’t manage anymore.
Take regular vacations and actually disconnect from work when you do. Try to do the same for at least 1 or 2 weekends per month. Being organized is important and helps with the job and the burnout, but there’s a thin line between “keeping notes in Obsidian keeps me focused” and “my entire 2nd job is now maintaining Jira tickets.”
Organization is for you, keep it for you, and don’t let your organizing become a part of your “public api” or else it’ll become another avenue for status updates that you’re obliged to maintain. Turning your notes and private charts into data for upper management is why you compile special reports, just for them.
Really helpful. Yeah, it’s already invaded my vacations and time off, but I’m working to create better boundaries moving forward. The problem is that there’s literally no one else who can answer certain questions or resolve certain problems and everything will grind to a halt if I don’t deal with it in a timely manner.
I mean, if they want more coverage, they can hire more staff. At some point, just as you stand up for your reports, you have to be willing to say no when it comes to you.
Yeah man, that’s how it starts. You become the guy to answer question and before you know it you will be assigning tickets to yourself because nobody else can solve them.
Please be careful, I would not recommend that to anyone after living though it once.
This might sound twisted, but something that helped me take more time to myself was when a guy who was “the only one who could answer certain questions” with something like 30 years of experience in our field dropped dead of a heart attack at home. We figured out what we needed to figure out soon enough and his position wasn’t filled for a year because five or six of us took up the tasks he was in charge of… My point being, no one is irreplaceable. Disconnect when you’re not at work.
Do questions really need to be answered outside of work time? Are blockers identifiable in advance so a plan can be put in place. Not many things need to be done outside work hours and team members can cover vacation if something desperately needs to be done.
Yes and no? My team is scattered around the US, so if my east coasters hit a snag early, I genuinely don’t want them in a holding pattern until I get around to it. Same for my coworkers on the west coast.
Some of the intensity of it has been that I assumed control of a team that was already severely mismanaged and had missed it’s initial deadlines by a month.
Of course that manager got promoted to an area that better suited his skills and I was asked to step in and try to right the ship. Our final deadline is today and we only have minor and cosmetic bugs left (that we know of).
We have plenty of new features to add moving forward, but with the project back on track and the foundation established, I’ll be able to set better deadlines for everyone’s work life balance.
I will probably always have some temptation to pull long hours for my team scattered around the country, but it becomes much less urgent now that we’re past our insane crunch.
Maybe it’s hopelessly naive of me and the next deadline will also become a crunch, but I have some control over those future dates, so I hope it will be less of an issue.
Just being forced to talk about how it’s going and what’s blocking can be helpful, so I’m glad you’re questioning for to be more useful, not doing a little rubber-ducking isn’t all bad.
I always thought project managers were useless until I got a good one. Then I realized the issue was that most I’ve dealt with were as useful as this parrot
The key of a good PM is to know their job is to ensure you can do yours. My good PM had that internalized and his only goal was to remove obstacles for us… glorious times
So if I were to say, “I’m playing phone tag with the vendors liaison because all he does is poorly repeat what I ask to others inside the company”, my good PM would get on the phone with the vendor and get a list of contacts so I could skip the crappy middle man
Another time I said, the network folks don’t agree with the security folks on how to proceed. He would get everyone in the same room and get all ducks in a row, then let me know what the decision was.
If I said, I’m wasting half my day asking for availability to book meetings, he would ask who I needed to talk to and book everything himself
Do everything you can to help your software engineers (or whoever is doing the work) have as much focus time as they need. Buffer your meetings and questions to one chunk of time per day. Encourage them to block-out and protect their focus time. And encourage the team to keep office hours so they can still make themselves available to others, but in a controlled way.
Be transparent with the business’s goals and frustrations you are facing. There’s an attitude (often among inexperienced devs) that PMs are good for nothing; just an interface to the rest of the business, and a source of where tasks come from. And some certainly are that, but a good PM is worth their weight in gold.
Find a good mentor, and start thinking about your next career step now.
Was working on a team of 4 people, each with a different skillset (frontend, backend, design, CMS). The project manager basically just told us what we have to do in which order, without explicitly telling us who or how someone should do it, which i think everyone appreciated and worked really well for everyone.
In my last role there was no project management, and the Boss just assigned random tasks to anyone, regardless of his skillset. One week i had to work on jQuery UI from 10 years ago, next week on some exotic server language with barely any documentation, no examples and no stack overflow help. His philosopy was “fuck your skills and preferences, everyone has to know everything!”.
Before I quit there was some meeting how everyone must now learn video editing, because the product documentation (still with IE 6 screenshots) was not updated anymore but instead we would teach and explain the product in videos “because tiktok is very popular nowdays”.
This legitimately happened to me a few months ago. A vendor API was returning HTTP 200 with the error details embedded in the JSON response. It was a pain in the ass to troubleshoot.
I guess I might be evil but when I made APIs for my projects I do this, since I blindly accept the response then look at the JSON to see if it was accepted or not
Something like
if (body_has(JSON)) do_stuff_with(JSON) // including error handling if the response has an error else error_no_json()
I do this since I feel like JSON errors should be separate from HTTP errors
The problem I ran into was the response returned a JSON body, but then had an “error” attribute that was returned in it that had the error details. So we were parsing the JSON and loading elements into our database. We were hitting the API passing in a datetime of when the last success job was run, so basically saying “give me everything that’s changed since I last called you.”
So yeah, eventually we noticed we were missing small chunks of data. It turned out that every time the API errored out, we’d get a valid JSON response that contained the error message, but it didn’t have the attributes we were looking for. So didn’t load anything, but updated our timestamp to say when our last successful call was.
Huge pain in the ass to troubleshoot, because the missing data was scattered with no distinguiable pattern.
That would have been fine for me too. I don’t own the API, so I can only speak from a consumer perspective in saying: I don’t want a HTTP 200 if my request didn’t succeed.
Oh, so you’re thinking he’d start it first, and then start the program to be perfectly synced with the period of the rocking? I suppose that could work, although it would be tricky to get the timing just right by hand, or it would be for me.
And they didn’t say it was a long term solution. For all we know, the drive was going to be replaced the following week.
Yeah, and it might have electronics that will handle the extra load just by virtue of properties of the standard parts. Like I said, I don’t know that it’s bad idea, but I do wonder.
I remember there was a virus that had a tiny cat on the screen and it would chase your mouse cursor. Once it catches your mouse cursor, the computer would crash. It was freaking awesome.
It’s just Linux. It chases you and your mouse throughout the fediverse, and when it catches you and you install it, it crashes your computer because the mouse drivers are written by a 12 year old with undiagnosed ADHD.
These days not only would it open your CD drive, it would open your tax documents, your crypto wallet, your account cookies, probably even your banking information.
Put the rose tinted glasses to one side. We still had harmful viruses back in the day, difference is these days you are storing more private information “online” so the effect of compromise is larger.
Yeah I haven’t had harmful application on my computer in over a decade. I feel like you really have to go out of your way to get one these days (not including spyware that you download intentionally, like Windows 11).
There’s even extreme edgecases where a compromised machine being part of a botnet actually improves security because the malware shores up security to help itself remain persistent and not find itself removed/blocked by other malware or attackers
programmer_humor
Hot
This magazine is from a federated server and may be incomplete. Browse more on the original instance.