< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #49 - February 9, 2020

If you are looking for work, check out this month's Who is hiring?, Freelancer? Seeking Freelancer? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by chrissnell

Some suggestions:

- Build something. A new workbench for your office. Fix up an old car. Build a pull-up bar in your garage. Use your hands, cut some wood and metal, and treat yourself to a new tool or two. Do this with every project and you will have a nice tool collection before you know it.

- Learn to take pictures on a manual camera. You can do this with a modern automatic camera if it has a manual mode. Learn about ISO, f-stop, and shutter speed and the interplay of those three variables. There's a fantastic multi-part tutorial on Reddit that can help you learn these things. I don't have the link handy but you can Google for it.

- Set a goal of cooking for yourself at least two nights a week and eating leftovers two nights a week. Buy a binder and some clear inserts and start to put together your own book of favorite recipes.

- Take a nightly walk.

- Listen to classical music. This one didn't come to me until my 40s but I finally realized: there's a reason that this music has been popular for 300 years. Opera is great, too. Listen to Mozart's "The Marriage of Figaro". Download the KUSC app and listen to the amazing Metropolitan Opera broadcast every Saturday morning at 10 AM Pacific.

Top comment by jaspal747

Few things I would like to say:

It will no longer be about you. It will all be about your team. Make sure you create a great team, nurture them, train them, teach them how to think critically (in doing so yourself).

Ask your team to write out everything they plan to do before they actually do it. Reason with them on what they wrote and what approach decisions they plan to take. Teach them to think long term. Writing before actually doing the task helps get a lot of clarity to them and also helps you in assessing what they were planning to build. (It also makes for a great log of what we did and why we did it. This will be the product documentation for your entire product tomorrow.)

Treat your team like your family. Do not stress them out with too much work. Be respectful of their time and effort. Give them breaks post completion of major tasks. Every second that you let them rest and breathe is a second you have invested in the future. They will recharge and put their best in the next task.

You have a tough job of standing up for the right long-term tech decisions. Stay loyal to your product. Work for your product - not your company. Take tough tech decisions that will stand for the long term stability and robustness of your product. But occasionally make allowance for your business team too.

Sometimes your teammates might shy away from a big daunting challenge - step in and work side by side with them to tackle it. But do this infrequently.

There is a lot to add to the above list but in general the idea is to help your teammates grow, help them think critically, stand for your product - make the tough calls.

All the best!

Top comment by ggambetta

Seeing a therapist might be infinitely better than reading a book, and not just for narcissism. We're all broken in our own wonderful and unique ways.

I've been seeing a therapist for 5 years now, and the positive impact this has had in my life and on my general self-awareness can't be overstated.

As engineers and tech people we have one tool that has proven incredible useful in our careers: our brilliant rational minds. So we tend to think that we can solve any problem in life with this tool. Turns out we can't; thinking that therapy is somehow beneath us is pure hubris.

I also resisted therapy for a long time as a matter of principle. In high school I learned about the id, ego and super-ego, and in my 17 year old wisdom I thought "This is all bullshit! Did the guy open someone's head and see three parts? No! This is all made up!" Being unquestionable older and hopefully wiser now, I've understood that "all models are wrong, but some are useful"[0]. And therapy happens to have some useful models to offer.

[0] https://en.wikipedia.org/wiki/All_models_are_wrong

Top comment by enriquto

I follow regularly these people, these are mostly slow-going blogs or websites:

1. Fabrice Bellard: https://bellard.org/ This is not really a blog, but a traditional website with links to the work of its author (who is probably one of the top programmers ever). It updates rarely, but when it does, it is to expose yet another monumental piece of computing work that will blow your universe.

2. Linus Akesson: https://www.linusakesson.net/ He's always onto some funny crazy things: obfuscated programming, underhanded programming, c64 emulation, chiptunes...

3. Uriel l'Étranger: http://cat-v.org/ The only self-described "philosopher of software" that I have ever seen. His website is of course not updated anymore, but you can re-read it many times and always learn something new.

4. Ted Unangst: https://flak.tedunangst.com/ Nice to follow some cool news about openbsd development

