Who is going to build the next generation of tech, if everyone is sitting at cushy remote jobs building ad-tech?
Who is going to build the next generation of tech, if everyone is sitting at cushy remote jobs building ad-tech?
You are making the mistake in assuming that the FAANG interview process is not based on a tradeoff: they rather send away many competent people than hire incompetent ones. Due to this, many people with deep technical expertise don't get into FAANG. Think of neuro divergent people. Someone like RMS would not ever pass the cultural fit interview. Think of people who know how to code well in the problem domain but can't do so on a whiteboard. Think of people who have the expertise but lack a degree. Yes, examples exist where such people made it into FAANG, but this doesn't mean that it's really possible for someone like them to make it into FAANG.
Yes, many famous OSS people would be hired by FAANG in a heartbeat. But this isn't neccessarily the case for most folks in OSS.
Also don't forget that you make 30k per month when in the USA. Quite many senior developers with "FAANG talents" work in lower dev income countries on proprietary software and for some reason don't relocate to the US. Often, a lot of OSS contributions come from them. Godot for example was founded by someone living in Buenos Aires.
If you want to build innovative things or contribute to society, the best strategy right now seems to be dividing your time between (1) making a lot of money and (2) making no money.
That's what I've been doing for a few years, doing about 6 months freelancing followed by a year of personal projects. If I were to go back in time it may have made more sense to spend 3-4 years at a FAANG then 10 years independent, but I also worry it may have changed my perspective.
But here's what might happen when the good will and good faith of free labour that supports the machine is pushed too far. A little fictional retelling of "The Golden Goose" for our time [1]
[1] http://techrights.org/2022/01/21/peak-code-before-the-wars/
by this point the issue is maintaining boring old stuff everybody depends on
maybe that's what happens to most (google for example), from being a cool new research program in search and document analysis to just another company trying to make money to keep up
Edit: the worst of it was that because I stopped caring about office politics, I ruthlessly called out process problems, and accumulated ridiculous amounts of responsibility far beyond my job description. I hope everything went OK after I stopped showing up.
Buy a big house. Ok then what? Sit on my couch in my big house? What about the 2nd hour?
Sure I'd travel and consume amusements like ziplining in the jungle or something and seeing plays and concerts.
Ok but then what?
What I would do is buy a big workshop and fill it with all kinds of tools in all kinds of different disciplines, from woodworking to 3d printing to welding to machining to chemistry to glassworking to software to electronics... (ok I lack imagination because in fact my garage, basement, guest room, and a rented 10x20 self storage unit are already stuffed to the gills with those exact things, plus guitars and aquarium stuff and cycling stuf...) and not just to look at them but to play with them.
That IS my maitai on the beach.
The beach is very enjoyable, and I do enjoy it, but it is not interesting.
The users who get my stuff for free don't matter at all. I owe them nothing. If I care about a project or a project's reception or usefulness or quality, then I care about it. The users don't extract unwilling care out of me, I have to already care on my own, which means adressing bugs or features is just more of the same work I WANTED to do just like the developing in the first place.
It's totally backwards to think of the users as some kind of burden you hate.
I mean, let's say you do hate that burden: ok then just don't release any of the stuff you built. But then what was the point in that? Yes you can't help building stuff and it was engaging and interesting to build, and you chose to do it when you had the choice to do anything you wanted... but still, part of what makes something worth doing is that it's at least theoretically not totally pointless. Even if in reality your github gains no real audience, it's good enough that it's at least published and out there and could possibly be found interesting or useful by someone else sometime. The mere possibility is enough. But to me unreleased code is a dead end. It's maybe good for exercise but what good is the exercise if not to eventually use the strength for something somewhere that is something other than exercise?
So you build and publish and so what if some users whinge?
If you are spending your time at work exactly the same way you would spend your freetime then yeah, it doesn't make any sense.
Many of the jobs that pay well don't make you do things that are fun though, but more things the business needs in order to make more profit. Since it is like that for most software developers, I think that's the perspective that akvadrako has as well.
With that perspective, then it makes sense to work (on unfun work) for X amount of years in order to afford spending Y amount of years on actually fun work.
History shows that programmers tend to build more useful and groundbreaking work when there is no deadlines and it's for their own fun as well.
Martinis on a beach and hobby coding are also compatible.
I think this is a function of user base size, not so much profit or company size.
I am figting for the bad guys in my work time and for the good guys in my frer time?
Just off the top of my head, there are multiple unsolvable problems with the market. There are principal-agent problems between ad brokers and both buyers and sellers [0],[1] and attribution is nearly impossible [2] - which leads to increasingly invasive surveillance tools being deployed. Then there's the issue of asymmetric information: most consumers have no idea what information is being collected about them, or even by whom. Just outside the market, there is also the "clicks and attention == revenue" externality that is extremely costly to society. Every single ad tech company is either exploiting these problems in the market to generate outsized profits, or selling increasingly invasive surveillance technology to try to "solve" them.
The problem isn't any individual bad actor's behavior - it's the entire structure of the digital advertising market. There is no solution, because even assuming everyone is acting in good faith and in their best interests you'll see the exact same devolution to "What if we just find ways watch everything everyone does and track everything they do on and off their computers all the time? That's both profitable and clears up a lot of the market failures. Let's do that!"
[0] https://www.warren.senate.gov/imo/media/doc/Letter%20to%20CF... (PDF)
[1] https://checkmyads.org/branded/
[2] https://instapage.com/blog/personalized-advertising-and-attr...
Some of these points seem to apply to traditional advertising as well, although arguably traditional advertising isn't great either. Attribution is an eternal ad industry problem. Principal-agent issues exist too, but might be worse now, with the layers of tech abstraction that only the "agents" understand and manipulate. OTOH attribution is easy for agents to manipulate even in low-tech contexts.
The relentless digital surveillance is new, and yeah, pretty awful, and hopefully we see it getting shut down by moves in consumer tech, e.g. that privacy thing Apple did that pissed FB off (I don't recall exactly what it was).
I think the basic idea behind Google AdWords is pretty neat, although now they're trying to extract maximum value by clogging pages with ads and reducing the distinction between ads and organic search results.
If we were just talking about paid distribution of memes to get people to drink beer and take vacations, I would have less of a concern.
Unless you're advocating for getting hired in adtech and then sabotaging their projects from within while collecting a salary, but I don't think that's ethical, legal, or what you're describing...
Wut? ...You're ...gonna need to defend that assertion. Just because BigCo's tooling is fit for BigCo's purpose does not mean they set out to harm smaller devs.
I'm putting this on a poster and hanging it on my wall. Thank you.
I'm not a fan of React and use svelte. But I think k8s is way better than non-k8s, so I use it for client work.
health care is more expensive for my family than my property taxes + mortgage
So software developers just have to:
- Have the time and patience to spend weeks to months practicing coding quizzes unrelated to their actual software engineering work...
- Pass HR teams arbitrary filter definitions of what is a good university.
- Pass the filters of random interviewers definition of cultural fit.
- Hope the experience and knowledge of these developers, intersects with the knowledge of the developers driving the interviews on the days of their onsite.
- Be able to put up with recruiters processes.
So as to eventually be hired into a bubble representing 0.2% of that software set of 25 million, and get most of their compensation in flimsy stock options.
Is that really easier or even a more interesting option, just to then spend your days maintaining the latest deluded take of somebody else JavaScript framework? :-)
As of 2016 they stopped reporting their split of employees. Something that is actually a decrease in material quality of reporting that Wall Street analysts don't seem to have complained about...
Their last 10k to have those numbers said:
"December 31, 2016, we had 72,053 full-time employees: 27,169 in research and development, 20,902 in sales and marketing, 14,287 in operations, and 9,695 in general and administrative functions."
Alphabet had in the meanwhile 200 acquisitions and their total current number of employees is 156,500 employees ( As of end 2021). Taking the very, very, optimistic view that the number of R&D employees augmented in the same exact proportion and that 1 in 2 R&D employees is doing software development we get a number in the 25,000 to 30,000 SWE's
Netflix has only 11,300 employee and it seems most are content development so lets says 2000 SWE's
Apple has a little bit less employees than Alphabet ( 154,000) and I dont believe in more SWE per employee than Google so let's say another 25,000.
Facebook had 71,970 full-time employees as of December 2021 so I am going to say 10,000 SWE...
For Amazon get's difficult as you need to split with AWS plus you cannot the number of 500,000 employees at Amazon for nothing. Let's say they have 25,000 SWE what looks like a massive number both for AWS and Amazon.
So I am probably in a range of 50,000 to 100,000. Would still mean we are talking about working on small set of 0,2 to 0.4 % of the worldwide professional software developers and I guess the core point still stands:-)
In general, looking at the companies you cite, I would estimate that roughly 40-50% of the employees are SWEs, with some variability based on industry. It’s a lot more people than you think.
It’s a shame the situation cannot be fixed. It happens to some degree at other companies as well and prevents amazing people from being hired.
"When A Hiring Committee at Google Fails To Hire Themselves at Google"
https://www.linkedin.com/pulse/hiring-committee-google-fails...
Are there are any other companies like RedHat successfully thriving off just paid support? If so which ones? If not why not?
But I'm not really counting cURL because that's just one person right? The challenges faced by essentially a 1-person freelancer are quite different than a larger company. Or is cURL now a whole company at this point? EDIT: I see you mean this as a separate category of just "projects."
Never seen a real use case for it outside of the ERP arena, and RHEL / CentOS can do everything else.
Ubuntu / Canonical is trying but heard the company is kind of a mess.
Quansight is a fascinating example! Are you allowed to share roughly what ratio of revenue comes from the support side and what ratio comes from the venture fund?
Oh nothing wrong. I'm just on a fact-finding mission on seeing whether any other companies have successfully followed the consulting/support contract model vs paid hosting or open core (because this has rather significant repercussions on what kind of products lend themselves well to a given business model, e.g. a desktop app is not going to work well for paid hosting).
>EnterpriseDB mainly makes it money from paid hosting
Not sure if that's true.
Yeah but RedHat's (and I guess SUSE?) miracle is that they were still very profitable before Openshift.
> Not sure if that's true.
Well hopefully someone from EnterpriseDB can chime in!
It feels like we have the cart before the horse, we start by deciding we want to do open source then try and squeeze the business model into it. We would be better starting with the business and customers then deciding whether open source helps or hinders.
Because proxmox makes phenomenal products.
I mean, they got a nice chunk of change, but there's no guarantee that any of their original culture will still be in place 10 years from now.
I think you underestimate the incentive of free (beer) stuffs.
Open Source doesn't imply anything on the code. It assumes to benefit from a wide range of people (and outsiders views). Open Source projects, which would reject PRs on improving the build process will suffer contributions in the long run, risking their acceptance in the community. It should aid itself. At least this is the philosophy I proclaim myself :)
No, but if we imagine the incentive taken to the extreme, where you have an arcane build process that makes it essentially impossible for any person who's not on the original team to build the software, then the software devolves to effectively just a source-available project, since the users have no way of actually building their own versions, which also precludes being able to make any modifications even on their own forks.
I guess the major difference vs truly only source-available is that you can still copy and paste chunks of code to use in other projects?
1. Kubernetes
2. git-annex
3. The new generation of replacements for various core command tools (e.g. ripgrep, fd, etc.)
EDIT:
> several weeks of time
Out of curiosity, what projects were those that took several weeks? My presumption is probably very GUI heavy ones?
Debezium is also very Byzantine, or maybe it’s just that I don’t understand maven.
./configure [options]
make
make install
...or the closest equivalent (e.g. some use meson or cmake).But to your point, there are a lot of projects for which those steps work just fine.
For example many early 2000s games that used SDL 1.x can be made to work on modern Linux simply by removing the SDL so file they were bundled with and let them use the one the system provides (most common issue would be audio but also mode setting or full screen support).
This isn't a thing only on Linux btw, SDL games that have an old DLL can also have issues on Windows (in fact a game of mine was like that :-P) but be made to work by simply replacing the DLL with a newer one.
apt build-dep hello
dpkg-buildpackage ...
https://wiki.debian.org/BuildingTutorial#Building_the_source...
https://ostechnix.com/how-to-build-debian-packages-from-sour...
https://buildd.debian.org/stats/
...all hail distribution package maintainers!
There's a little more to it (deb-src into /etc/apt/sources.list), but it's super-instructive to do it on something like 'busybox' and be able to make legitimate changes to something like 'ls' ... or do it to 'coreutils' and make modifications to the "real ls".
Although the "speed-bump" to being able to build packages for the first time is a bit rough, the benefit is that the documentation is outstanding and the process is pretty seamless for most/all packages, regardless of complexity.
The docs and tools are written by engineers and maintainers for people just like you... an independent consumer/programmer, sitting at their computer, trying to (re-) build a package to add a feature or fix a bug.
The other benefit is that the process is relatively consistent across literally thousands of packages and there's a lot of docs + tools +features to handle almost any scenario that Debian (Ubuntu) supports. If you learn it for one use case, your investment pays dividends across all other packaged software.
git clone && npm run build is not worth $20 to most people.
This simultaneously shows the weakness of the open-source development model - a non-monetizable passion project can rarely match the quality of something with full-time devs behind it, and probably isn't something that the Aseprite dev(s) are happy about - it sucks to compete against your own product sold for $0.
I’d say they’re charging too little.
Aside from the friction-less remote access they also provide friction-less Google/Alexa integration.
It's documented how to set this up yourself if you don't wanna pay them to manage it for you too.
That right there is the best way to go. Everything in the open, everything can be self-hosted, but you can pay for the convenience of someone else doing it.
They don't allow commercial applications on their app store. I'd publish there in a heartbeat, if they did.
They are also in the position they (barely) function at a very low cost. They don't need a lot of cash flow to make a huge difference.
If someone has a way in with them, please please mention this. I'd hate for ElementaryOS to die, I really like it and have followed it from the beginning.
It's the only Linux which strikes the balance between being "normal" and caring about simplicity, consistency and ease of use.
I also use elementary daily and I cannot publish my own app in their store
The weird bit is that it must be hosted on Github.
https://docs.elementary.io/develop/appcenter/publishing-requ...
It would be more interesting if there was more flexibility in the monetization. Options for a minimum price + pay more per seat (for integration with some corporate provisioning software), subscription pricing, one time price + either support subscription or support "piecework" (like bug bounties or developer consultation), and invoicing integration.
Which I kinda agree with, as they want to promote open-source apps first, but I'd also be okay with an option to display commercial apps to purchase or install with a disclaimer that these are not open-source apps.
It'd be nice to have the ability to install Spotify, Discord, and some other popular apps and have them automatically kept up-to-date directly from the App Store. And that wouldn't negate the ability to sideload or use a third-party repo.
Funding is very good these days for OSS startups, especially related to kubernetes and cloud.
That said, I wouldn't recommend that anyone become a founder for the cash. It's just not worth the stress.
The thrill of inventing something, finding product market fit, building a team and product from zero, working on the GTM... Worth everything I own and more. Would pay to do it.
If you can afford to work for free or even paying for the privilege to work, than this is very good for you, but not helpful for anyone who needs to make a living first.
But thanks for providing a counter example, that there is indeed money in OSS.
Congratulations for tomorrow and all the best!
but I'm just paranoid
Like yeah, bringing in a lawyer can signal there's about to be a nasty fight, or if they're drastically unequal parties it's often a power move by the bigger guy.
But if (as claimed) it's for something like drafting a contract to formalize a deal that's already been negotiated to near-completion, it's a no-brainer to have one. That's a few billable hours for peace of mind that the transaction was handled thoroughly and correctly.
I was saying "lawyers involved" is not a meaningful demarcation point about costs. How the two partners choose to use those lawyers is.
For example, again, involving a lawyer to draft paperwork to memorialize a contract you're already in alignment on is perfectly normal and a relatively light cost of doing business.
But choosing to vindictively run up each-other's billed hours is the opposite.
I'm sorry that my previous post wasn't clear that I was communicating the possibility space.
That possibility space is important because in these kind of transactions, no matter how amicable or nasty, a lawyer is going to be involved to some extent. Therefore it's meaningless to talk about whether or not "lawyers involved."
Most is done by large companies with monopolies, since they are the ones that can afford it. React is a good example. Linux/RedHat another. And it makes it easy to rely on them - you know React will be maintained. You know ELK stack will be around 5 years from now.
You need a large margin to be able to give back to the community in this way, sustainably, for a long period of time.
Unfortunately the open source activism movement got political at one point, and lost its charm to a large degree. I am not going to go into the question if that was right/wrong.
The company is in one of those situations where it is likely to either fail in the near future or get much more valuable. Like Ford in 2008 at $2, or AMD under $2 prior to their Zen architecture. Arguments about why someone cares so much about so little are equally valid on either side and are not terribly useful.
Nice thing about OSS is that Elementary OS license is GNU GPL3.0 which means that project can live on if there's interest in it.
Also, don't discount the innovation happening at FAANG companies. They do a ton of heavy lifting on boring-but-important problems!
I'm not a 'pure tech guy', but I know enough to do project management and challenge devs of tech choices given a business objective.
I work at a startup for 50% of my normal wage. If the project fail, I simply go back to BigBankInc, work there 1 year or 2, and start again. Easy!
Of course my personal budget and lifestyle are very minimalist, I basically sacrificed my hobbies for my busines project. However I am totally happy with this decision, it improved my mental health a lot. I attribute this kind of 'needs arbitrage' as an outcome of my meditation practice.
Do note however that I do not have a family (yet)...
It’s tough for startups too but for different reasons. Startups doing interesting work can recruit top talent but they usually have to offer a good equity package too. Equity is tough since the supply is so limited in a growth company.
If your startup is doing something that is boring as hell or worse adtech, the only option is to have a high margin business or a lot of VC to try to compete with the FAANGs on raw salary.
J. Peterson had a very very good talk about holding your ground and why some people fail at it.