It is all about being responsible and understanding simple objectives
Career is almost a half part of an individual's life. For many it is the most part of life. Keeping work and life balanced is a thought at the age of 35 and above at the time where you missed all your valuable ages of life.
I use to have monthly feedback meeting where I allow my sub-ordinates to complain on me! or I can say a feedback meeting. Initially it started with most complaints and over a period they stopped complaining. They appreciate very rarely! But do it from their heart which is the best compensation I enjoy for my hardwork.
I always believe, the sign boards and branding are not the company but the people and stake holders are. As a manager, I trust my responsibility is to keep my stake holders happy and satisfy their requirements. I understand I am a representative of the organization. My stake holders are people who I work for and with who I work. Essentially, my customers, my sub-ordinates and finally my managers.
I am valued because my customers are happy for which my sub-ordinates help me to keep them happy. So I need to give first priority for my customers followed my team. My managers wish the same order so the ecosystem is balanced and focused towards the common business objective of keeping customers happy.
Stop blame game and work as a team
I strongly believe mistakes made by team member is mine.
Absolutely, there is nothing to blame, nothing to harm. After all it is a team work. Mistakes can be taken for discussion to identify the root cause and solutions could be discussed to avoid such mistakes in future.
I found some leads point out mistakes in a way it harm the developers. It leads to depression for the developer and frustration for both. It also makes the developer feel inferior.
If the developer don't write the code well, it is the mistake of the person who hired the developer or the one who trained him or even it could be because of the SDLC practice. Don't you agree?
Most leads and managers forget their role in a team. Being a good team player he should identify the strength and weakness of every resource and make the resource a valuable asset to the organization. It is also every manager's responsibility to mentor the sub-ordinates. Their career/life is trusted on organization which in turn handed over to a responsible manager or lead.
Reminding how many mistakes we did and never took efforts to correct them. Jumping companies and being promoted as managers! Ha, after all is it not true? Even if not for you, you accept this truth with your known circle. But I'll say it is nothing wrong. Everybody does mistakes. It is about accepting them and correcting it with the right spirit. In fact man who does many mistakes could be a better manager.
A senior programmer's single page of code could have dozens of bugs. It lies on the perspective and application. Sometime, following best practices doesn't work all the times for all the applications. It isn't just my statement but the best practices itself. It says best practice for most applications but not all.
Treat mistakes as learning milestones and not as crime. Document mistakes and prepare a best practice manual for your organization.
I agree, mistakes costs. It has to be budgeted. Even if it is unacceptable, it is practical. Sometime, it is called as buffer time!
Never do it
I have noticed leads and project managers writing code sitting next to developers and keep in sync with development process. While it is appreciable for a manager to contribute code, it is offense to ignore the responsibilities of a lead or manager.
It will speed up development but extends time of the project. Contradicting? Yes, most of your time should be spent on code reviewing and to comply with objectives and milestones. Find places to improve, identify re-usable code, help developers to be more efficient and organized, define metrics, tabulate resource utilization and identify ways to maximize of productivity, arrange for performance meetings, arrange for technical training, work closely with testing teams and development teams, work closely with business team and customers. I promise you, you won't be finding time to sit on a developer desk.
If you deny doing the above, basically you have problem with your team. Be bold to rebuild your team. A good craft man requires good tools. Here tools include resources/brains too. It is a business call. Try to help people get on-board with required skills, if it is not affordable let the team understands it. Have a open meeting. Investing on good brains are important than investing on infrastructure and assets when your business is majorly run on brains.
Managerial roles are commonly circled as Projects, Business, Human Resource, Marketing. Finance and Operations. Understanding the circle is very important and being effective inside the circle helps the organization more than trying to penetrate in to next. The top level management helps coordinating inter-circles.
These points are out of my experiences. I would be happy to discuss it with your comments.