Like what you see? Subscribe here and get it every week in your inbox!
Issue #162 - April 17, 2022
Here are the top threads of the week, happy reading!
1. Ask HN: Have you created programs for only your personal use?
Top comment by LeoPanthera
Hundreds! Doesn't everyone? Most of them are just bash scripts, many of which have now reached a complexity so high that I wish I'd started writing them in a different language but it's too late now. The majority of the rest are Python.
Off the top of my head, the most used ones are:
* A replacement front-end for "tar" and various compressors
* A script to synchronize my music library to a compressed version for playing in my car
* A secure-but-readable password generator
* A system to batch compress folders full of video files. (For ripped blu-ray discs, mostly.)
* A replacement front-end for "ffmpeg", see above
* A "sanity check" program for my internet connection to see if the problem is me, or Comcast
* A front-end for "rm" that shows a progress bar when deleting thousands of files. (Deletes on ZFS are unusually slow.)
And lots more tiny things.
2. Ask HN: When did tech stop being cool?
Top comment by gilbetron
It's an age thing - the dreams you had when you were younger didn't turn into reality - dreams usually don't. Or at least, not as you expect it.
Tech is still really cool, compared to decades ago. But we have so much of it and it is everywhere, that we re-calibrate and think that all this amazing, cool tech is boring. You can get a 3D printer for a few hundred bucks, build it yourself, build a better 3d printer, get some awesome tech for a hundred bucks or so, and then build a really cool robot. It's the tinkerer's dream right now. But because it is everywhere, we think it is boring.
It isn't! I'm Gen X and, if you let yourself, you can get re-engaged. We're the ultimate generation of apathy, so if I can do it, you can do it ;) Make sure some lifestyle choice isn't messing with your curiosity and excitement, though. Bad sleep, missing exercise, doom scrolling, too much booze or other recreational drugs, all that can suck the joy out of life and tech.
In the early 2000s, right after the Dot Com Bubble burst, I had a tech friend tell me, "I think all the great stuff has been invented, it's all boring now." That was in the web 1.0 days, before the web as we know it now existed. Before rockets that land on their end, before smartphones, before Deep Learning, before all this amazing stuff that exists now.
Oh, and you've just gone through a couple of churns of software ecosystem, it can seem same-y, but it is actually great in the long run. New situations mean old ideas that were discarded can become valuable, which can be odd. The complexity sucks, but ... shrug.
3. Ask HN: Where can I see many examples of real companies' software architecture?
Top comment by alhirzel
You can get a good view on some architectures from AOSA, thought it may not be as focused on web as you're looking for:
http://aosabook.org/en/index.html
A good example is Scalable Web Architecture and Distributed Systems by Kate Matsudaira:
http://aosabook.org/en/distsys.html
4. Ask HN: What Happened to Evernote?
Top comment by DangerousPie
Maybe this is just me getting old, but I feel like Evernote has only gotten worse since I started using it over 10 years ago. Back then it was just a list of notes with some formatting and sync capabilities - perfect.
These days they have added all these extra features which I don't need, and which have made the whole app slow and terribly clunky. When I use the iPad app it takes several seconds to load notes or search, and the UI keeps jumping around if it hasn't loaded completely yet. Terrible experience.
The icing on the cake is that they changed the welcome page of the app to no longer show the list of notes - and if you want to edit the page to get that list back, you have to sign up to their premium subscription! And I'm already paying too, just not for the right level of subscription apparently.
I have been meaning to find an alternative for months now, so if anyone has any suggestions please do let me know! The most important features to me are note syncing across iOS/Mac/Windows and the ability to import my notes from Evernote.
5. Ask HN: Where can we find the unsexy jobs?
Top comment by curiousllama
They’re outside of the “tech” industry. Look at companies 200-300 on the Fortune 500; their IT group uses boring tech.
Just fair warning: you seem to be under the assumption that “boring” means “straightforward and just makes sense.” It does not. If you’re looking for that… good luck! Update if you find somewhere and I’ll join you.
6. Ask HN: What hyper-focused industry newsletters do you enjoy?
Top comment by killingtime74
My dog Walker publishes a WhatsApp thread with videos of all her dog walks on it
7. Ask HN: How to improve as a struggling junior software engineer?
Top comment by GeneralMayhem
Okay, first things first - take a breath. This is not that big a deal. If you're at a company that's big enough to have a PIP process, then there are two possibilities: (1) it's well-established enough to know that junior engineers aren't productive for about a year after hiring, or (2) it's completely incompetent. If it's (1), even if you actually are way below average, you still have some runway left. If it's (2), they almost certainly have enough of a reputation that you can "fail" at your current job without it really harming your long-term career path.
---
Second, let's adjust your expectations a bit. You're expecting to be great after 8 months. Nobody is great after 8 months.
> I am actively slowing the team down or causing problems. I take a really long time when finishing stories unless one of the seniors is giving input.
When I hire junior engineers, I expect them to be worse than useless for about 6 months (because they're contributing nothing of value, and taking time away from more experienced people who do the onboarding), and maybe to be net neutral after a year. Some are a little quicker, some take longer. And I expect them to have a senior engineer (or several) "giving input" forever. That's what it means to be junior; you aren't expected to do anything alone. (Most senior engineers aren't really expected to be able to do anything alone, either; if the senior SWEs on your team are any good, they're checking each other's work and talking through plans/designs with each other.)
> Its hard to imagine anyone who is good at engineering delaying a teams release and causing problems.
I think I'm a pretty solid senior engineer. I've led and managed teams for a while. I was promoted from new-grad up to staff level at a FAANG company, and have consistently gotten good performance reviews and shipped solid code that solved real problems, sometimes problems that more experienced engineers had tried and failed to solve.
With that said - I've caused three production incidents in the past month. We had release procedures that were poorly documented that helped cause two of them. The third was just a silly typo bug that I didn't write a strict enough test for, and that made it through code review. The cleanup from that third one slowed down our release, and had a knock-on effect that delayed a customer-visible product launch by a week. It's a mistake I wish I hadn't made, but I'm also not going to get fired over it. It happens to everyone.
There's a famous quote from Thomas Watson, longtime CEO of IBM: "Recently, I was asked if I was going to fire an employee who made a mistake that cost the company $600,000. No, I replied, I just spent $600,000 training him. Why would I want somebody to hire his experience?"
---
Now, to get into the underlying problems - it sounds like your team/company is really, really bad at onboarding and training.
>this team isn't a bad one. I can make excuses all I want, but an experienced engineer joined the same time I did and is doing great.
Part of being more experienced is that you've seen more different things. Senior engineers are a little harder to surprise, because there's a good chance they've seen something at least comparable to their projects before. This makes them more valuable, obviously, but it also makes them qualitatively different. You're not experienced now; you should focus on becoming experienced through the work you're doing. I guarantee that that more senior new hire was useless the first couple quarters at his first job, too.
>I was sometimes assigned stories no one else on the team had done anything like before, so at times I couldn't even ask the senior devs for help.
This is idiotic on the part of your mentor/team/manager. A healthy team will have a backlog of bugs or small features that they've more or less figured out, but haven't had the time to implement - those are the kinds of things you should give to new hires to get their feet wet. If you've been there 9 months, you should probably have gotten through a starter project that's actually productive, but again, it shouldn't be anything new. If you don't feel like they can effectively mentor you, that's a problem with them.
> The problem is at this point I have been on the team too long to ask any basic questions, one of the senior engineers even pointed out they shouldn't be helping me with certain processes at this point.
That senior engineer should be fired, immediately. That's inexcusable. I don't care how needy a junior engineer is, or how many times you've shown them something. You show them again, teach them how to find the documentation, and do everything you can to make it so that they don't need the help. What you don't do is refuse help that they still need.
---
Finally - how to improve. Two things have to happen. First, you need to find someone who can actually mentor you specifically. This should be someone at least a couple levels above you who isn't an asshole and can show you the ropes, who is themselves reasonably well-respected on the team, and you can bounce ideas off of and who you feel comfortable asking questions. In an ideal world, this would have been done proactively by pairing you up with someone more senior to do a project together after you'd been around for a few weeks, but if that didn't happen, and you want to make this work, you'll have to be more proactive. A good manager should help, but if that feels weird, go to someone you respect (NOT the person who refused to answer your questions!), schedule a 1:1 meeting, and strike up a conversation - "hey, I saw you were able to diagnose XXX problem, and you seem to really understand YYY process - can you walk me through how you did that?" People love talking about stuff they're good at.
Second, you need to find a way to phrase the problems you're having as problems with the team rather than problems with you. You can start this with your manager (I know you said the manager has been out for... four months?... but there must be someone filling in). If you don't know how things work because there's no documentation, tell them that. If you don't feel comfortable asking questions in meetings, tell them that. I've gotten both of those comments from junior engineers before, and we took them as serious problems, and fixed them - that's important feedback, and any leader worth anything should see it as such.
Oh, and keep asking questions. It drives me nuts when anyone - junior, senior, engineer, manager, PM - doesn't ask questions. The alternative is that they'll just guess, and that doesn't do anyone any good.
8. Ask HN: What are the next internet infra problems?
Top comment by ggm
The other 3.5b who aren't online yet. They're the 20 at the end of the 80:20 solution we deployed for all the metro/urban and economically exploitable agri locations. They're the ones with zero persisting power and infra unrelated to telecoms, who share one honda generator with a village, who have to walk 20km to get antibiotics, who pay middlemen a cut of every transaction, who live in debt bondage.
The ITU made a high frontier claim that was their core mission in the 10-20 year window. They made this claim 10 years ago. I'm not seeing strong evidence its being solved, aside from trickle down re-purposing of old 3G systems and Chinese investment in not-very-good infra to offset their coltan mining in Africa.
An accquaintance lives 10km outside metro Bangkok. It's an amazing city and its as plugged in and switched on as anywhere else in Asia, the rats nest of wires is a testament to ad-hock hackery. 10km outside the city margins, its a dead zone for high speed service. And Thailand has a huge rural population.
Rinse and repeat for Africa.
9. Ask HN: Has anyone successfully renegotiated an AWS non-compete?
Top comment by ozzythecat
I can’t answer your specific question, but I would really encourage you to think more about the AWS offer.
Having spent a decade at Amazon, across several organizations, I don’t recommend it as a place to work.
There was a NYTimes article about the company in 2015. Everything there still reflects the day to day culture of the company.
For me Amazon took an unprecedented toll on my mental and physical health. I did earn enough money, but I immensely regret all the time I didn’t spend with my family over the years, all the friendships that faded, and the constant reminder from leaders how I could always do better - nothing was ever good enough.
Amazons leadership fundamentally does not see their employees as human beings. As I grew the ranks over the years, I was directly coached on removing myself from certain day to day interactions, because it would simplify decision making if I didn’t have an interest in my own people, that simply forming just work bonds was a conflict of interest in terms of doing what’s “right” for the company.
Any non compete you’re concerned about isn’t even the tip of the iceberg.
Good luck to you.
10. Ask HN: Why isn't there a standard network audio protocol?
Top comment by stuntkite
This is a great question that I've been playing with since getting some JBL PA speakers and seeing the ethernet jacks and looking at what it supported. It's SO difficult to get something working without buying really locked down and expensive gear that is for much larger applications. Also pretty cumbersome to enable on my Ubiquiti router but I'm getting there!
I ended up settling on using CobraNET by buying some fairly affordable GPIO rack units from reverb from a defunct church made by AudioScience. As doesn't really want to sell to me directly but they sell to a lot of churches and they scale up and down a lot so nice gear is really affordable.
I wouldn't call it easy to use, but compatible, affordable, and pretty cool. I've been working on a 4.2 mini "ambisonic" setup... It's a long term goal like an old guys basement train set. Heh.
http://www.audioscience.com/internet/products/cobranet/cobra...
I hope this helps and thanks for bringing this up to HN. I look forward to reading all the replies.