Most companies are confused when it comes to hiring. The process is usually like 'WE NEED MORE PEOPLE' but no one does the hard work to actually define roles, so the search becomes extremely generic based on a single skill; also, its usually somewhat divorced from the person who said 'we need to hire' in the first place.
Now when they company determines they are 'ready' to hire and interview, again, they are completely clueless. They've heard rumours that google uses all these algorithmic puzzles, and because google is cool, thats what they should do to. Rarely do these puzzles even remotely resemble what the day to day experience required to do a good job is.
So they give you some random puzzles they find on the internet, and some people fail and some people do well.
Then they 'regroup' and say 'THIS GUY DID REALLY WELL on the PUZZLES' and everyone else agrees; but then something interesting happens. Since there was no set of criteria to judge a candidate against, because the roles are very generic and ill-defined, its almost impossible to tell if you would be a 'good fit'.
So, while huddled up, someone in the group says 'YEAH HE WAS GOOD, BUT I"M NOT SURE HE WOULD BE A GOOD FIT HERE' - and everyone else tends to agree because what exactly is a good fit? No one really knows.
They say "OK LETS KEEP LOOKING", rinse and repeat.
Its MUCH harder to move forward with a candidate than it is to just say 'next'.
Dont take it personally, just keep pwning interviews, and wait for the right person to realize that you are legit.
If its what the client specifically asks for, you probably have no choice. That being said, you can tell the client the trade offs. Specifically, make them aware of the fact that c++ takes more time to code and update relative to higher level languages.
In this case, since it seems like an ETL batch process that can be parallelized, your barriers are more the cost and time of development versus running time.
The two biggest problems are communication, and time delay.
Remote communication just takes a lot more effort - many underestimate the frictions of constantly setting up remote calls (sometimes with poor quality), dealing with any language barriers, proper scheduling ahead of time according to time zones, etc.
Now add engineering into the mix, and things get even more complicated. If there is a time delay, it means you are working at different hours of the day, so if you need a change, maybe it happens 7 hours later.
You have to design your systems to require minimum overlap and proper decoupling, which means more time planning and more architecture.
You also have to assume your engineers are good communicators, and can constantly be working out issues over instant messaging and email.
Thinking about ideas is naturally fun. To think you are creating something new and the prospect of wealth, fame, etc looming behind it is an exciting proposal.
The fun ends when reality hits. Those who achieve have the ability to keep a strong hold of this exciting vision while working through the day to day, to stay motivated, and learn to enjoy the process.
Here's some good advice - if you are great at selling, come up with a product, and go sell it to people, get feedback, do the customer development, hire a part time designer to make some nice mockups. You don't need a product to sell - you only need max a powerpoint, or at least a working prototype.
Once you're at the point where someone says 'ok, ill pay you for this product', you'll have some cash, or you'll have a compelling story for a developer.
Imagine instead of posting 'please someone technical join me im a hard worker', your story was 'guys, i just sold <large company> on a product <here> that I'd been working on selling for 4 months, i'll split the contract with a developer who wants to come on board and build a company around this idea with me'.
Take some time to plan out your attire and appearance, as part of the point of this trip is them determining whether or not they will want to see you across from them for the next few years.
you should probably know their stack.... obviously html, css, and javascript, most likely jquery, maybe slicing some photoshop images. Do a couple projects where you make some interactive clickable things to show them before you get there, i.e. use some jquery animations, ajax calls, hovers, widgets, etc
It seems like most of the 'failure' you are experiencing is emotional baggage. Just let it go - it doesn't matter. You're already on to the next thing.
You talk about having gained a 'reputation' of failure - is there a person you are especially feeling like you failed? An investor or advisor, or just your self? Consider having a chat with them, or addressing this.
There are thousands of examples of failures followed by blazing successes, nothing new. Just keep doing what you love.
This idea is retarded. You'll build an mvp, and buy a few users, but you won't be building a business.
A business is more than a one time mvp and a sales person.
You'll need constant improvements / tweaks / changes, an ongoing marketing effort, new feature releases, new leads and sales, etc, which probably won't be accomplished by a static mvp and a single person.
Is there any sort of other technical leadership at the companies you work at? As a contractor, its a good point to first create a quick 'spec' of how you plan to execute it the plan. This is also pretty standard at most of the startups I have worked at - at least 'sanity check' your approach by someone else.
Also - don't go off the beaten path to use niche technologies - create the simplest solution using regular proven technologies, and go from there - startups don't have time to support weird shiz.
First, there should have been a discussion about who makes the ultimate decisions - him or you.
Has your code formally been added as an asset that the company owns? If not, you may still technically own all the rights to the code, and be able to do what you want.
Second, what is the potential of the product, and what is your passion like? Do you want to take this company over and make it a success, or would you rather just move on? Certainly easier to just move on, but finding another business cofounder is not a super difficult task (there are hundreds of people who would love to do it). Or since you are out of money, are you considering getting a part time job instead?
It seems odd that your cofounder 'got hired' while he was supposedly working as a 'cofounder' - at this point it should have been a flag that hes not committed and you should have cut him loose. Next time you are sacrificing a lot of time and money, make sure you have the control to fire someone if they aren't working out.
Get a partner to work on it with. Set some times, split up the responsibilities (so you both have to do less) and work on it as much as possible while you can. Your work will motivate each other.
To be honest, you are way too generic with what you are calling 'good code'. Its stupid to evaluate 'good code' without a context and a goal. By context, I mean what is the purpose of the code and what were the constraints, and by goal I mean what was the coder trying to optimize (speed, memory, readability, modularity). The way you've phrased this experiment seems pretty dumb without either of these being clearly defined.
Now when they company determines they are 'ready' to hire and interview, again, they are completely clueless. They've heard rumours that google uses all these algorithmic puzzles, and because google is cool, thats what they should do to. Rarely do these puzzles even remotely resemble what the day to day experience required to do a good job is.
So they give you some random puzzles they find on the internet, and some people fail and some people do well.
Then they 'regroup' and say 'THIS GUY DID REALLY WELL on the PUZZLES' and everyone else agrees; but then something interesting happens. Since there was no set of criteria to judge a candidate against, because the roles are very generic and ill-defined, its almost impossible to tell if you would be a 'good fit'.
So, while huddled up, someone in the group says 'YEAH HE WAS GOOD, BUT I"M NOT SURE HE WOULD BE A GOOD FIT HERE' - and everyone else tends to agree because what exactly is a good fit? No one really knows.
They say "OK LETS KEEP LOOKING", rinse and repeat.
Its MUCH harder to move forward with a candidate than it is to just say 'next'.
Dont take it personally, just keep pwning interviews, and wait for the right person to realize that you are legit.