How realistic is to find one lead engineer who knows many prgramming languages?

1 points by mayermail1977 ↗ HN
My cofounder and I have an app developed for iOS/Android plus backend via an outsourced team. I am a non-tech cofounder (UX/UI/marketing guy) and my partner is the tech guy. Even though he is a software engineer by trade, he has been a project manager at Motorola for more than a decade so he does not know enough of the devlopment to touch the code. This is the reason we chose a third party initially and we rather paid for the development of the MVP (or MDP). We self-financed it (about $55K) and bootstrapped it up until now and it’s time to bring in a lead developer who can finetune and iterate it to meet product/market fit and maybe clean up the code here and there if needed. Especially android. We got some good initial feedback from a few testers, and in general people like the concept of the app (it is a social app) but nothing more. And no traction at all. This is the stage where we are heading next: 1. Iterate to find product/market fit 2. Try to get some traction that is meaningful enough to start fundraising

We want to offer equity rather than salary. The programming languages that are used are: Android: Java (strong knowledge) iOS: Objective C Server: PHP Cake DB: MYSQL Deployment: Jenkins + AWS. How realistic is it according to your opinion to find such software engineer who knows it all? Thank You in advance for your honest replies.

13 comments

[ 2.0 ms ] story [ 35.2 ms ] thread
I don't think it's unrealistic. I personally could handle all of that except the Android part (but it's nothing I couldn't learn)

Many experienced programmers could cover most of it, if not all.

Thank you for your input! I really appreciate it. If you don't mind asking me, when a professional like yourself chooses a programming language to learn, what are the criteria based on what you make your decision?
iOS and Android are kinda a given. I personally prefer to use their native languages (Obj-C / Swift and Java) but that's just me not wanting to deal with interpreters and such from React Native, phonegap, etc... The native languages are perfectly capable IMO so no need to add another layer of complexity.

Web development is a different issue; If the site needed chat features, I might choose a Parse server or integrate with Firebase or other realtime NoSQL servers. Some form of MySQL IMO is always a requirement as eventually, you'll want to run reports and such and still IMO there isn't a NoSQL server that can handle it better then an SQL server. Hosting is it's own animal - Rackspace, AWS, Google Cloud, Microsoft Azure - pick your poison. If you need to keep server costs low and want to scale quickly - AWS. Don't need to scale quickly but need a load balancer / cdn / backups - Try Rackspace. Don't need a CDN? Try Digital Ocean. Tons of different price points; capabilities, etc... I've run sites on most and most can handle most projects; just depends on specific business needs and experience of the sys admin. Some don't like the complexity of AWS; some are ok with it. Some prefer DO; some want Windows servers (Azure)

The point of React Native and the like isn't that the native environment isn't "capable", it's that writing and maintaining two codebases is a different type of complexity that isn't always worth the tradeoff.
You have a good chance of finding a generalist with 1+ years on each of those. None is too exotic or too arcane that you need a specialist. I'm consistently average for a consultant, with >10 yrs over ~30 options like toolkits, platforms, databases -- I don't do design or architecture. So, I myself don't often choose a new language or variation or toolkit; you show me the entry points and I problem solve from there. I've seen the side effects on maintainability and sometimes security, but never been bothered by escaping to a different language.
It's not unrealistic, I personally code on all these technologies (primarily on iOS and android native), but such engineer can be pretty costly and might not come on equity only easily.

Minimum experience of such engineer should be 6 to 10 (I'm 10) and they are either working on a pretty niche good paying job or running their own stuff, or selling their services as outsourcing firm (I do this, and have team of 30 other developers also).

Apart from this,even if you hire such engineer he would be able to do one piece only at a time and that's not good for today's time-to-market dynamics.

Also, you've paid already good for MVP (did you hire a local US firm?), I do most of the MVPs under 10 K, and price increase only when functionality is large, you don't need to develop things from scratch these days.

nevertheless, my best suggestion to you would be:-

1. Hire a person as CTO or Tech lead, who know 1 or 2 of technologies you're looking for, but may not necessarily do all the coding. 2. His KRAs should be architecture creation, leading everything tech at company, align business goals with tech. tasks, hire an execution engineering team, and get the stuff done by day to day management.

3. Allow him to vet and hire development agencies or teams, negotiate on deliverable while you give him a realistic budget, and then give him realistic development goals.

One guy can't do it all (even if he knows it all), a whole team of mobile dev inhouse is more costly than hiring a developer agency (it should be a good one though) so decide accordingly.

Feel free to ask me for any further discussion on topic, my site is http://www.agicent.com.

Thanks for your input. We are actually trying to get away from this way of working because it does not work any more. As we have an MVP, we want to get towards some initial traction and if feedback leads us to some direction then take aim in that direction and then if everything goes well then fundraise. Your type of company has great value early on to get an MVP or MDP but we got to a point where we want in house people to do it who concentrate only on this app. I appreciate your feedback though and will keep you in mind.
I hear you, so apart from hiring an agency, my advise remains stick to following:-

1. Hire at least 3 people and not 1. 2. One Can be senior with an ability to work on multiple techs, while other 2 can be even fresh engineers (around or under 6 months of exp in their respective technology i.e android or iOS etc) and they shall scale themselves up in good company (It's tried and tested by many entrepreneurs, including myself). 3. Utilize that senior tech guy more like CTO, architect, and backbone programmer (one who takes care of DB, APIs, troubleshooting, guiding, figuring out libraries to use, pros and cons of various tech. stakes etc) and remaining 2 fresh would do all sort of coding in less cost.

Depends on what level of knowledge you need.

If it's a run-of-the-mill social app then it shouldn't be too hard finding someone that knows "enough" to get the job done. I'll say this, though; in general, the types of people that know it "all" would prefer not to work in PHP.

Thanks Davel for your input. Out of curiousity what would be the one that is more favorable to PHP. Thanks
Sarcastically: mostly anything.

Realistically: mostly anything, e.g., Rails, NodeJS, Elixir. Even Java, but I'd lean away from that from a resource perspective.