Working with clients

Mentoring people

Leading teams

Team leads effectively act as project managers. Your main responsibility towards clients is to ensure that the team embodies the Nebulab values in all interactions.

It is important that you are proactive rather than reactive: do not wait for problems to arise on the project before dealing with them, but rather use your experience and gut to tell when something is not going well and deal with any issues before they even reach the client. Ideally, your work as project manager should be invisible: you should allow the development team to shine without getting in their way.

In doing so, always act as if you are spending your own money. Respect business priorities and never spend development hours on tasks that will not bring value to the project. Of course, this does not mean that there is no space for refactoring or under-the-hood improvements, as long as these are changes that will improve the quality or stability of the product. When this is the case, make sure to discuss these improvements with the client and explain why they are important so that they can make the right decision.

Finally, a note on making decisions: as a project manager, you will sometimes call the shots on technical (or even business) matters that the client delegates to you. For instance, you may find yourself making build-vs-buy decisions, or deciding whether to use a new framework for that feature or rely on a more boring, but proven, technology. You should listen and address any feedback from the team, but at the end of the day, you must go with the option that you feel is right, because it's your job to make the right decisions based on your personal experience. To be able to do this, you need to foster the kind of culture where people can disagree and commit.