A painful first step

From all the things that make a development team hate their product manager, one stands out so clearly, that it’s moronic not to address it. Yet, most product managers don’t even bother. That one thing is – – – a deadline. 

We’ll get to the project management side of the product management quite soon, but a wrong way of handling business expectations can be so detrimental to the team’s spirit, that you need to start noticing things from the word go. It’s not that there shouldn’t be deadlines, nor changing a priority to accommodate a new client is always a bad thing. You just need to do that in a way that addresses your team’s concerns and doesn’t keep it in “constantly late” mode. 

So, how to do that? Well, for one thing you need to grow a spine, that’s for sure. If you allow yourself to shift priorities anytime someone from management looks in your direction, then you’re going to fail… and suck at this job. But most product managers do, so at least this is not a very lonely lot. For sure a nice and fat savings account and lack of debt has proven to support generally weak spines quite well. 

Unfortunately a consistently strong spine, will not do you any good when not supported by convincing arguments. When confronted with an unrealistic deadline demand you are lacking justification then that strong spine not only will not help you, but actually will just get your sorry ass fired. 

So how to build at least an understandable point (which should suffice if convincing is not around)? Well, you could get one from the team as they are closest to solution. But tech teams think in tech terms. Terms that will be too abstract for an average business person. Point in case: code refactor. For any production app as important as a fire safety check of a building – but… sounds absurd “we will rework the code, so it does the same thing – but it’s better”. Business team will most likely not get it. So – you need to translate from tech to business. But how to do it when you don’t understand the details of the tech part? Well… There is one solution. You learn a bit of coding yourself.

The Office gif. Steve Carell as Michael Scott purses his lips and raises his eyebrows in annoyance as he says, "What?"

That’s right you lazy little f***. If you think that floating button “is just a little change” – then show your team how it’s done. Just kidding – you’d fail miserably. But in general knowing what your team is going through is good empathy training. Especially for those lacking both empathy and basic technical knowledge. 

It helps a lot, even if you learn just a little bit. I played with C, C++, C#, VB, Java, PHP, html, Python and if I were to recommend something that helped me the most it was C# and Java. But they all are built on very similar principles, so no matter what you chose, you will end up ok…ish. 

The Internet is full of free stuff that can help you, but to direct you – you can start at freeCodeCamp or 3WSchools. When I was trying to learn a bit more about architecture and played a bit with Java + Spring Amigoscode helped me a ton. But going to Google or YouTube and writing “{technical thing you want to learn} course” usually will set a perfectly fine direction. 

If you’re up for a little challenge I wrote a set of acceptance criteria for a simple app that you could write using Visual Basic and optionally MySQL database. Why Visual Basic? The answer is in its name – it has off the shelf visual components, which makes coding the app less abstract. Grasping the programming concepts without a User Interface can be quite challenging for a beginner. And it’s quite basic – so you can get up to speed in no time.

You will need two free pieces of software:

You can also see a video from 1991, showing the true power of Visual Basic 😉 

But even if you go only through a few algorithmic exercises from online courses, it will still be 100% more effort than most PMs put in their self-development – and for sure it will be appreciated by your team. Or not – but you know, it’s like anything else. 

Acceptance criteria

  1. User opens the page and sees a login panel with:
    • Field for login
    • Field for password
    • Login button
  2. User types in a login and password
  3. System checks login and password against database
  4. If the login and password matches there’s a message “Welcome to our system”
  5. If the login and password doesn’t match there’s a message “Something was wrong with either your login or password” 


Avatar image of Maciek
Written by


Leave a Reply

Your email address will not be published. Required fields are marked *