I've joined as the first American developer to help with tasks during American timezones as well as try to establish best practices and processes as the company grows and takes on bigger clients.
The CEO of the company is very excited I'm on board and listens to me as a professional and respects my judgement. Communication has been a bit rough with the Indian dev team as most of it happens through slack and a minimal amount of guidance is provided. I've opted to basically teach myself the codebase and figure out how stuff is done myself as the dev team rarely answers my questions fully or sufficiently to get a grasp on what is happening.
On one hand I feel empowered by the company to do well and make good changes but on the other, I struggle with the complexity of it all given how a lot of dev processes are basically a black box where lots of stuff on the server is just done manually.
I'm given lots of autonomy by the CEO so I don't feel pressured or stifled too much. every credential to every service they have, they've given to me so I can really learn how everything is done and peek into the systems.
They want to hire a second American dev in Q3 or so and I'd be part of that process. At that point it would be a bit less lonely haha
Anyone have any experience in this situation? Any advice for how I can be the best at my job? On one hand the CEO wants me to tell him if I see practices that should be improved but on the other, I don't want to make the dev team feel like I'm some hotshot coming in to take over their codebase.
diggan•11h ago
This is the first thing to figure out how to make acceptable. If you feel like they're not answering your questions well enough, you need to find a better way of doing this. Sometimes when there is a language barrier, it helps to have synchronous calls/video calls, where you don't give up asking questions until everything been made clear.
> I struggle with the complexity of it all given how a lot of dev processes are basically a black box where lots of stuff on the server is just done manually.
Second thing to solve, write and improve documentation! Currently, you're in a kind of nice place, where you're still learning the codebase with a fresh mind, so you kind of know what information is missing. But make it easier for your future new colleagues (and yourself!), and write down everything you learn in a structured way that is accessible to everyone in the company. Once available, you can even ask your other colleagues to try to fill out areas where you don't know a lot, then help them rewrite it once they've done their infodump.
Eventually, you will want to automate everything (at least deploys, testing and QA) they're doing manually on the servers/services, and documenting everything will make that step so much easier when you get there.
In the end, it seems like the existing dev team is somewhat of a silo, and I think you need to aim to make it not so, so they're more open to collaboration, unblocking you and documenting more.