Tasting waters of management, from developers bay
I have been working on building a rust client for one of our projects. There was a new feature that I had to add, raw sockets. It took me about a month's effort to understand a bit of networking and how to implement it.
Suddenly, we have a demo to give. So we start working on adding and removing features that were giving us issues. This was already off to a bad start.
I was seeing myself rolling back the new implementation code and move back to the old ones. If this wasn't enough, our demo date had been rolled back about a week and I had to spend a lot of my brain energy during this time.
I was frustrated. The team was frustrated. We couldn't give the demo the way we wanted to give. That experience of suddenly rolling back changes for a demo was something I never wanted to go through again.
Now, we're a very small team and it's easy to point fingers at the management. Of course, management could be better. But how? In a small team, you have to wear multiple hats, and if most people are wearing only one, then some of the people have to wear a lot of hats, and you can't walk through doors with a bunch of hats stacked up on your head, that and you'll look stupid doing that, even if you're not.
After experiencing that, what would a developer like me do? Bring the question forth? OK, they already did that and it won't be possible since a person wearing a lot of hats can't do much about it. So most would leave the job. And that is a very safe decision to make.
At least that's what we're taught. Take fewer risks in jobs. If you see a small team struggling, and you brought the issue up and it didn't really work, you're left with leaving it.
But I couldn't think of that. As a self-taught dev, I hate corporate culture. And what a situation it is that I happen to be in a country where most software houses are corporate, except for the one I'm working in.
So I couldn't think of leaving a workplace that I liked. So the only thing that came to my mind was to take initiative i.e. try to take it into my own hands and help the people out. If one guy is wearing a lot of hats, distribute them b/w two people and now one of them won't have that much burden.
So I decided to implement scrum and make our team (which is now a super small one), work in an agile environment. Previously, we were working in sort of a kanban style, but there really was no order. This doesn't mean that Kanban isn't good, it just meant Kanban for that project was not the best choice.
Take it into one's own hands
For this to work, I took responsibility for this initiative. Since I had worked in an agile environment before, with one of the best product owners that I've ever worked with (because that was my first job so I would say that), I decided to use the skills I saw them use.
I made myself the scrum master, setting up workflows for 2-week Sprints, making sure I implement the things I saw in my previous environment and communicating w/ the team to make sure everyone's on the same page (and in good health).
This is where I started tasting the waters of management, or what I prefer, leadership, as management sounds a lot like sitting on a chair and telling people to do XYZ, rather than leading a team which sounds more involving.
Is this worth it?
Some might say, you're just overworking yourself and that you don't really need to work this hard for the company. They are right. If you're working for a company, doing additional work and putting more stress on yourself is stupid.
Except that I don't live with that mindset. I don't just work for the company, I work for my skills and experience. If I'm diving into scrum and learning to build an agile team, it's something I'm very happy about doing.
This is a skill that I'm learning on the job, which I can utilize later on in life. But most of all, it is something I'm happy about doing and content with. I want to experience learning to build a team. I want to go through this, for my own sake.