813 karma · joined March 18, 2019
*Build what you want to use.*
You'll have significantly more reason to keep going with the project you can show off later if it personally matters to you, relative to focusing on just a tutorial or a curriculum. Whatever that is will give you demonstrable project management experience, total freedom on what the scope of that looks like for as long as its primary user is you, and excuses to dig into a bunch of new subject matter and tools that aren't beyond just what you're currently being instructed to do.
The overall development of your skillset when you do have a job will actually depend a lot on your ability to find other excuses to tinker on new tools, languages, etc that you don't get to do so with at work.
If you extend this to fixing things that you personally find annoying, you can also end up with valuable open source contributions.
*Know your rights.*
You don't have to tolerate everything you encounter in the workplace, just to have a job. Whether that's bigotry, or wage theft, or workplace cultures that tell you that you shouldn't talk about those things. Businesses frown on you doing it, obviously, but the reason that culture is able to persist is in part because we all collectively allow it.
It's trendy for bosses to trash on Gen Z for what they view as a lack of professionalism, much like how there are written examples of "kids these days" going back to the times of ancient philosophers... but it's important to recognize that "nobody wants to work anymore" also has written examples dating back centuries, and that the onslaught of articles about how Gen Z is unemployable are contemporary with tech company leaders encouraging young people to work for free.[1] You're not uniquely terrible, this kind of talk isn't new, and there will always be someone telling you that you're being unreasonable by having basic standards -- whether it's about 996ing, or adherence to pay transparency laws, or relocating to a place that can lay you off in 3 months, or one-way video submissions, or... Anyway. It really isn't just your "attitude," and you are in fact being gaslit. Not every hoop you're being asked to jump through is about "bar-raising," and while Canonical for example is famous for making jokes about how you can go somewhere with lower standards, and linking to the US government, it's also genuinely insane to ask "what would your high school classmates say about you?" as a question on a job application.
On that note, whatever your opinion of cops, regulatory bodies exist to help you. Their jobs are to address abusive and harmful behavior by businesses. Your experiences with them may vary, but employers aren't exempt from rules just because they might regularly act like it.
And even if you don't choose to take the step of going to them, knowing what you should and shouldn't have to put up with is also a filter for the kinds of places where you do and don't want to spend your career, the kinds of people you do and don't want to spend it working with, and the kind of colleague you ought to be to those around you.
It also means nagging your public officials to pass measures that would improve your conditions. (Ideally together, alongside the kinds of colleagues that you do want to spend your career working with.)
Their job is to represent your interests and help you with your problems. You don't have to listen to those officials call that the "complainer class"; those are people you can, and should, replace.
Low-hanging example impacting your generation: the fact that businesses hold you all up as examples for why we shouldn't do anything about the minimum wage -- and that they're allowed to say, out loud, that they should be able to pay you less because you're younger, and pay everyone else less for the entry-level jobs you all would have right now -- is only possible because our age discrimination laws don't cover anyone under 40. (I'm assuming US here.) That makes it worse for everyone else in a lot of other ways too -- for instance, the hustle culture we push on people in their 20s disproportionately harms anyone with additional healthcare or caregiving needs (whether you're older, or you have a disability, or you have kids, or you're caretaking for any of the above...)
A functioning minimum wage is actually a hedge against abusive bosses everywhere, regardless of whether you have a "good" job. So are accessible healthcare and housing. So are unions.
*Find good colleagues*
See above.
More broadly, find people that you can trust with your professional issues -- whether the problems are about your workplace, or whether they're about the tools you're working with.
Internet research is useful, but you should also have some actual personal connection. Your coworkers aren't your friends, but some of them could be, and at a bare minimum you should care about functioning work environments for each other so that you're not the only one caring about them for yourself.
This does not explicitly mean "spend time in an office." Onsites are valuable, but "culture" is how you treat your staff, and you don't have to be around each other all the time to do that.
It does mean you should hang out (physically and otherwise) in spaces that are related to your work but not actually your workplace. At least occasionally, you should meet people that do what you do (or something adjacent to it), including but not limited to the people you directly work with, in spaces your employer doesn't run.
Community isn't something your workplace should own, and will also regularly surface tools that you haven't encountered before.
Several of my favorite colleagues are Internet friends, and several of my favorite tools are finds from HN and places like it.
*Talk to startups*
If you can get in at a small enough company, you can get your hands in a lot of subject matter outside of what you're formally trained in. If you find something genuinely mission-aligned, or a place that values work-life balance more so than a corporate job, or something else that makes it better for you than just a job, it can also be a great way of finding good colleagues.
*Freelance*
You don't actually have to wait to start doing useful work that makes you money. Your probably already have enough of a skillset to fix things for the people around you. This is the same as with side projects -- a useful way to get experience with stuff that's outside the scope of your primary work.
For a personal example, my first open source contribution actually happened in the course of solving a data recovery problem for one of my friends.
*Technology work != technology company*
You can solve tech problems for people in other settings. Lots of small businesses don't have internal staff who thoroughly understand how their systems work, and rely entirely on their vendors for support. Or they're overloaded with manual tasks that you can automate. Or they don't know how to get actionable data that gives the business or its leadership a sense of direction.
You don't have to work for a big tech company in order to have a tech career. You don't even strictly have to use them for everything.
*Do not depend on cloud services*
Using them is fine, and they can be immensely helpful when you need backups, but your whole workflow should not depend on a tool that can rug pull you at any time. It's important to store as much of your work as possible in an open format that isn't dependent on any one client. I particularly encourage you to use Markdown wherever you can.
You especially should not depend entirely on cloud services for your password manager -- use something open source, that you have the option to self-host if things ever go sideways. Go read some of the stories of what happens if your whole Google account gets banned; they're mundane nightmares.
[1] https://fortune.com/2024/07/20/squarespaces-cmo-cold-called-...
> They did this quietly in the background and most people didn't notice but in doing so they released new system/OS level services and started relying on those. And notably they did this rollout staggered such that only some people got it and some didn't which made everything way more confusing.
> From this point on now that RCS is more or less all "standard" stuff now you shouldn't see any major breakages. The only situation where you might see one would be when android inevitably opens up RCS outside of the google services walled garden but even then you should be able to continue relying on the google services version until the non-google version is stable.
Is there anywhere public that there are writeups or roadmaps about this? I'm particularly curious about whether there will ever be an API for third-party clients.
What's left in terms of meaningful technical barriers, that would prevent this all from being baked into Android instead of requiring Play Services?
Codeberg's git hosting is a Forgejo instance, actually.
To extend the previous analogy: Valve didn't make desktop Linux viable on their own. A lot of it is owed to another self-interested actor -- Google -- through the reduced need for dedicated desktop apps (largely pushed by Chrome), and various enhancements to wireless and power management that were necessary to make it a viable mobile platform (directly benefiting Android/ChromeOS, but then spreading out to laptops and mobile devices in general, including handhelds like the Steam Deck).
You can see it on a smaller scale in ecosystems like Android -- where handset makers regularly contribute features from their UI skins upstream, so that they no longer need to spend engineering resources maintaining distinct versions of theming engines/notification badges/multiwindow/various other stuff.
On a related note this is an argument for open source models, not just open weights. I think a lot of the diminishing returns relate to the opaque nature of most models.
Valve and SteamOS are a good example of what this idea looks like in practice. (Though they may also illustrate a third thing you need: a privately-run company, that has enough profit, and enough commitment from leadership to the company's vision, that they can make long-term bets without having to eventually bow to investors seeking short-term gains.)
Movies, on digital marketplaces, have had this kind of distinction for a lot longer than games have.
I also think of Essential and Poco when this kind of thing comes up.
> We’ve taken inspiration from other open-source projects that have taken a similar approach, including Wikimedia, Red Hat, Rust, Python Foundation, Apache, Mozilla, Linux, and Debian.
That one is, apparently, now owned by whoever also owns the zombie brand of LimeWire.
(I also find this important for gamepads, to the extent that I don't just opt to play wired.)
I know what you're saying, but to be a little pedantic about it it's actually only USB 3.
(I wish there were mobile devices supporting USB4; it would bring them significantly closer to feature parity with larger devices.)
We could have had a USB Type-M. (Or, alternatively, Type-F -- for "magnets, how do they work?")
But what I'm more getting at is the other way around: that wireless headphones will already have USB-C for charging anyway. And that, particularly for larger ones (that have that port directly on the device, and not in a separate charging cradle), it really seems like a waste that more of them don't leverage that -- so that, again, you could use the headphones while you charge them.
- You lose me at "toothbrush." I don't want personal care items that have internal batteries at all, because they'll eventually die on me while the device itself (brush heads notwithstanding) is otherwise perfectly functional. I'd much rather keep rechargeable AA(A)s on hand for that kind of stuff. (I still haven't found a good electric razor for this purpose, though, and have actually just gone back to manual for the foreseeable future.)
- I don't think I could live off just one charging port, but would rather just ditch USB-A entirely.
- I'm using wired earbuds, with a standard headphone jack, but with the number of full-sized cans that are using USB-C in some way it baffles me that there aren't more or them (or any, that I've been able to find) that also support using it for audio input, so you you can play them while charging.
When the dumb display can also extend any other device you feel like, how is it more useful to have a dedicated set of frames with a dedicated operating system that you now have to care about?
But if we assume that it wasn't designed maliciously, we can look at this through another lens: FICO already existed at the time, so banks in particular would simply have no reason to bother calling around to all of your former creditors in the first place.
They would also probably need a third party agency just to find your former creditors.
Because the Fair Credit Reporting Act governs background checks. It isn't limited to money, or to scoring -- it covers any third party that reports data about you, for the sake of determining if you're eligible for anything from a loan to an apartment to a job. The language of it is broad enough that it doesn't just cover your spending and payment habits, but extends to your general habits, criminal history, personal character, and "mode of living."
I'm saying the behavior normalized by recruiters is a giant loophole in the Fair Credit Reporting Act.
Because when they proactively reach out to random individuals you worked with, to ask you for your views on them as a reference, without your consent, that is an exploit. It is a workaround. It is skirting the actual intentions of the thing, because its scope is limited to "agencies" -- which, no matter how broad that term might be, still ultimately means third party data collectors.
If something your boss said about you came up on a background check, you would have a right to know about it. But if someone on a hiring team goes behind your back to that same boss, for those same comments, that is widely accepted as fine and normal.
That's the part that's a real problem.
Eightfold AI is getting sued right now for acting as a credit reporting agency -- not just by scoring people, but by gathering data on them in the first place for the sake of reporting to employers.
If you ask a third party business to do run a background check, there are a bunch of responsibilities that triggers -- a right to view what's in the report, a right to know if it's being used against you, a right to dispute what's in it, and even to consent to it being pulled in the first place.
But if some recruiter or hiring manager goes directly to your former or current boss, behind your back, this is somehow not even taken seriously as a problem.
The incentive also exists, for the kinds of employers who would post ghost jobs, to also force in-person work again. You don't have to pay these fines to multiple states on one ghost job if the job is only available in one location.
With any job, it would be one thing if it were at the applicant stage, and I hadn't talked to a person at any point. But with this one, there was an offer in front of me and there was no one at all who had both the capacity and the willingness to explain what had just happened.
If I started the job and they pulled this on day three, they would have to give a reason to an unemployment office.
I don't care how little inclination businesses have to tell the truth. Make them commit to the lie, in writing, somewhere that it actually costs something.
But not all managers think that your learning sources are valid, and care more that you spend time on their learning paths. Even if it's your off time.
(Yes, there is a story attached to this haha... and more importantly, several different writeups[1][2][3] on how random internet wanderings have been more beneficial to my overall technological capability than people who insist on the importance of a CS background when building dashboards and client UIs. In practice, thanks to a dev box with insufficient RAM, and your typical tabbed-browsing problem, I used `pkill` over `ssh` -- something I picked up from toying with Over the Wire levels in my off time -- a lot more often than I used linked lists at that job.)
[1] bhmt.dev/blog/scraping
[2] bhmt.dev/blog/ctf
[3] bhmt.dev/blog/feeds