|I'm flying in a few days to a developing country to lead a team of software developers. They are struggling with a project and the deadline is close. I accepted this contract because I like the country, the CEO and want to push myself to a first experience software lead.|
One reason to bring me in is to implement good software development practices to the team. They are seriously lacking on this aspect: no test, a single staging dev server (no local dev env), no doc, inconsistent function and variable naming, the list goes on.
On the cultural aspect, the team is certainly stressed and I wouldn't be surprised if a few members will be defiant about seeing a Westerner joining the team that late in the project. Depending on how the CEO will introduce me to the team, I'm either the boss, am respected by default or another team member with no authority at all and can't rely on status to move things forward. Hierarchy is extremely important to this culture.
I can't just impose things: I need to sell good practices to the team so it becomes the natural next step to implement them.
It's going to be hard to implement a full software dev pipeline in such a small timeframe but I'd want them reach the point where:
My solutions for this:
- the project is shipped
- they understand why naming is important
- they modularize their code
- they do stuff for a reason (no meaningless SO paste)
- refactoring becomes a reflex
How would you handle this situation ? What first steps would you take ?
- mandatory code reviews, especially my own code. It seems to me like a good way to show the team how you refactor code properly, will make me meet and talk closely to the devs and will, hopefully, inject a sense of collective code ownership.
- making it very clear from the very beginning that *I* will be the one to make efforts to make myself understood: I know that some of them have a below average English level and are not comfortable to speak to foreigners