I have about 6 years of backend dev experience, mostly Python and Ruby. I recently fell in love with Elixir and am pursuing a pet project in my spare time.
I am the company's first permanent dev hire - until now they've used freelancers to build the product. The stack in Python/Django.
My team also consists of a frontend developer and two app developers. None of us had to do any form of technical interview to land the job. The result is that the team isn't as strong as it could be - for example no one apart from me has any experience in TDD.
The owner (he sees himself a CTO) is just technical enough to be dangerous. He knows the buzzwords and feels comfortable making decisions without fully understanding the impact. I believe that with some management the risks here could be mitigated, but I don't have the personality or will to manage my boss. Today, for example he threw a spanner in the works of the work that we did over the last month because he didn't mention something crucial. It's not a train smash, but I foresee this kind of thing happening regularly.
Basically I have to build the product, do all devops work, mentor the team to make sure their work is up to scratch and manage the boss. To me this seems like a mammoth task and I don't feel up to it. I also don't like being the "smartest" person in the room.
I think the company needs someone who is looking to move into a CTO role and comfortable with managing developers and business expectations. I just want to do technical work and solve problems for as long as possible.
Would it be fair for me to give notice now and leave? I'd be letting down the team and owner and they would have to find another developer.
Would I be passing up a great opportunity to learn?