These days the secret is you have to hire the good South Americans.
Exploit the fact corporate America hasn't caught on to routing contracts through Upwork et al. Then don't get greedy, keep the TCE delta below 20%, so they stay more than 9 months.
You can take your pick of the finest FOSS contributors Guinea and Paraguay have to offer.
Your secret path to success with international hiring is to avoid any country you know the name of.
Don't think you're thinking out of the box hiring from Brazil/Israel. Hunt down a decent dev from Ghana or Georgia.
If my Slack/Discord buddies are anything to go by, there's an extraordinary amount of gems out there who've made the choice to raise their kids in their home countries.
There's good talent in Thailand as well. RIP my friend the Thai data/cloud principal eng banking 14k USD.
When you read the book, ole Fred is not a fan of large engineering units. Forget two pizzas (Bezos is from New York, two pizzas for him is ~10 people).
Fred's view is actually:
1x captain/tech lead,
1x co-pilot,
1x ops guy equivalent,
1x business analyst equivalent who can be sent to meetings (he worked for IBM).
(And then two secretaries. And an copy editor for the documentation, because no internet.
No internet! The documentation must be written!
The lead developer needs to follow my favorite advice of all time:
Can't write? Imitate Hemingway.
And a full-time librarian for the punch cards. And a full-time employee just to maintain the minicomputer that was your debugger.
Because hey, the book was written in 1975.
The internet doesn't exist, email doesn't exist, the engineers almost certainly can't touch type. And anyone without an attractive female secretary was nobody.
The pimply faced youth's job as config wunderkid and unofficial court jester fills most of those roles these days)
Your comments are difficult for me to understand, although you do have a fun and whimsical style!
I wasn't taking it as gospel and I agree some engineering outfits are (or at least appear to be) overstaffed or inefficient, and a small number of very driven and talented people can produce some incredible things. But when it comes to making a product it can take a radically larger amount of engineering effort than it would appear.
PS Semi is an example of an ARM-beating company which was founded by a visionary engineer who almost certainly had the big ideas himself or within a small group of technical leadership. It still took a hundred engineers 4 years to bring out their first product.
To be fair with the book, that's what he describes as what he thinks a team should be. Not only there is margin for having more than one team, but the rest of the book completely ignores it and is about real people on real teams.
It was a fabless company so you basically write code and send it off to get built.
There's more details to it, but a single person could write a very small CPU and put it on an FPGA (or ASIC if they have the tools) in a few months.
That's just one example though. There's lots of software examples. Compilers, browsers, OS kernels, database servers, hypervisors. A single person can write any of those, but to make a competitive product it's often a very different story.
One of the most interesting things about hardware vs software is the barrier to entry.
Hardware intellectual property has an insane number of working parts and "factors" (electrical resistance, photo-lithography, metal layers, silicon is amazing) all have to be solved.
Software by contrast, follows the open source model. All those things you mentioned, are being done by people and academics in their space time on the internet. You're essentially assembling pre-configured tools
Hardware is more difficult, because the laws of physics are FAR harder to account for, than tying together APIs. Because APIs are after all, designed for humans to be able to understand and configure.
Software is also complex, but the good people in FOSS have already assembled their shit for free and are giving it to you.
Additionally, basically no hardware IP and blueprints are open sourced. Because of the free flow of goods (and not services), someone in an IP disrespectful country will clone you and sell your goods internationally. You have basically no resource to pursue that individual.
Launching an IP disrespecting internet business at scale however? That is almost impossible. As soon as your IP disrespecting competitor gets going, you can hamstring them.
Hence for hardware, create a develop, release, iterate cycle, and keeping the money flowing, you essentially need to employ a LOT of people to get your startup going.
Hence VS fund about 10 SaaS startups per hardware one.
Mostly I was talking about SaaS with the "make your first two engineering hires like this" guide. Clearly for photo-lithography with silicon on leading edge nodes, you just cannot do that.
> Hardware intellectual property has an insane number of working parts and "factors" (electrical resistance, photo-lithography, metal layers, silicon is amazing) all have to be solved.
Again, fabless companies don't have to do any of this. You get a PDK from the factory which provides all these parameters and even standard cell libraries so you don't even have to do circuit design. You just feed your logic into "compilers". You need "physical" designers to optimize the output of those stages, but these are not people looking at the physics, they just optimize P&R and floor plan according to the PDK specs and tool output basically to close simulated timing.
In practice once you get to a large enough and high performance product, you would need custom circuit designers. And step up even larger again and you'll likely be working directly with the manufacturer on defining and tweaking the process. At Apple scale, you probably even define your own custom process node. Once you get to this scale though it's pretty much like big software houses writing their own libraries or OSes or compilers or asm code because the standard available stuff is not quite enough. That all takes a lot of engineers too.
But that's not _required_ and almost certainly PA Semi would not have had a whole lot of engineers on that work, it would have been logic, analog, PD, V&V, power, primarily. And almost all would just work on the standard package they get from their fab. So mostly writing "software". And you don't need any money for a develop,release,iterate cycle on most of the hardware stack because it can be and is simulated.
That's exactly what happened with Twitter. It was at a company named Odeo.
But yes, I think you can have two high quality employees make good software? I mean they're employees, you're going to give them marching orders to do something presumably.
This is hard to achieve because generally good engineers are either working high pay tech jobs OR they work in a startup as founders / early employees with make-me-rich shares.
Sure, there are exceptions who don't know their worth. In general it's hard to find mediocre technical cofounders and very very hard to find good technical cofounders.
I think the assumption here is that this is a Hackernews thread about someone asking how to make their startup succeed.
Therefore, I wrote the post with some sort of assumption that OP is the technical founder. Hence OP is supplying the stuff like the vision, the outline of the tech stack, OP probably made a lot of stuff themselves.
Hence, it was more a guide on how to find extremely dedicated and good engineers to work for you, the founder. And how to deploy them to take load off you as the technical founder.
As a technical founder you rapidly become far more important as a store of technical knowledge. You're off to customers doing technical sales, networking with people you know for hints at how to solve your technical problems, etc etc.
Hence,what OP needs is top quality execution while they go off and do all that stuff. And ye ole Ghanian FOSS committer is the tree I'd shake.
Depends on the product what you actually need, but I've personally watched more than one successfull software product launched with a more or less this resourcing. Not exactly this recipe but very much in the ballpark.
The assistants aren't assistants - you hire them with minimum pressure, but try still to find the most talented junior you can find.
I'm sure you can be elastic with the mids depending on how much AWS there is to configure or some-such.
2 juniors in a startup is a bit, probably not the right thing. You'll run out of junior work surely?
The "two good ones plus exactly one junior to make them feel important, and to keep the show on the road for 2 weeks in case they both quit simultaneously" formula is pretty solid.
To be specific, my experience was from non-web software.
I would consider "junior" here not as a person in non-critical role who cannot function as an individual contributor, but as a solid candidate that lacks industry experience but can be at the moment hiring be expected to quite fast grow into the role of a solid IC. I.e to use a bit too stereotypical characterization
- not a "stablehand" but a "journeyman apprentice".
At the moment of hiring you don't count on it that they can deliver (but guess and hope), whereas the seniors will have shipped products under their belt.
Mid = journeyman, "worked another job before". Independent, trusted to be delegated to for specific things, but doesn't quite have a personal brand.
Senior = Master. Proven track record, proven reputation of delivering, capable of leadership inside a technical project. Has and maintains a reputation as someone you can trust.
Principal = Mentor to seniors.
Ofc there are shades of grey between junior and mid, because junior-ship takes like 2-3 years to grow out of.
The list of work able to be delegated to someone at the start is not all that large in many cases.
You won't need more than 2 engineers at the beginning for 99% of the startups.
Almost nobody is making anything technologically significant - and if they do they raise millions and act like a disorganised mid company.
In order to do your typical backend + frontend work you won't need much more, unless your developers can't code.
What are you talking about. IBM and other corporates defined the word outsourcing in the late 90s. I remember managing folks with 2 phds that were 1/2 if not less of my salary and I was fresh out of college. I watched as quality of folks went south over time as pay increased for them. My biggest frustration in the end was trying to train new person every 6 months because corporate wanted the same budget. They literally went from a 2 phd guy to barely out of coding shill within 2 year period. Market economies will sort this out.
That perspective makes it seem like US workers are paid too highly, which I do agree with. But the parent comments I'm replying to are speaking from a leadership perspective and seem just overjoyed to be exploiting workers for nearly nothing.
Edit: I reread my comment and I can see how I wasn't clear. I was actually replying to the parent of the comment I actually replied to, my mistake. I am glad the Thai wages increased, but GP was straight up flexing about paying people nearly nothing because they came from a poor country.
Plays some kind of role for sure but there are barely any local developer who work for a company abroad like it's common in Eastern Europe or other places (not counting foreign remote workers).
Oh, I could be wrong on the number. It's extremely low though, certainly in the teens.
As a person they're very opinionated about not working for a "product company." And have worked at the same company their entire tech career after bailing out of some traditional engineering discipline (I think 6 yoe?).
Sweetest person ever. Never really followed up that conversation when I asked them if they were considering remote.
Brazil is the beachhead in many ways. Huge market, easier to sort out all the employment stuff because it's a path that's much more well trodden.
If you still want to get an edge these days, you have to be prepared to go to the global platforms that give you access to devs in the really obscure places.
Nobody is hiring from Trinidad and Tobago because of the legal barrier to entry. But you can if you are clever with Upwork and similar.
If the code of the app is made by remote people in remote countries, how do you sell software to the US government? What do you answer to “What is the nationality of your developers?”?
These days the secret is you have to hire the good South Americans.
Exploit the fact corporate America hasn't caught on to routing contracts through Upwork et al. Then don't get greedy, keep the TCE delta below 20%, so they stay more than 9 months.
You can take your pick of the finest FOSS contributors Guinea and Paraguay have to offer.
--------------------------------------------------------
Startup engineering management is so simple.
Buy a copy of Mythical Man Month.
Read it, read it again. Then re-read chapter 3.
Get two of the best, your Captain and your Copilot.
Encourage them to hire a pimply faced minion to edit the config files so they feel important, and so you avoid single point of dependency.
These days, get someone else who lives in Estonia/Ukraine/Sri Lanka for follow the sun support.
If you need more than two engineers + 2 assistants, you should have hired smarter engineers.
-------------------------------------------------------
Your secret path to success with international hiring is to avoid any country you know the name of.
Don't think you're thinking out of the box hiring from Brazil/Israel. Hunt down a decent dev from Ghana or Georgia.
If my Slack/Discord buddies are anything to go by, there's an extraordinary amount of gems out there who've made the choice to raise their kids in their home countries.
There's good talent in Thailand as well. RIP my friend the Thai data/cloud principal eng banking 14k USD.