76 karma · joined June 7, 2021
Your details about not being able to form a company are suspicious — why not? It’s really cheap and fast.
You could profile this lib and figure out where it’s spending most of its time and figure out if there any ways to improve (starts getting into implications of JS <-> system), but as you get more idiosyncratic you lose flexibility and ease of use.
Eg type checks, heap additions, recursion, etc can get “slow”
2. Shave off the most extreme outliers at the top
3. Give this group a catchy name and attribute values to them
4. Make enough money off of pop-sociology to be included in this group
5. Repeat with n=n/2
Interview 1000 people uniformly sampled from the population of software engineers and get back to me if you disagree.
As for luck, of course there’s some risk component there, otherwise the ROI wouldn’t be higher, but it’s not a dice roll unless you let it be.
I’m biased. I was part of lackluster exits, failed startups, and dead-end startups that will forever raise more money. I learned a lot of valuable lessons the hard way on how to evaluate companies, and have since been able to pick winners when I look to change jobs. The other thing that goes unmentioned is once you “win” once, your risk tolerance might change, or your patience to wait for the exact right next opportunity may increase significantly.
I think you can ask yourself if you’d invest 500k in this company (or whatever assets you have up to that), and if you value your time more than your money, that should tell you something.
“Start-up” is a bit of a disingenuous term when using to compare with FAANG, because one refers to a class of high performing public tech companies, and the other is a catch all for small businesses.
I know chronically broke start up folks, faang millionaires, and a group of people who seem to to know how to play the startup game and are extremely wealthy, so YMMV.
I presume it’s a lot easier to appreciate the working conditions and compensation package, as well as tolerate the political dramas, when you have some perspective on how life is for most other people.
The job of ‘programmer’ takes on many shapes and sizes. Businesses evolve and are different from one another.
You may be very successful in some clusters of business, but how representative is this, let alone your unique experience, to the rest of the industry?
If you’ve never worked with anyone with “real” software training, why would I hire you into a senior position when there are plenty of candidates who have?
I’ve worked at companies back in the day where experienced non traditional programmers have both kick started and ruined businesses within the same job. You may be successful enough to grow a business, but that’s different from scaling or pivoting one.
If you can’t grok a homework program from the first week of a data structures course, why should I trust you to self learn more advanced topics? Why would I spend a ton of time evaluating massive GitHub contributions vs. just watching you code a problem your team would work on for 1 hour?
I have to pay smug kids 100s of g’s because the labor market is so fucked, and there’s no way I’d either trust them to evaluate candidates via code review, nor would I spend their time on that vs. building and learning.
I’d love to not pay children small fortunes, but most very experienced journeymen I’ve interviewed over the years can’t string together dynamic api calls or tell me how things scale, and I get to hire for experience first every time.
If you were able to self teach, then the kid that just spent 4 years snorting adderall and interning and google sure as hell has a chance to, too, and he’s willing to solve my dumb riddles.
The other thing you won’t read: firing people for most managers is awful. A manager only takes so many risks before they learn how to mitigate having to experience this horrible experience. I’d rather reject you than fire you.
Edit: I was one of the impressionable young readers once upon a time, and I set myself back quite a bit taking advice from strangers on the internet. Genius programmers on GitHub don’t sign your paychecks.
Why not reach out to them directly and ask them?
Admonishing a company for - based on legal notice alone - not using some particular technical approach is unreasonable because it doesn’t consider the practical implications of doing so (systems complexity, data transfer, how good is the downstream software and what sort of preprocessing happens, tech debt and time to market, etc.)
At the end of the day, maybe they are generating training data sets, and if so, don’t use it if that bothers you. If there was evidence of them selling data, that would be something to sound the alarm over, but if it’s just some text a lawyer or ops person wrote, that’s a lot of extrapolation.
The more specialized or niche certain project areas are, the less likely anyone will ever be reading it directly as a programmer (and those that need to, are often able to disentangle the obscurity). The compromise is a clean interface to otherwise isolated or pure functions.
Often times, this is unfortunately poorly executed or inappropriately assumed. Usually the people who should write clever code are the ones who have experience writing clever code, but almost certainly anyone starting to write clever code is writing terrible code.
Inexperienced folks often write clever code to solve a business need at that time. They create tremendous tech and culture debt. It’s easy to not understand when you’re an IC or line manager, though, that the business could have been severely affected otherwise. I’ll take millions in tech debt opportunity cost and the future morale hit over a failed startup/vertical any day.
Just my 2c in high performance or hardware constrained projects both as an IC, and as various levels of management who’s both inherited mountains of “clever” shit and and built my own directly or indirectly.