Managers in IT — Developer’s pov
It’s about what I really think managers are in fact, about how I see they work and should work. I work in software engineering (web development) since 2007, and this is one of my articles dedicated to my 10+ years of experience.
During 2007 till 2018 I have been working for 4 companies. Due to sensitivity of topics I express below, and considering potential harm to people I’ve been working with, I will not expose names. But I want to mention, that 2 companies were in Ukraine and 2 in Poland. And despite the fact it might sound different, but people were mostly behaving the same.
I also have to mention, that I express thoughts about managers as a web/frontend developer being employed in outsourcing companies. And it “might be” or “might be not” the same in other industries. So if it’s somehow not true, or insults someone, please let me know.
I started the draft for the article in nearly ~2011, and since then I wasn’t enough confident, that I’m ready to publish it. Every year gave me some new experience, some new thoughts, and I appended my draft with the content all the time. And finally now, in 2018, I write up this as full article.
Intro
Here is Aug-2016 Facebook post by Kev Krainger, which in fact reflects my thoughts about what I think about management.
A woman in a hot air balloon realized she was lost. She reduced altitude and spotted a man below. She descended a bit more and shouted: “‘Excuse me, can you help me? I promised a friend I would meet him an hour ago but I don’t know where I am”. The man below replied “You’re in a hot air balloon hovering approximately 30 feet above the ground. You’re between 40 and 41 degrees north latitude and between 59 and 60 degrees west longitude”.
“You must be a technician.” said the balloonist. “I am” replied the man “how did you know?” “Well,” answered the balloonist, “everything you have told me is probably technically correct, but I’ve no idea what to make of your information and the fact is, I’m still lost. Frankly, you’ve not been much help at all. If anything, you’ve delayed my trip with your talk.”
The man below responded, “You must be in management”. “I am” replied the balloonist, “but how did you know?” “Well,” said the man “you don’t know where you are or where you’re going. You have risen to where you are, due to a large quantity of hot air. You made a promise, which you’ve no idea how to keep, and you expect people beneath you to solve your problems. The fact is you are in exactly the same position you were in before we met, but now, somehow, it’s my fucking fault!
This is so true… I don’t have to add anything more — this is so perfect and well said.
Manager -> Developer — is it downgrade?
Since 2007 till 2010 I was working mainly as PHP, Drupal, JavaScript and even Java developer. But then I felt, that as a developer, I had enough technical experience to share with other people. So in 2011 I “touched” The Management thing. I worked ~1y as Project Coordinator, and realized many things, including that management is not my stuff. Or at least, I realized, that the management I was involved in is not the way, how I imagined management before. I had been delegated to do operational aka coordinating management kind of work. At the beginning all looked fine, even interesting — generating excel reports, calculation team delivery efforts and analyzing results, giving feedback, recognition. Then in 2012, I returned back to development, and it’s not bad, it’s good (although looked as “downgrade’). But now I understand both side of the “collaborative work” between management and development team. And I can simply recognize when manager “sells” me something :) But I also see how developer can struggle, and when manager and/or leader can help them. It was a few years for me to realize, that I want to be just leader, who leads, and helps people on technical level.
What developers, QAs and managers think about quality?
It was a time, as in between projects, and I faced an interesting bug/behavior in local ATM in Ukraine, and this article is written in Ukrainian language. But what really interesting, is one of comments by my ex-coworker under my Facebook post.
My main point was about quality of software as a product, as a code, and I knew QA also look to bugs but from the consumer and requirements prospective. I stressed on the need of detailed testing, using all possible test cases to assure the team that all covered, all dangerous use cases verified. And then that person, who previously was QA person, becomes Manager, and she expressed her thoughts differently, not as I expected. I heard standard phrases from her “It depends”, “It’s not about whose fault, but it’s about process…”, which gives me sign, that the person “got manager’s decease”. And it really changed her as a person (in regards to work). Despite the fact I don’t like phrase “We need to move toward ideal solution, but we know that ideal is not reachable” she did agree with me. But instead of moving towards, I’m always trying to do ideal. So my problem is, that I want too much. And managers, are people who can limit me, who can stop me, when it’s really needed. She gave also good point, that if manager is “bad”, then it depends on team if they follow “bad management” or say “No” or say at least something to disagree. And in discussion, the real truth can be found.
Shortly speaking, I was surprised that “being manager” really changes person. Considering that she wasn’t so much into Management at that time, it’s interesting for me, how far she got now :) ?
It’s good to see managers “selling” behavior
In 2014/2015 period of my working time not much happened, but maybe a few things worth mentioning:
- Once more I realized, when u know something very good, you can be proud of yourselves, and you can then expect something from people, because you know how good it must be. When you know for sure, you are responsible, and even manager who tries to “sell” you some “blabla” stuff is not enemy anymore.
- It was a time, when I realized I’m such a person, and I could communicate with manager, knowing manager was not right, or manager was “selling” me something. Day by day I became more confident in what I was saying. And it gave me good start, and even now, I always remember that feeling.
- I also realized, that culture difference matter. But despite that, I was more confident, that ideal work exists, ideal work behavior must exist and cultivated inside of team.
- It was nice time, because I did have ability to work with a few managers, and compare how they differently “selling” me their stuff. But I was calm, because I was prepared.
Let’s PM, PO, BA do their job and Devs do their job
In Sep-2015 I posted small question on LinkedIn. Here is quote to that post:
#Web #dev is doing frontend task using JavaScript and other technologies.
But #PM and #PO get used to approach, that DEV must discuss all user stories with PO, with no BA as proxy. User stories are ONLY one sentence in Jira title. NO DETAILS, no #UX wireframes, just NOTHING.
As result Web dev wastes time for business domain analysis, instead of doing tech tasks.
So I think, Web dev should and must do development #work. Web dev should receive wireframes and needed description to understand business domain. And start doing tech work. Having this approach, we could estimate better.
“Without analysis, a product owner’s request may be built into the product without considering whether the request is really a good idea.”
- Indeed YES. I agree with this quote. But it’s BA who should do analysis, not DEV.
I don’t like to mix BA and DEV, but I want to know what people are doing in such situation. What best practices says?
Question still active for me, because not much replies on LinkedIn.
My main concern is, if we split work among PM, PO, BA, QA and Devs, then everyone should do their part well. And don’t mix up. I’m developer, coder, I receive inputs as requirements and do my output — code, that is it. But not all people agree with such statement.
How managers recognize proactive people…
Mar-2016, I posted small question-like post on LinkedIn. And it was about how properly define approaches when developer suggest something, and managers reject it.
There are 2 approaches:
1) Web Developer implements UI, pages, with no UX support, so as result code is not ideal, it doesn’t reflect ideal Usability. Later on, developer realize it’s not very convenient UI/interaction on page. And being proactive, dev suggests changes to improve UX/Usability. PO reject suggestions, and not because it’s not ok (it’s ok, even nice to have), but PO state on the fact, that Business wants to spend money on Developer resources to implement new features.
2) Almost the same, but PO cares about Usability of project/product, UX assistant suggests changes (UX uplifts), end-customer cares also about current features quality/usability, rather new business features.
So my question:
- How to deal with reality, when I am in 1st approach but I would really like to work in 2nd approach.
- How those approaches would be named? Is there any business definition? Is there any case when quantity of features is MUCH better rather quality of current features?
- Is this all about money? Businesses always want to save money on resources, and get more features, even if they are not ideal, not very usable, not very convenient? What is then *** quality definition? Why are we all talking about #SOFTWARE #QUALITY if end-customer in fact doesn’t care about it? Does the word “improvement” scare business?
And these questions are still valid for me, because not much relies on LinkedIn.
My main concern is, that despite the fact developer may be proactive, with some good technical ideas, it’s always manager who decide which way to go.
What managers really think about quality
In 2015 I have a discussion with manager about quality and quantity. And after my concerns that we need to do great code and we need time, he answered that the client doesn’t care about quality of code, they expect me to do more features, even buggy. And it was manager who represented Client, not IT company. It was shocking for me but I realized I need to change job.
Why do I need 3 managers?
Back, in Apr-2016, I posted small post on LinkedIn, which didn’t go into dedicated blog article, until now. I was trying to express my thought about how managers can squeeze developers. When Software Development company is ready to pay lot of money for manager staff (in fact 3 managers leveraged with different duties), but in regards of code quality, company has no *** budget or willingness to hire Automation engineer and UX assistance to improve development process. And instead, company “squeezes” all from developers and force developers to do QA work. Yes, maybe I don’t understand something in business, but I think I have logic and rights, and my feelings tell me, that such over-manager-orientation is not good. And in fact it was one of reasons, why I changed my job place. Because I was kinda forced to do QA job, which I didn’t want to do.
So again, who’s wrong? Why managers are so important for companies, if in fact managers do nothing? Why companies can’t listen to developer’s point of view? And instead they manipulate by Client’s money and persuade them, that “it’s all about *** leadership” and slip one more manager, with a heroic title — “more managers, then it will help to resolve issues faster”. Bulls•it…
Jul-2016 was regular summer month, and as you may guess, I expressed a few other thoughts about managers on Facebook post, and also duplicated on LinkedIn to gather more feedback. Why do we need 2 managers, who are planed to be leveraging different but similar management tasks? Ok, if so, why do we need them, if they constantly don’t have f•cking time to deal with tasks because of meetings? And in first case just cross-referencing, cross-delegating themselves. I then feel like I am ball and they play football. Why do we pay money for managers if they don’t do their work? Not enough 2 managers for one employee in huge IT company? Do you think 3rd manager will help, so that simple Senior Developer to be happy with his 3 managers, who will most probably not have the same f•cking time, because of the same f•cking management meetings?
Interesting thing happened back then under LinkedIn post (and I treat it as language-related thing). I was serious about topic, and manager person used short phrase like “Ok tell us what you really think.”, Here is my detailed comment from LinkedIn:
I really think next items:
1) As a developer, I would like to have one manager. Manager who knows list of team members, doesn’t forget who working in which subteam. Yes, if it’s program, then program manager should be capable to handle cross teams relations and team members interchanges.
2) I realize one person can handle more than 1 project, but ideally, in such cases, dedicated is lower. So I really think — “one manager for one project”.
3) If it’s Account manager, so he/she should work on Account things, and I should not directly talk/chat to such manager. It’s upper escalation path. So I would like to escalate issues to my first manager, and if so, that manager escalates to upper manager.
4) Yes, it’s not “agile”, and I realize, that some tasks/issues can be delegated/requested directly from Account or Delivery manager, without additional managers asking. But. If we have 2 kind of managers to work with me as developer, and I request something from them, THEY MUST at least no redirect me between themselves. It sounds to me like excuse. And when one manager tell me he don’t have time, because of meetings, and I realize company hired/extended management into 2 managers, so I have obvious question — 2 managers not enough? And sarcastically joking — maybe hire one more manager for me? Yes, I realize in big IT companies, we all must have different levels of management, but if every level doesn’t work as expected, so what a hell? Yes I realize, that in some team manager is not needed in fact. Agree, but then don’t tell me, there are 2 managers, which may help me with something. Put me in situation, with no manager ability at all, rather than irritate me with such management level/quality. PS. Other managers are ok. I mean I realize they are needed.
5) Office manager, it’s accepted, especially if corporation does have many offices, so it’s obvious that one global manager will not be capable to handle it.
6) HR manager, some kind of manager who approves human resources issues/tasks.
And then reply was:
I was actually being facetious, thus did not expect an actual answer. But I should have known to expect such a detailed answer from you! You are certainly not wrong in wanting to have a direct manager who knows what is going on, and to only have one. Unfortunately in companies “2 in the box” can happen and it can happen, if people are stretched so thin, that they do not know enough of the details that they should know. I can understand your frustration.
Funny? Yeah, maybe. But work-related topic is not funny, it’s serious stuff, for me.
Relativity defines what is quality and what is not. Why?
In Aug-2016 I published a blog post “pseudo-Quality” (you better read it, because I don’t want to re-copy content here) and later on posted a small Linkedin post, where I started a discussion about “Quality of Code/Product” and what “Managers think about quality”. Also, I published a note on Facebook, so that I could gather more people’s opinions. And as you guess, managers added me insights which I can’t grasp till now, but for sure I realize — they have totally different mindset.
- What was new and shocking for me, that if I think that ideal code/product must be with no bugs at all, manager introduced a relativity term into discussion, and his point is, “if team decided that “Quality of Product” is defined by 10 bugs no more, that it’s is OK”. And IMHO, its not OK.
- Another person commented on LinkedIn — “it’s about tradeoffs. Time and money are two of them. Quality is just one of the metrics and not a silver bullet for all the cases.”, and I can’t agree with it. I still think quality must be 100% quality. No excuses.
- “It’s a matter of time and cost analysis.” — yeah, sounds very manager-y, but me as developer I think about code, not about money.
- “Bugs have priorities and that matters.”. Again, I think bugs non-existence matters, and I don’t care about priorities, BUGS must die/gone/disappeared/fixed.
And now u tell me — who’s wrong? I feel responsibility as programmer, that my program must work ideally 100%, it’s not a f•cking relationship between man and woman to be “some kind of quality”, it’s A SOFTWARE, it’s a defined set of rules in code, and it MUST work ideally, and I expect no bugs. And I always moving towards such development practice. But as turned out, manager’s pov is wider and well accepted by other people.
How managers make decisions
In Jul-2016, I had a discussion with one of Project Coordinator, in regards to management and mentorship for new people. I’ve been asking “Why mentor for newcomer to the project is assigned person who is not from that particular project?”. And project coordinator answered “It was not my decision, I can’t say for sure. But I think he will mentor him in general about the Client culture, behavior and pointing to right people”. I’m ~5% agree with such statement, but OK. It was period of time, when I was on trial period, so it’s either company didn’t want me to mentor the new person, or they didn’t believe I can deal with it or something else. And in fact I realized, that when I came as newcomer I hadn’t been assigned to any internal/local mentor. Explanation by manager was, that my mentor was from Client side.
Anyway my point is, not always manager have answers on developer’s questions. Managers either find some excuses or really not responsible of what is going on. Worse case scenario, one manager complains about other top managers, who were not delegating responsibilities :) Funny.
Manager says to Developer: “I wouldn’t try to fix the system if I were you. It’s pointless.”
In mentioned Jul-2016 discussion with Project Coordinator another point in discussion was about how we implement and use internal systems, how we use it, and how it looks from developer and from manager prospective. I’m perfectionist, I know that systems are complicated, but still it doesn’t stop me to try changing if something goes/works wrong. Another reply “Because system is not ours and works for not our needs.”. I wanted to report about the mentoring issue in dedicated system, with hope, that mangers will review and realize the issue. And I was surprised, to receive an answer: “Even if you report that, top management will get surprised, ask how you lived in such a chaos before etc. But they will keep assigning not project-related people to mentor project team-members”.
I kept asking “But why do we have system which doesn’t make sense? Why do we have many systems which don’t make sense? Is it our life karma — to waste precious time doing such things?”. Answer from Project Coordinator was “We have this system because at the very end we don’t really need to care about it. If that system hinders you — you’ll change it, trust me. Until then it may be as imperfect as possible, but it will just be the noise in your life either irritating or surprising. I worked only in 1 company before, but with 2 different bosses, completely different to the ones I have here, completely different systems. And all of them surprise me all the time.”
So this Project Coordinator told me: “Interesting, not so many people said managers were ok for them. You’re actually the second person. The first one at the end started his own business”.
Then a few other sentences: “You’ll be surprised but managers can’t just see developers as simple resources. I thought that way before, but I look at how they act and how they perceive developers’ actions and I just say it’s not resourcing. It’s amatory “human reading”, “simple resourcing” would look much better”.
Another observation by Project Coordinator regarding my words in regards to “to provide some kind of wall” — “You’re again the second person, who says that. The first one at the end happened trying to analyze all the political and manipulative actions behind our management”.
Another set of good words from PC: “If you want something valuable — you’re a true creator, you can start doing it on your own. If you’re in the system — you’ll just do things.”
Just another thought came out from that discussion, but I mentioned about managers point of view.
We discussed release process with Client, and there were few pointless steps. We discussed on retro. But they explained that it’s needed and that is it. No reason, no value, just because top managers want some reports. Which reports? Can I see it? “No it’s managers stuff — u don’t need it.” So how can I see the value of my work, when no one shows it to me?
That part wasn’t answered for me, and still relevant as a question for me.
Shortly speaking, this person opened my eyes on the real nature of management in IT companies.
I worked with maybe 5 managers (max 10 if to take cross management), but so far only one manager was ok for me (not the person mentioned above) :) That person I’m talking about was a former developer, and he understood the team of developers, not as human simply resource :) But anyway, later he became more “manager-y” and we kinda “lost” him :) Nevertheless, he tried to avoid us seeing that system behind :) He was always “helpful wall” for us.
Why do we need managers at all if they don’t do their job?
In Jan-2017 I faced with ridiculous situation, as per my opinion. There was newcomer in company. The person had been added to Skype chat for the office. But no one added the person to Skype chat for the team. As turned out, there was no even introduction of new person in team. And when I asked managers why, they in fact forgot about doing this all. So with delay in 8 days, there was introduction email, but addressed only to that new person :)
What? WTF? What those managers do in fact? Why do we need them, if they forget simple process-related things to do?
How managers answer with “excuses”
In Mar-2017, I discovered a few bugs in one of our internal system, and I created a ticket in HelpDesk, so that dedicated team fixed it. It was bug about reporting system (something went wrong with reported vacation days), and managers asked me simply to re-create reported hours manually. I told them “No” — system should handle such problems, and bugs must be fixed. This is internal system, but it’s kinda duplicate of time reporting which we do for Client reporting system. U know, how it works… But still, people don’t like to report same thing in 2 or more reporting systems.
So what made me crazy, how managers were answering about reporting system issues, with “excuses” like “it depends”, “it’s slippery slope”, “yes, but u know, it’s real life”, “u know, system is not ideal, we know and we will fix it later”.
F•CK… I simply felt like I wanted to throw up. I wanted to quit the company with such people.
After “Thank you for your help and understanding” I wanna say “F•CK OFF”
There was a situation in May-2017, when I struggling with proper SCRUM setup. And I have been asked a few times different people. But at some point I faced with “the wall” — “It’s nice u mentioned this issue, we hear you, but we can’t change it at the moment”, and I have the same answer during a year. I think, if there are some questions, at least managers must be honest and tell right away — “We will not do this”, instead of giving false hope. Need more details, to understand the big picture. But year later, when I once again asked the same question, with some suggestions how to improve SCRUM process, to be more standardized and easier, I received one more time, but more pathetic answer (not fully but quote):
If you have questions, please don’t hesitate ask your managers, SCRUM masters. Please ask them even if questions have been already asked before and you received no answers, keep asking, but not so frequently and transparent. We appreciate your initiative. Thank you for your help and understanding.
For me it sounds like “It’s important for Client to realize you can keep asking, and you are OK with not receiving answers”. This killed my mind. I wanted to say “F•ck off, screw it, I quit…”.
Again: “being manager” is not helping…
Another situation in May-2018 showed me, that having additional manager isn’t really helpful, in fact it increases amount of well known answers like “I hear you”, “We will do what we can”, “We will see what we can do”, and so on. But in fact, the only “being manager” is not helping, when in reality clients/projects simply neglect managers as proxies between developer and Client.
It’s sad, when your (as developer) contribution to IT company is not recognized. You may like what you doing, but in fact, nobody cares. Most probably they think — “What a stupid guy, he really works, and he is so passionate, so damn. He could sit back and relax by getting money and not doing anything, as we all do.”. It’s a sad story for me to work with such a lazy people, with people who are motivated only by earning money, and trying decrease amount of time spent at work.
How to work with “passive manager”
Back in 2017, I thought that freedom is OK. Freedom from SCRUM, from much of process, and concentrating only on work. It was fine, until, I realized, that when some work done, the delivery is a very long process, and doesn’t depends on me, not even on my manager. It was like passive waiting “till the time comes”. My manager is kind of “passive manager” — when he agrees with all what all people said, with no detailed research, it sucks. Yeah, it’s polite, it’s US-based behavior, but for me it’s boring. 2018 got me final thoughts about such collaboration between developer and manager. Yes, there are many other managers and proxies, and it goes worse.
There were a few situations, when I realized, that my daily status meetings (where I shared what I’ve done for the day, what I’m doing, and what I’m going to do) were not listened at all. Because later on, when some issues/troubles/questions appeared my manager wasn’t able to fix it. Seems to be I did all work for no reason/purpose.
There was another situation, which “killed me”. During maybe 3 months, I was constantly mentioning, that I need help — I need developers from other teams to test/try my work. So that I can see, where my code was bad. I would expect from manager to find people and ask them to help, but no — there were simply replies, that people don’t have time, because they are busy with their projects. OK. When my work got finally closer to the very deadline, and I mentioned a few times, that lot of work to be done yet, and I need help (because in fact I am one in team :)). And at the very end, I received person who tried to help me. But it was NOT worth doing it. Because person, went to vacation just next day, I had to rework the code afterwards. I didn’t have time to finish my planned work, and so on.
This is not motivating, this is boring, this is sad, this is NOT the way I want to work…
Outcomes
me vs. Managers
I look critically on my behavior during 2011–2018, and I realize — I do have problems with managers, in wider sense — I have problems with Outsourcing, and in the widest sense — I have problems with running business, because I never liked doing some thing to get money of business. All what I do in my life is fun, for fun, with fun, with deep interest in details and for the sake of my good mood, because only this motivates me in life. I believe I have some right to express my thoughts this way, nevertheless, I always keep watching other people thoughts so I could compare and realize how wrong am I.
People’s thoughts
Considering my work experience and blogging experience, I can state for sure, that “work”-related topic is very sensitive for most of people. I can’t get it. It seems to be like either taboo or restricted area, like p•rn — do not talk about it, do not do anything what people don’t do. And my point of view is simple — if I don’t like something at work I say it, I really do not hesitate to say “No” or even “F•ck Off” if I don’t like something. Yes, I realize it’s emotional related behavior, but why not? If people are so damn and persuaded that they do right thing, they don’t get positive words, they simply do not hear…
Managers, are people who overusing phrases
And here is list of what I collected:
- “It depends” — top-notch.
- “In perfect world…” — WTF? We have real world, let’s get our asses up and do the real *** job right now…
- “I was distracted” or “I was on a meeting, and taken off”.
- “I hear you, but…”.
- “Here is what what we can do…”.
- “Let me look what I can do…” or “We will do what we can…”.
- “Don’t hesitate to say no, we can deal with it…”. But in fact when you say No, as result u receive, “OK, but what u can suggest in stead except complains?”.
- “It’s great idea, but we don’t have time for this…”.
- Very frequent u can hear on meetings with Clients — “It’s all about leadership, and our managers do our best to leverage…. blblabla”.
- “It’s slippery slope”.
Resources
- Business Analysts in SCRUM [romanpichler.com]
- What’s In A Title? [mikeschaffner.typepad.com]
- What’s the Difference Between Business Analysis and Business Development? [bridging-the-gap.com]
- Analysis Slows Agile — Good Thing! [rmcls.com]
- 10 More Dumb Things Managers Do [thebalancecareers.com]
- Leaders vs. Managers [leadershipfreak.blog, 2011]
- Managers who practice self awareness make excellent leaders. [expertbeacon.com]
- 17 of the biggest differences between managers and leaders [businessinsider.com]
- The Difference Between Leaders and Managers [lollydaskal.com]
- Why Do We Need Managers Anyway? [gilzilberfeld.com, 2012]
- Do We Still Need Managers? [agilecio.net]
- The Seven Circles of Developer Hell [Infographic] [blog.toggl.com]
- What is a day in the life of a coder like? [medium.com]
- How to find smart manager (Откуда взяться толковому менеджеру) [dou.ua]