Becoming some kind of engineering lead or manager has its own set of new skills to master and problems to overcome. Suddenly you aren't a single contributor anymore. You are responsible for other people and the work of several peoples.
Thanks for the invite! :)
What are the main challenges and problems you face?
Once I was told that my job as the founder of a startup is to:
I can achieve the 2nd one by making sure we are building a product that solves a real problem. But "hiring" is still a difficult job for me. A good team is essential to making a great product and if you don't have the right kind of people in your team everything falls apart. So, I would say the biggest challenge is to find, recruit and retain the best people in the team. When we actively hire it takes about 40-50% of my time. I enjoy talking to candidates, but most of the days I may not get good results. Fortunately, we have a remote team of six right now and we are getting so many things done on a daily basis. This is because we have the right kind of people in the team and everyone knows what our priorities are. So, as a founder, I am looking forward to being more efficient in the hiring process and team management.
What are some hard lessons you learned?
There are many actually. But I'll outline some of the important ones here:
Never hire just because the person is excellent in a particular tech. Dig deeper and see if they fit into your culture.
Don't hire only because of skills. Look for coachability and genuine love for your product.
Don't have an office. We used to have an office in the initial few years of Hashnode, but went completely remote last month. If commuting takes more than an hour of your time, you should seriously consider going remote. For me, productivity went at least 5X up after going remote. I don't waste time commuting and have a lot of flexibility in starting and ending my day. You can still have team meetings, peer reviews, watercooler conversations and so on while working remotely. I recommend this book (from Basecamp) to everyone who is looking to go remote.
Don't give up reading books.
Which skills and competencies do you work on improving?
As I mentioned above, I am working on becoming better at hiring and team management in general. I am a developer and I still build features and fix bugs along with my team (we have 2 other developers in the team right now). Sometimes I hit a wall and spend a lot of my time fixing problems in the code. Naturally, I pay less attention to what everyone else is doing or what problems they are facing during that period. I am working on getting better at this.
As we get busy managing team and achieving business goals, most of us give up reading and writing. This happened to me as well. I read no books and wrote only 2-3 blog posts in 2018. However, I have resumed the habit of writing this year. 🙌 I have also bought some interesting books (fiction and non-fiction) and I am looking forward to finishing them.
What are your resources to improve and learn those skill sets?
Well, I am trying to follow people who are good at these skills. I follow them on Twitter and try to surround myself with such persons in my daily life. :) And of course, good books on these topics definitely help.
Hope this helps! Let me know if you have any questions. :)
Wow, I thought of doing it as a blog itself. But can not resist from answering..
There are many but the few top ones:
Lead Developer and informal CTO of Benchmark.games here. I always thought i will only write code and do a bunch of planning, but all of a sudden i found myself leading a small developer team of 3 people, and making technical decisions that affect our little company (12 people and growing).
My biggest challenge is balancing my developer and leader roles. I still like to code; if i’d have the time i’d still do everything myself. Not because i don’t trust my team but i enjoy this the most. Making decisions is easy for me although not always quick. Showing the way for others is much harder. What helps me much is having two kids: being part of the “leadership team” at home helps a lot at my job, too.
I wouldn’t say i had hard lessons. I learned that the best thing for the company is not always the best for my team and that sometimes you need to let a customer or business partner go to actually grow the company. It’s funny how i lived my life along this rule for a decade, yet it was hard to apply it to my work.
Right now i’m trying to improve my leadership skills. I consider myself a good leader, but that’s not always enough. My team is about to have more people soon, and some other teams within the company are also growing and we must work together smoothly. Without being a great leader, it won’t be possible.
I don’t really use any resources for this. We have a great CEO who shows good example for all of us. We hire people with good communications skill, as we all know communication is key both within a team, within the company as a whole, and between the company and our clients and partners.
All in all, this transformation helps me develop myself, too. I still don’t think i will sit in a leader-only position ever, but being a part-time head of a team is not that bad.
My main problem is people skills and attitude difference.
I am not particular fond of repeating myself over and over again, meanwhile I tend to believe that if someone does not understand me I have to improve my communication. I also believe that people need guidance an patience instead of some arbitrary imposed boundaries.
When I was working in a 'normal' position I usually picked companies where I'd know the others were better than me. So even beginners were usually pretty smart and quick on their feet, which lead to some arrogance problems but I can deal with egos.
But now that I am 'at the top' whatever that means it get frustrating to see others work ethics or their state of knowledge and growth.
It's not that I cannot see why they do certain things, it's just that I have a complete different mindset.
I don't care who's fault it is, I will always fix the problem. But now people tell me they made mistakes because I told them to do things differently and that it's not their fault ... and I get frustrated because it was a suggestion they agreed to do it that way and now they argue about blame.
I don't think it that terms and actually I don't want to work with people that think in that terms.
And really all of them are different personalities and have different skill sets. Also this is a startup after all so ofc I am expected to program as well. Which should mean I can delegate things, but for delegation you need comfort in the competence of your coworkers and I only have 1 I really feel has competence .... but his communication level is close to stereotypical autism.
Anyhow .... I now have to deal with human problems and I personally tend to be an introvert ...
Other problems:
Getting ownership of the code to the team, they should decide what they want and communicate with each other how it should look.
Uniform codestyles, they should have 1 code style and 1 attitude not 10 different ones and slowly degrade the code to a real mess.
Also always finance and consulting the CEO. The idea that more workers get more done but they should not be to expensive just drags the project.
I pay most of the development infrastructure because I have standards and I will not work sub standard. And my people shouldn't either.
Language and time barriers because my CEO doesn't spend to much money we have people in india, dominican republic and austria. So we have different time we work at and cultural differences.
the Indian tends to say yes but he actually means no. a lot of face barring, he overworks and ignores what I tell him.
the one in the dominican republic argues about blame.....
The first rule of leadership: it's always your fault.
About the skillsets.
I talk with teachers, other lead personalities and different programmers from different walks of life. I read some article about leading and listening to talks about it.
Frankly .... I never wanted to be a lead person. Leading means responsibility not only of what you did but also what others do. I knew this since I was little, I am from a family where 90% were CEOs or upper management some even in international companies.
For me getting in such positions is just a consequence of not totally sucking. As soon as I can establish someone competent enough to overtake my role I will.
My first lead position was with 25 or something so roughly 10 years ago and very soon I realized that preparing gant charts, specs, sitting in meetings and writing tickets for others are not the things I want to do.
So I apologize for me whining about my lack of skills and that people are complicated... but you invited me to answer ;P
Tapas Adhikary
Educator @tapaScript | Founder CreoWis & ReactPlay - Writer - YouTuber - Open Source
I've never been appointed formally as a leader but as the natural growth of projects and my experience in building software and working in teams, I'm expected to lead people.
What are the main challenges and problems you face?
It's a challenge to persuade people and make them follow certain rules or processes. Make coworkers in the same and different teams collaborate is complicated when they don't see the big picture.
This is something I've solved many times leading by example. I try to be the one who understands processes(technically and business wise) and also applies/practices them actively.
What are some hard lessons you learned?
Sometimes I need to speak harder(louder) and have a strong opinion on something to make it happen. I'm very patient, listen a lot to opinions but when I feel a thing isn't right or there could be a better way, I take a stand to try to find the best way to follow.
Which skills and competencies do you work on improving?
I always work on improving the way I communicate ideas. It is the most complicated thing to do because as a leader I want to be follow but also make sure I understand others and accept other ideas/solutions/approaches that would be better than mine.
Whenever I write something I reread and when speaking I listen to myself and try to vocalize and use simple words.