I started working in a startup as the one developer in addition to the CTO(low level Java developer) who is not always available and also not an expert in the stack(MEAN) used to build the product.
PS: The product was previously outsourced before I joined and the code is nothing to write home about.
It sounds like a typical early stage startup - horrible code (often inherited from contractors), nothing solid in place, no unit test, no processes, no idea what the final product will be like, upper management never available, super small development team, constantly moving goalposts, constant requirement changes even contradicting earlier requirements, etc
I'm assuming the company is not generating revenue yet or if they are, not much at the moment?
I've been in this situation many times before and started getting used to it even excelling at functioning in such an environment - if this is your first time in such a chaotic environment, I'd suggest sticking around a little longer to see if you get used to it, if it absolutely drives you bonkers afters let's say 6 months, it's not going to get better anytime soon until they get bought out or go big.
You have the power to change things and steer things in such a way that the team becomes something that you'd want to work with, the tech becomes something that you want to work with - once those things are set (by the early pioneers like yourself), it'd be hard to change again.
I'm confused - what is the actual problem?
I started working in a startup as the one developer - this happens. Welcome to the startup world.
in addition to the CTO(low level Java developer) who is not always available and also not an expert in the stack(MEAN) used to build the product. this also happens. Everyone must eventually fall into a roll do what they need to do for a project to get off the ground.
The product was previously outsourced before I joined and the code is nothing to write home about. Ok ? Lots of code out there is bad.
If you think you can do better, do so. If you think the project is doomed, leave. But again, there isn't an actual question here. Complaining that the boss is never around or that the code sucks aren't valid gripes or problems. That's programming for a startup (with 2 people no less).
At best - tell the CTO what problems your having with the code; tell them what you would change, how, and how long it might take.
At worst - leave and find a new job. It's a job. At a startup. You owe them nothing (I presume) and in reality, they owe you nothing. You have a life to live; you have expenses; maybe you have a wife and kids you need to support. You need to take care of yourself (and family) first.
Sorry for the down vote, but those are just some of the pains of working for a startup. Wait, it'll get worse before it gets better.
Idea Incubator
Sandeep Panda
co-founder, Hashnode
As Jan said, you have the power to make things better. If you love the product and want it to succeed, step up and try to make things better. Talk to your CEO/CTO and tell them about the problems you are facing. Let them know that you are trying to fix things and you need their help to make it happen. Remember that there should always be clear communication and clarity of thoughts in a company.
Stay there for a little longer and if things don't get better you may need to think of alternatives.