want to share my journey getting into management in a couple if environments give you an overview of potential topics that might come your way hopefully help you decide if this is something you might want to do
different, every person, every team, every social dynamic. Treating everyone fairly doesn't mean treating them the same but everyone according to their needs.
speak for others. Listen to their stories, read their content. I come to you from the perspective of a "Straight white male in tech that fluently speaks the language of the country they are working in."
IT THAT YOU DO NOW? NOW? Tech Lead? Team Lead? Engineering Manager? Product and tech management? Co-leading with a PM/PO? Resonsible for personnel decissions?
seniority You find yourself helping people more than doing things yourself, and you enjoy that. At some point, you also solve more and more technical problems with business choices or suggestions
Chances are people are not assuming you want this type of responsibilities so you took the step of talking to people about this. You started taking more ownership, making your voice heard and brought suggestions to show you're thinking of these ways as well.
members of your team are not willing to take on the role or are needed for their technical expertise Getting someone new wasn't an option You are trusted to learn
YOU WANT TO DO? TO DO? Are you fine coding only an hour or two a day? Are you fine with not coding for a month? Are you fine letting go of details and the codebase? Can you trust people enough to really-actually let go? Do you want to mediate between people? Or is this just the only way to get a promotion?
WANT to do the management work or do you feel obligated because it's the way "up"? Can you establish a technical career path? * Is there an "Architecture" route leaving the line management to others? https://labs.spotify.com/2016/02/08/technical-career-path/
tolerate risk and criticism? As a developer people let you get away with a lot. Transitioning into a new role Higher expectations You are going to be wrong a lot more The self-worth you derive from a job well done will be gone for a while A good team and clear goals help a lot with this
do it well You are taking on a role that is about caring for a group of people Don't half-ass that. The people now come before the code. Always, even if they don't ask for it Very rarely is it "just a bit of management" in the end
into management your former life experiences help you over one area already. Basic understanding of how computers work The technical perspective on how the internet works Understanding behaviors and technical terms Just like the other skills, it's tough to lead a team without this
THE BEST What you don't have to be is the best or most senior engineer. You want 'better' people than you in your team. More focused, specialized. You have to be able to understand and to explain to other people what is happening and why it matters.
some data cleaning with excel instead of writing a one-liner with tr, cut, awk and 10+ pipes. But it works very well, VLOOKUPS and SUMIFS are magical. I can generate SQL INSERTS with excel quicker than you can write the column mappings for a CSV import. "There is no data pipeline, just other people's excel sheets."
your Axis and try to avoid pie charts. https://medium.com/the-mission/to-pie-charts-3b1f57bcb34a http://www.richardhollins.com/blog/why-pie-charts-suck/ http://extremepresentation.typepad.com/blog/2006/09/choosing_a_good.html
going help you make better choices. However, the data might be lying to you: Truncated Y-Axis Multiple Y-Axis Use multiple pie charts https://blog.heapanalytics.com/how-to-lie-with-data-visualization/
of what the endeavor as a whole is trying to accomplish. Figure out what your team is contributing. You'll have a way easier time motivating yourself and your people.
able to explain the positive impact your team has and why what you're doing matters. Find a way to visualize the impact you are having. If you have a system in place that collects metrics on your companies goals, this is considerably easier.
to questions people have that block them from working or that make them more effective or that reassure them or if they need someone to talk for a few minutes or because someone asked your manager for some answers/data they need NOW or whatever.
anymore: * Async communication is still great. Also, if people o en need 15 minutes of focus to understand what a piece of code is doing consider throwing it away. Especially in Web-development. "Every interruption costs me 15 minutes just to get my focus back." http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/
showing up to work later than the team and staying later worked Being earlier might also works. Block an hour per day to sit in a meeting room Find something to actively manage your focus time
processes of your team. You set the tone for your daily stand-ups how ideas are shared what is discussed in team meetings how tasks are executed which behaviors are rewarded
the things that don't really feel like you own it because there are established communication patterns. Or because some agile coach said it's the teams responsibility. "The whole company does $yourAgileMethodologyHere anyways". If you have a self-organization team: Congratulations! If not: Can you help them get there? Do they want to?
are people are going to take these processes seriously. will they evolve to fit everyones needs is your team empowered to change what's not working are they just something everyone pretends to care about because the rest of the company does it This is not a talk about Agile.
could easily spend a couple of days on. What I want to make clear to you is that you are now (one of) the authority figures in the room. If people notice, and they will notice, that you think some part of the process is pointless they will de- empathize it, or ignore it, or ignore you, or just work around you.
to be clear: It's not Atlassians fault that your process and communication is trash. Just like PHPStan didn't write the code it complains about. Don't blame the tool. It's your Job to make the system work for you and the team.
what everyone has been doing the last four weeks and can follow up on these tasks or if you some other fantastic way of structuring work, please go ahead and do that. Also, tell me about it. For the rest of us, I don't really see a way around having some way of "Write what should happen someone and note down when it happened" system.
Ticket system you are using: Everything sucks, you can make it better, and you can make it worse. Out of all the systems out there, I feel JIRA has the biggest range of making it better and making it so, so, so much worse.
JIRA that enjoy creating process. Remove more than you add. I have this thing that I love defining workflows and setting up processes, and JIRA is incredibly powerful and flexible. It's a workflow engine that can also hold tickets. The thing I enjoy about making these workflows is eliminating things that are not needed or helping anyone. If you give the same tool to someone and tell
YOUR TEAM What can you do to help the people in your team grow and to what extent is it your responsibility? The answers to how much of this is their/yours/the organization's job differ quite a lot depending on whom you speak too.
YOUR TEAM I feel the most important thing here is that you communicate what you are willing and able to do and what each person in your team expects you to do.
YOUR TEAM Do you want to move more into frontend/backend? Dig deeper into the framework? Improve your cra regarding efficiency? Are you happy with the kind of tasks you are getting? Is leading a team interesting to you? Is there another team in the org. that you'd like to work in at some point?
YOUR TEAM Having people work on things they are already good and very productive at is easy. They need less input because they know how to do things and what you're trying to achieve.
YOUR TEAM If people derive motivation/fulfillment from doing this job better and better that's great. If they want to branch out into other things that are more work for you but also great.
YOUR TEAM With people, you value it's way better they branch out into different subjects than into a different company when they are too bored with their current duties.
say "Meetings are stupid" it's a shorthand for: "The meetings I've experienced here or in the past I percive to be a waste of my time and they either aggravated or bored me." Or just "I'm not incentivised to be here"
As a conservative estimate: Every hour a developer spends actually being present at their job runs the company 50€* Assembling your team of 8 people, that's 400€ per hour. Is what you have to say and the increased impact it will have by saying it in a room/on a call worth the 400€ it costs over sending an email? * Rough Dutch/German numbers including average sick days, vacations, social security, insurance plus the cost of office space, food, and hardware
efficiency because instead of looking up numbers and facts before you're inviting me to make shit up on the spot or have a follow-up now that we know why we are in the room.
type of meeting and the main goals Make a decision? Come up with ideas? Reporting/Status update? Feedback? Communicating Ideas/Plans? Making plans? "Once we are done here I want everyone to..."
with everyone in your team While we talk a lot during the day and sync every day in stand up, I found it very valuable to have a regular, more formal and deliberate, opportunity for the team members to give and receive feedback, share concerns and have a space to vent. Embrace when people are angry They trust you enough to talk to you about it They are enough to be involved in the first place They want to change the situation
on in the last week(s). For some colleagues of mine, this comes very natural and even in yearly feedback meetings they can just rattle of concrete examples of what this person did. I can't. I need to look through their task history, look at my notes and in general take the 30 minutes to get ready.
can be a conversation starter and invites people to share things they already are eager to talk about but won't get you to any more profound insights apart from that.
is working for you? Not working as well? What’s one thing I could do differently to better support you? Did you get the chance to do what you enjoy the most or do the best most of the days?
in the past month that you are proud of? How can I help you? What are you hoping to accomplish in the coming month? How will you know if you are successful? What does success look like for the goals you've set for yourself?
your work? Hardware, So ware, calm and productive environment, working infrastructure. Is it easy for you to get to clarifications about your current task when needed?
have a good overview of why you are doing your tasks and how it helps us achieve our goals? Do you feel you are contributing to the teams and companies goals with your work? Do you feel your contribution is recognized? Are there things you notice that are working not so well in the team?
behavior? Address it where it happens. If it happens in stand-up address it with this group Talking about issues in private normalizes the behavior for others
workplace can be a very uncomfortable issue. There are plenty of resources out there. Please educate to a level where you comfortable talking about this with your team.
be confronted with those concerns in a So ware Development environment as people are likely to be a position to somewhat comfortably share their struggles. One of the core questions that helped: "What is it that you need to stay productive?"
you in any way, you are always welcome to approach me through whatever medium for a more in-depth discussion. I had a privileged life, and I got lucky, and I'm unhappy.
to be honest with you. It makes everything easier. If people trust you, you have to spend less time justifying things, reassuring people and trying to get folks on board with your plan.
about you. This is not about how you feel. This is not about how this stresses you out. Don't make your feelings their problem. It's emotionally manipulative and just plain a shitty thing to do to someone that just lost their job. Your feeling are valid - Talk this through with someone else though.
SURPRISE. SURPRISE. They should know you've been unhappy with their performance/attitude/whatever or that it's rough for the company economically already. They should know that there have been problems. If this is the first time, they hear about why they are "let go" you fucked up. It's not easy; I fucked this up as well.
very clear with someone and they heard someone fastly different. Maybe you trailed off your feedback talk with an optimistic, "but things will work out, " and they took that as an "I'm on the right track" and disregarded most of what you said before.
people go" in the days before and make a plan. Usually, there are more than two people in the room. HR rep, your manager, someone else. Talk this over with them, especially if it is the first time you are doing this.
HAPPENING AND THE HAPPENING AND THE CONSEQUENCES CONSEQUENCES Do not sugar coat the situation. Have a prepared roadmap of what is happening once you leave the room.
a full talk or workshop. There is a ton of literature out there In the end, YOU need to feel good about the decision Don't feel you need to follow all advice Make sure you have a process where saying "maybe" is not good enough. Being honest and genuine is half the job
No matter the exact role: You shouldn't stop coding Stay of the critical path. No urgents tickets for you! A bug that annoys you but never gets top prio? Yes! Admin interface additions to help Customer Care? Perfect! You can't afford to completly detact yourself from hands-on engineering work.
It's incredibly hard to find out. The saying goes "If you're asking yourself that question you're on the right track" but honestly, you might not even have started your journey — no bonus points for shallow self-reflection.
over the people reporting to you, Even if you have no personnel responsibilities. People will ask YOU how the team is doing YOU know better whom to talk and how to make things happen Before significant personnel decisions (Team moves, Hiring, Firing, Promotions) chances are YOU will be consulted in the process No trust, no honest/negative feedback.
your management style will come to you years later from people you worked with before. Until then, if you feel uncertain how to handle a situation or if you did the right thing try to find someone you trust and respect and ask them.
also has a management course. * Yes, it's a Sales company. Yes, it's very US-American centered in its communication style. Yes, it's not what you as a developer are used to reading. Well turns out it's also interesting and full of ideas for your next 1:1 and your personal growth. https://trailhead.salesforce.com/trails/manage_the_salesforce_way