Like what you see? Subscribe here and get it every week in your inbox!
Issue #45 - January 12, 2020
If you are looking for work, check out this month's Who is hiring?, Who wants to be hired? and Freelancer? Seeking Freelancer? threads.
Here are the top threads of the week, happy reading!
1. Ask HN: I've been slacking off at Google for 6 years. How can I stop this?
Top comment by md5wasp
Hi there, I did the exact same thing as you (at Google Sydney), before eventually deciding that I must strike out into the wilderness.
In the few years since I left; I worked as a solutions architect managing a team, a team lead, a remote dev, and now in a startup. Front-end, back-end, flip-side, all the ends. So I've been deliberately trying different angles of my career to see what suits.
I'd describe this process as grueling, ("challenging" is too friendly). I honestly think I would have been happier staying at Google, farting around, and being social. I agree with a lot of the comments here. However it's a catch-22, because the me that exists now wouldn't choose to go back and overall I think this has been good for me – and not just because of the, er, _character building_ aspect of it.
If you stay at Google, make the most of it by progressing deliberately in your social life. If I'd've stayed, I could have comfortably raised some kids with my wife by now - but that's still on the todo list.
If you leave, just jump right in. I didn't study anything, I just picked it up as I went along. If you were able to follow Steve Yegge's advice and Get That Job At Google, then I'm sure you're a smart cookie and can fake it til you make it.
Basically I'm saying you can be happy either way. If you leave, know what you're getting yourself into. If you stay, don't waste this time but use it on yourself.
2. Ask HN: What Technologies to Learn in 2020?
Top comment by Dowwie
Learn how to really use a relational database, relational data modeling, and SQL. Not knowing of their capabilities may lead you to unnecessarily complicating your tech stack. You can go a really long way with just this domain of expertise. From there, do the same with whatever key-value store interests you (for me, it's Redis). Python isn't known for high performance but when a django web app uses a cache and relational database effectively, it can achieve a very acceptable peformance. Case in point: the Zulip chat platform: zulipchat.com.
Aside from the database domain, I really enjoy using Rust and recommend it as the next language for anyone to learn, but only after taking time for in-depth relational database training. :).
3. Ask HN: Joining Big Tech in One’s 40s
Top comment by guyzero
I was 37 when I joined Google in a senior IC role in 2008, so nearly my entire 40's. It's still work, there are still issues with coworkers and there's still stress compared to the startups I used to work at. The company isn't going to go out of business but you can still get a manager who doesn't communicate well and gives you bad performance reviews as a result. Google turns over more employees in a month than the entire headcount of some of my previous companies. And GOOG is a huge company - if anyone says it's either great or horrible that's probably true for them, but it doesn't mean much for what your experience is going to be. I honestly don't think that being young is really much of an advantage one way or other here - there are successful people in the 40's here, even ICs, there are a lot of new grads who wash out after a year or two and go elsewhere. Big companies have much more idiosyncratic tech stacks so knowing any particular technical skill isn't that huge a deal as we probably don't use it anyway. Know the basics, know how to write, know how to manage up.
edit: reading some other comments I think it's easier to be an older IC at big companies than startups/small companies. But whether you should pursue a management track is a completely different question.
4. Ask HN: Is there a platform for sharing ideas that people want to “give away”?
Top comment by cdiamand
I tried to tackle this problem, or atleast the problem of helping people find ideas. I built http://oppsdaily.com and http://oppslist.com. They're both now sunset and I'm no longer sending emails out or updating the platform.
I will say that ideas are generally far less valuable than a first customer. My readers told me time and time again that they wanted to be connected to someone who would pay for the idea. That is the real challenge, and if you can figure that out, you're going to have a booming business. And I think there is opportunity in the space somewhere between e-lance and just "ideas". Some kind of platform that matches a developer and an initial customer in a way that rewards both. Finding these people is a challenge, but I think it's possible, and the person who figures out how to do it is going to have a MASSIVE business on their hands. I could go on about this a lot further, but I wholly recommend exploring it.
I'm onto my next project now, which interestingly is helping people find investing ideas. We launched yesterday so we'll see how it goes. If you want to chat about the idea space - cory @t topstonks.com or check out the the new project its at http://topstonks.com. Good luck!
5. Ask HN: Are there any openly available software architecture documents?
Top comment by davalapar
There are bunch of them, really.
But for general structure, using your end-user's user experience path (from start to end) as a guide and avoiding buzzwords as much as you can usually help. Think of Stripe's documentation, you want something as easily digestible as that.
- Software Design Patterns: https://en.wikipedia.org/wiki/Software_design_pattern
- Azure Application Architecture Guide: https://docs.microsoft.com/en-us/azure/architecture/guide/
- Azure Cloud Design Patterns: https://docs.microsoft.com/en-us/azure/architecture/patterns...
- Azure Architecture Framework: https://docs.microsoft.com/en-us/azure/architecture/framewor...
- Azure Cloud Adoption Framework: https://docs.microsoft.com/en-us/azure/cloud-adoption-framew...
- Cloud Computing Patterns: https://www.cloudcomputingpatterns.org/
- Microservice Architecture Patterns: https://microservices.io/patterns/index.html
- Amazon's Builders Library: https://aws.amazon.com/builders-library/
6. Ask HN: What landing page do you love?
Top comment by theclaw
https://www.lingscars.com/ - yes, this is a real car rental business. Best viewed on desktop - the mobile version is not nearly as... potent.
Top comment by ddevault
Happy new decade! Copied this from my Mastodon post:
Big picture, in the next decade, I would like to see:
1. Federated free software services become the dominant platform for social media and messaging.
2. A more privacy-oriented and cryptographically-literate public, and simple, standard free software tools anyone can leverage for this purpose.
3. Open hardware, especially RISC-V, becoming the dominant approach for new hardware development.
4. Recapturing the mobile market from proprietary walled gardens, instead favoring models which put the user in control of their devices (e.g. pmOS).
5. Average (read: non-SV CEO) technologists becoming more politically engaged, including running for and winning offices, and using political will to reinforce the above and start making a difference outside of tech
8. Ask HN: How do you protect your parents from tech scammers?
Top comment by thrownaway954
simple... they call me first.
if there is one thing i have _never_ done to my parents, or _anyone_ for that matter, is make fun of them if they call me and ask me for my professional opinion in tech matters. this has extended to situations when they think the situation is shoddy like they are being taken in a scam. i think _this_ is the single reason why my parents have never fell victim to scams. i feel that _most_ parents, or elderly people for that matter, fall victim cause they feel pressure from both ends... the first being the scammers themselves, the second being scared to ask _anyone_ if the situation is legit for fear of being made fun of.
_noone_ should feel scared of being ridicule when asking any question regarding their safety or well-being.
9. Ask HN: Are you contracting on the side (while working full time)?
Top comment by freetime2
I tried taking on a side job last year and it made me miserable. The work was fairly easy, the people were great, and the money was decent, too. But taking on a whole new set of responsibilities and losing a chunk of my free time was just too much for me. Ultimately it just wasn’t worth the toll it took on my mental health.
One issue in particular that I ran into was the difficulty in context switching between my day job and my side job. I imagined being able to do an hour here or there before or after work. But in reality I found it really hard to get any meaningful work done in an hour, which meant I needed to allocate larger chunks of time than I originally planned. That meant I often ended up sacrificing entire evenings, or chunks of my weekend on my side job. The difficulty in context switching also caused me to procrastinate a lot, which also made me feel terrible about myself.
10. Ask HN: How many of you are rolling your own auth?
Top comment by spikeham
Tried Firebase for an app I'm building. Just took it back out after a few months. Why?
1. Not all users are comfortable with trusting a third party in order to use my app. Some people actively mistrust and avoid megacorps like Google and FB. They should only have to trust you, not a chain of companies.
2. Writing code to integrate numerous external API calls is a comparable effort to just doing it all custom.
3. The UX of jumping to a third party dialog to log in and then back in to the original app is jarring. "What just happened?"
4. It introduces more potential points of failure with less control over being able to deal with such issues. If the third party services or APIs fail, or a user can't access those domains for some reason, tough luck.
5. Someone else owning your app's user records is troublesome. You still need to have your own user records for things like session state, roles and authorization. You have to keep your user records synchronized with theirs.
6. Users sometimes do not want to link their accounts on other services to your app - they prefer separate identities. When your Google account's avatar appears in an app that has nothing to do with Google it can be annoying, or even perceived as a privacy violation.
7. User authentication involves a standardized, conventional set of practices and code that are well known and not hard to implement.
8. If the third party service you put at the core of your architecture decided to shut you down or compete with you, or they shut down themselves, you'd be in big trouble.
9. Sooner or later you will pay for this service. The more successful your app is, the more you will pay. If you do it yourself, there's no cost beyond your regular hosting costs.
10. KISS - Keep It Simple, Silly. Don't add unnecessary dependencies and complexity.