HackerNews Readings
40,000 HackerNews book recommendations identified using NLP and deep learning

Scroll down for comments...

Hacking: The Art of Exploitation, 2nd Edition

Jon Erickson

4.7 on Amazon

19 HN comments

Bitcoin: Hard Money You Can't F*ck With: Why Bitcoin Will Be the Next Global Reserve Currency

Jason A. Williams and Jessica Walker

4.8 on Amazon

19 HN comments

Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People

Aditya Bhargava

4.6 on Amazon

18 HN comments

The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact

Edmond Lau and Bret Taylor

4.5 on Amazon

18 HN comments

About Face: The Essentials of Interaction Design

Alan Cooper , Robert Reimann , et al.

4.5 on Amazon

18 HN comments

The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws

Dafydd Stuttard and Marcus Pinto

4.6 on Amazon

17 HN comments

The Art of Game Design: A Book of Lenses, Third Edition

Jesse Schell

4.7 on Amazon

17 HN comments

Think Bayes: Bayesian Statistics in Python

Allen B. Downey

? on Amazon

15 HN comments

Mastering Bitcoin: Programming the Open Blockchain

Andreas M. Antonopoulos

4.7 on Amazon

15 HN comments

Working in Public: The Making and Maintenance of Open Source Software

Nadia Eghbal

4.6 on Amazon

15 HN comments

Rocket Surgery Made Easy: The Do-It-Yourself Guide to Finding and Fixing Usability Problems

Steve Krug

4.5 on Amazon

14 HN comments

Software Engineering

Ian Sommerville

4.3 on Amazon

14 HN comments

The Making of Prince of Persia: Journals 1985-1993--Illustrated Edition

Jordan Mechner

4.8 on Amazon

13 HN comments

Python Machine Learning: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow 2, 3rd Edition

Sebastian Raschka and Vahid Mirjalili

4.5 on Amazon

12 HN comments

Life 3.0: Being Human in the Age of Artificial Intelligence

Max Tegmark, Rob Shapiro, et al.

4.5 on Amazon

12 HN comments

Prev Page 5/16 Next
Sorted by relevance

comvidyarthionMay 22, 2018

I really liked "The Effective Engineer" by Edmond Lau. Its not intended for starting your own company. But it has some good insight for doing good in your job and how to grow as a software engineer.
https://www.amazon.com/Effective-Engineer-Engineering-Dispro...

henrik_wonJune 5, 2017

Yes, The Effective Engineer is newer and not so well known. I wrote about why I like it here: https://henrikwarne.com/2017/01/15/book-review-the-effective...

henrik_wonJan 16, 2017

The Effective Engineer by Edmond Lau. Not CS, more SW dev, but it is fairly new and I thought it was very good: https://henrikwarne.com/2017/01/15/book-review-the-effective...

wenconJune 5, 2017

I really liked The Effective Engineer because it had more systems thinking behind rather just how to manage a code project.

It covers some really foundational concepts like idempotency which programmers don't often think about when architecting systems.

henrik_wonFeb 8, 2017

A relatively new book that isn't mentioned (but that I really like) is "The Effective Engineer" by Edmond Lau.

https://www.amazon.com/Effective-Engineer-Engineering-Dispro...

Edit: Here's why I like it: https://henrikwarne.com/2017/01/15/book-review-the-effective...

henrik_wonJune 5, 2017

I really like:

- Code Complete by Steve McConnell

- The Effective Engineer by Edmond Lau

- The Pragmatic Programmer by Andrew Hunt and David Thomas

emmaonthursdayonJuly 7, 2020

The Effective Engineer by Edmond Lau[1] is a great book that walks through how to have the most impact at various levels of an organization (roughly: IC, tech lead, manager). I've found the approaches & mindset it outlines to be incredibly helpful, and I wish I'd come across it earlier.

[1] https://www.effectiveengineer.com/book

skfistonMay 16, 2018

My favorites so far:

- Pragmatic Thinking & Learning by Andy Hunt

- The Design of Everyday Things by Don Norman

-

The Effective Engineer* by Edmond Lau

- The Pragmatic Programmer by Andy Hunt and Dave Thomas

- SQL Performance Explained by Markus Winand

And http://teachyourselfcs.com curriculum is pretty good as well.

As a side note, there's so much we can learn from game programmers and OS/database/compiler engineers.

thr0waway1239onAug 30, 2016

Off tangent, but the biggest improvement in my software development productivity happened when I read Edmond Lau's book "The Effective Engineer" and started asking myself before I started every task: is this task the one which is highest leverage?

Edmond's definition of leverage = Impact Produced/Time Invested

You can read the book for more on Edmond's definition of leverage, but this seemingly simple idea did absolute wonders for my productivity.

I realized the Pomodoro technique was most effective for me for the lower leverage tasks, and not so much for the higher leverage tasks. As a result, over time I sort of moved away from using it.

thr0waway1239onSep 19, 2016

Your comment reminded me of Edmond Lau's book - The Effective Engineer [1] - where he talks about putting in a good amount of effort into the onboarding process for new engineers.

His premise - having a senior engineer spend an hour a day for the first month helping the new employee with explaining the existing abstractions being used, the underlying design of various systems, etc. - would still be only about 20 hours, which is still only 1% of the number of hours that employee will spend in their first year - about 2000 hours.

