Exactly. IC career is not as sexy as HN makes it to be. People pursuing IC careers are doing it for personal reasons, definitely not for growth. Compared to management it takes an order of magnitude more time, influence and energy to get promoted in the IC ladder beyond staff.
I mean, I don’t know. What people like about IC careers is that it’s even an option for an ambitious, hardworking person to not have to spend their time in management. Staff engineers have a ton more responsibility and authority than an IC could ever get in, like, insurance claims adjusting.
Meta expects you to have managed at least 40 ppl before considering them for a M2 role. M2s made $800k+. Why wouldn’t a manager not be motivated to grow his empire? How else do you think managers will grow to VPs? We discuss ideals here but the reality on the ground is vastly different.
> Meta expects you to have managed at least 40 ppl before considering them for a M2 role
Not true. At least not as of late. M2 promos can lean on different things, e.g. delivered impact, over established people scope. But the person trying to promote you need to be able to do that well. Source: Have done M2 promotions at Meta.
Yeah. To become a D1 you need to be an M2 who successfully manages (ideally) more than one other M2, who themselves might manage M2s or M1s or a combo. So you get really large chains of people at the same level in a reporting line, all managing and trying to show that they should be D1s.
It's actually amazing to see empire builders in action. While some EMs are busy trying to keep their teams on track, others are rolling entire teams under them and growing their mandate
Depends on your definition of "direct," but it includes skip-levels. This is what some of the other comments were referring to with growing your team large enough you end up with managers reporting to you.
I've been an IC reporting to a manager, who himself reported to a manager (as opposed to director or senior manager), and while the second one was technically my skip it was more like I just had two direct supervisors.
Things are not as black and white as they seem. It's a spectrum - from people who detest mgmt to people who realize the value of it. You fall somewhere in the spectrum depending on your experience in the industry and depending on your experience with past/current managers. Unfortunately, at some point managers (M1, M2, VPs, etc) take undue advantage of things in an organization and dilute the true picture to an extent that all management seems worthless. Having been on both the IC and management side I can relate to and appreciate the importance of both roles. What Meta is doing is right, but be careful when speaking about management in general.
We're going to reach a point where we might say the same thing about large language models. Fine tuned LMs (based off of their large parents) are going to be the bread and butter.
There’s an industry wide fad (like ChatGPT) and then there’s a hacker news wide fad which is SQLite :-). Not sure how it all started. Last few months (or my be even an year) there has been an unprecedented number of SQLite posts. What gives?
I feel like it's just that it's one of the coolest pieces of software that every developer- web, backend, systems, or otherwise, has at least seen before. It runs in the browser, it runs on your phone, and unlike other databases (all of which are also very cool) it is completely within the domain of even a single inexperienced developer. It's just a little file on disk, just a library for accessing it, there's no magic! Especially if you're used to taking a database for granted it's just an extremely cool thing to think about.
The brilliance of SQLite is the brilliance of interfaces.
Value (in the abstract, not just $ sense) accrued around SQL.
At some point, so much value accrued that people were using it for things it wasn't designed to do.
SQLite provided a solution for "people who want to use a database, but don't look like traditional database operators." Turns out there's a lot of those.
That this large userbase existed was a brilliant observation, combined with brilliant execution in shepherding and evolving SQLite since.
And none of the above would've been possible if the SQL interface hadn't been standardized and adopted over the last few decades*.
I think most programmers would like to be remembered for having written some really cool, useful piece of software - ideally by themselves or with a small team of people, where they have creative control over the requirements and design.
SQLite (and it's founder, Richard Hipp) are an inspirational example of such success.
Not just useful piece of software, but useful piece of software that actually gets widely used. Better yet, the one that has staying power, so it's not just a brief stint in the limelight.
Which, of course, is very much the case with SQLite. It shows that a small team with a vision and an emphasis on quality can make a product that becomes pervasive in the industry for decades.
He doesn’t mean using it. He means posting about SQLite on HN. The story of SQLite, how it came to be developed, how it’s tested, how it really works under the hood, funky ways to use it on the server for storage (fly.io, Cloudflare do this). All of these have become more common in the last year.
It might be more than a year actually. I'm pretty sure it was trendy 1.5 years ago. Remember I read a really cool blog post around then where someone used range requests to query SQLite statically. It used WASM + SQLite and hyped hard here.
SQLite (like curl and libcurl) have been pervasive and awesome for a long time and you'd always find posts about both on HN since forever, because of their ubiquity.
SQLite has been appearing a lot more often on HN because of a different more recent fad: edge computing.
Google Trends [0] indicates that sqlite is about as popular as usual. There's been some recent growth in the last year, but that's after a bit of a dip. A regression of the time series would be fairly flat.
I suspect popularity here comes in waves through a Katamari Damacy effect. People start reading about a topic, and start posting, thus more people read, research, post, etc... until a saturation point, a cooling off period, and then a rebuild.
[0]: obviously not the same as whats happening on HN, I'd love to see someone pull these numbers from the HN API!
They were talking about it being a fad here on HN, in terms of submitted (and upvoted to FP) posts per week/month/year. It's always been a topic getting the incidental FP attention, but the number of times something relating to SQLite makes it to the front page here seems to have increased considerably in recent months.
I think as single computers get more and more power, and engineers work in these super slow, eventually consistent cloud infrastructures, there’s a visceral appeal of an architecture that can run on my laptop and also scale to a reasonable user base. The only limiting factor for most applications at this point that would prevent a single machine from serving them is having HA/DR. So a lot of effort is being made at the replication side of SQLite so it can be part of this new stack. I am seeing it emerge as a reaction to the crazy amount of microservices and distributed computing just to solve small problems that could fit on a machine. And the inability to work locally as well.
Last few months? I feel like SQLite has been popular on HN for at least the last 5 years (and the data seems to confirm this [1]). In which case, maybe it's not so much of a fad?
Just a theory: containerized backends gave developers much more freedom of choice to pick technologies that happen to work better with SQLite.
Go and Rust work great with SQLite because all the concurrency is mediated within a single application process.
During the PHP and Ruby years, SQLite did not work that well and still does not, because the different worker processes can't communicate and SQLite has an extremely poor-performing sleep loop around the write lock.
This gave it a low-performance reputation compared to MySQL and Postgres that it has struggled to shake off.
For me, it is always the best place to start when I need a DB for personal projects. The serverless nature makes it very easy to use. It is easy to fall in love with the convience it provides, because lets you focus on the fun parts of your project.
While I commend this effort I should say that seriously, just write C++ if possible. No matter what you do memory management is going to be your biggest enemy (I’m ignoring the aesthetic aspects like macros, function pointers, type safety, etc). Without RAII it’s just not worth it. Just choose the simpler portions of C++ and keep safe.
I never have trouble with memory management in C by sticking to "grouped element architectures" with explicit lifetimes such as arenas, scratch allocators, dynamic pools, etc. RAII is mostly for "single element architectures" which IMO are not a good way to organize code because they tend to amount to thousands of unnecessary memory operations.