5. Andy Chu: http://www.oilshell.org/blog/ Who has embarked in an amazing quest to turn the unix shell into a cleaner tool

6. Jens Gustedt: https://gustedt.wordpress.com/ If you really want to be up to date about the evolution of the C language

Top comment by mcv

A gap in your resume is called a sabbatical. You spent a year doing something else that's more important to you because you can afford it. Medical plus some recovery time is a great reason. But just playing around with some new tech, investing in your education, or even spending time on your other interests, work for charity, or see something of the world, are great reasons. Slacking off may not sound great, but many employers are unlikely to care that much about the gap, and if they do, there's always a more interesting way to phrase it.

Top comment by geoffchan23

I'm going to try and add a different angle to this because most people here have covered what I wanted to say (performance, compensation etc.)

I would use this time to find out how your manager is doing in his/her role. Find out how you can help them. Talk to them about their frustrations and how they are feeling. Just because they are your manager doesn't mean you need to treat them like a boss all the time. Show them some care and empathy. It can go a long way for your career.

Top comment by lame88

A constantly cycling proliferation of different languages, frameworks, libraries, etc. that all do the same things in a different way and are most often mutually incompatible with each other and have entirely different ecosystems with their own comparative advantages but also major pitfalls. This causes tech workers’ investment in skills to get more out of shallow knowledge and trivia than on deeper concepts, creates silos of employment opportunity based on the trivial knowledge workers have, and hinders the ability for the software engineering field as a whole to have a large pool of shared knowledge and develop and evolve stable, relatively timeless systems and tools of high quality, both as end products and in intermediate tooling toward those ends.

Top comment by DyslexicAtheist

I hiked across the Alps, alone, on foot and camping in the wild for 3 months. I had no phone with me (no GPS) and just paper maps, and a pen to keep notes on paper. It was the best time I ever had my whole life. I thought I might get lonely but being in the flow of walking every day actually created some kind of an internal dialogue in my head which never made me feel lonely. I met others who were on a similar trail but they all looked and talked like they needed to achieve some kind of a "goal" by posting shit on Insta and none of them would do it without GPS. Since I didn't grow up with all that nonsense and have been using Tech since I turned 20 - I really appreciated being "bored" again after so many years of being distracted. Paper and pen (and your ability to walk) are all you really need. Tech is what makes things complex and as soon as you remove all of it is an empowering experience unlike nothing else.

Top comment by codingbear

It depends on what you mean by Software Architecture. I normally see 3 interpretations of it.

For some people, S/W arch is writing readable, maintainable code. Things like Design patterns, FP, TDD, microservices etc. There is a lot of literature on this out there.

For others, it means having the ability to design the next Kafka/Spark/React. You can get basic theory for this by reading books on Domain Modelling, Distributed computing and Algorithms. So books like The Algorithm design manual, Designing Data intensive Applications, The Parallel and Concurrent Programming in Haskell, Functional and reactive domain modelling etc. The http://aosabook.org has good case studies to read as well. However, to actually build these systems require facing the problem in the 1st place and being unable to use existing systems to solve it. Or doing phd in them. It happens rarely.

Finally, the last one is my day job. Which is to convert ramblings and fantasies of leadership into a production systems, minimizing the number of curse words people use when working on it. I haven't really found any good guides to do this though. Things which help me are:

- Always thinking what could go wrong. And if it does, who should be notified if the system can't recover. A lot of times when I don't have the answer, I ask around. Things like slack channels, mailing lists, or even having coffee with people in industry who have tackled stuff like this.

- Communication skills. This doesn't mean small talk, but being able to have conversations and meetings which help define requirements and ensure everyone is on the same page. Also making sure there are hard numbers. ie. instead of "fast","responsive" etc, get latency, throughput, uptime numbers.

- Understanding business/technical capabilities and limitations. Things like business impact(LTR etc), capabilities of current infrastructure, skill levels of various people/contractors involved etc

Top comment by dang

In case anyone doesn't know, the Who Is Hiring threads on HN include a monthly thread for freelancers:

https://news.ycombinator.com/submitted?id=whoishiring

It doesn't spend as much time on the front page as the main "Who Is Hiring?", but you can always find it at that link. The next Who Is Hiring day is tomorrow!