As a result, I believe that armed with that knowledge, the new employee is likely to be much more productive, failing which, at least cause less damage to the code base.

I would say that the first example you mention - leaky abstractions et. al. - are just as much (or maybe more) due to poor onboarding as they are due to the frustration of mediocre programmers. There is a lot to be said for good process, which software engineering as a discipline falls short of quite consistently.

[1] https://www.amazon.com/Effective-Engineer-Engineering-Dispro...

wwkeyboardonJune 22, 2015

The high value project is a great place to find the parts that require the least amount of effort on your part but will have the highest value to the company and deliver those first. As an engineer this feels like "cheating". It's not, you are being prudent.

I just finished reading The Effective Engineer by Ed Lau and highly recommend it( https://www.theeffectiveengineer.com/book ). It covers both concrete (like keep a daily log) and more general ideas(e.g. your work is measured by the value it produces for the company, not the effort you put into it).

akprasadonJuly 24, 2017

Ditto for both books, though I prefer The Effective Engineer to The Pragmatic Programmer. I found that quite a bit of the tactical advice in TPP is already standard practice (e.g. "always use source control"). Comparatively, TEE has more of an emphasis on project planning and team/company health, and I found that more useful for my work.

edmondlauonMar 24, 2018

My mission is to:

“Empower engineers and technical leaders with the tools and mindsets to perform at their highest levels, so that they create the meaningful impact they’re capable of.”

That mission started with me writing and self-publishing The Effective Engineer three years ago. And then recently I co-founded a company Co Leadership (coleadership.com) to focus on leadership development full-time.

aalhouronJuly 10, 2017

So far I have read:

- Left of Bang.

- The Obstacle is the way.

- The Daily Stoic.

- High-Output Management.

- The Effective Engineer.

- Managing Humans.

- Introducing Go.

Currently going through "Designing Data Intensive Applications" and some other data-related free ebooks from O'Reilly.

Up next on my list for the rest of the year:

- Hadoop: The Definitive Guide.

- The Manager's Path.

- Anti-Fragile.

- A Guide to the Good Life.

- The Denial of Death.

- Man's Search for Meaning.

EDIT: list formatting.

muhajironAug 26, 2019

Edmond Lau, in his book The Effective Engineer. One of the point he said in his book is "Invest in Iteration Speed". One of the way to increase our iteration speed is "Invest in time saving tools". Visual Studio Code, is of the tools that a lot of developer uses every single day to write their code.
So for developer, it makes sense a lot of sense to invest some of their time to learn some Visual Studio Code shortcuts. But, finding a good resources to learn this useful shortcuts, extension, and in video / gif format takes time.

That's why I craeted VSCode.xyz

I'd really really love to hears your feedback here :). Whether you find it useful, not useful, you have some VSCode tips? Or anything. I'd love to hear your feedback.

aalhouronDec 28, 2017

In no particular order:

* Siddhartha, Herman Hesse

* Man's Search for Meaning, Viktor Frankl

* The Obstacle is the Way, Ryan Holiday

* The Daily Stoic, Ryan Holiday

* The Effective Engineer, Edmund Lau

* The Lean Startup, Eric Ries

* The Personal MBA, Josh Kaufman

* Certain to Win, Chet Richards

* Left of Bang, Patrick Van Horn & Jason A. Riley

* Native Set Theory, Paul R. Halmos

EDIT: list formatting

aalhouronJan 2, 2018

In no particular order:

* The Obstacle is the Way, Ryan Holiday

* The Daily Stoic, Ryan Holiday

* Man's Search for Meaning, Viktor Frankl

* Siddhartha, Herman Hesse

* The Personal MBA, Josh Kaufman

* The Effective Engineer, Edmund Lau

* The Lean Startup, Eric Ries

* Certain to Win, Chet Richards

* Left of Bang, Patrick Van Horn & Jason A. Riley

* Native Set Theory, Paul R. Halmos

* Introducing Go, by Caleb Doxsey.

If you'd like to read what I think of these books, you can read my blog post about them here: http://aalhour.com/blog/2018/01/02/review-of-my-2017-reading...

ZystonJuly 24, 2018

The Effective Engineer[0] has a chapter on technical debt, where he goes into how a lot of crappy code decisions are there for a reason, and how rewrites can be chaotic. If you have the time, I'd recommend giving it a read.

I frankly got a lot more pragmatic about asking for rewrites after reading it, and I feel it helped me to grow (mature?) as a developer.

Either way, I think there's a need to balance the need for employee self actualization needs which they often push as rewrite requests "Oh since we're rewriting this, we should (do it in)/use/etc X instead". I have often realized that a lot of requests to rewrite something are really tinkering desires camouflaged as a business related request, which is not to say that the code that does exist could have problems, it could, but having a period of debt repayment would improve it as well. So finding a way to allow your employees to tinker without letting their desires torpedo your products would be positive.

Either way, it's a complex subject, and I don't really think there's a single "right" response to it. Best of luck!

0: https://www.amazon.com/Effective-Engineer-Engineering-Dispro...

EDIT: I'm not a CTO, I'm a developer.

Built withby tracyhenry

.

Follow me on