
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
comvidyarthionMay 22, 2018
https://www.amazon.com/Effective-Engineer-Engineering-Dispro...
henrik_wonJune 5, 2017
henrik_wonJan 16, 2017
wenconJune 5, 2017
It covers some really foundational concepts like idempotency which programmers don't often think about when architecting systems.
henrik_wonFeb 8, 2017
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
- Code Complete by Steve McConnell
- The Effective Engineer by Edmond Lau
- The Pragmatic Programmer by Andrew Hunt and David Thomas
emmaonthursdayonJuly 7, 2020
[1] https://www.effectiveengineer.com/book
skfistonMay 16, 2018
- 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
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
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
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
edmondlauonMar 24, 2018
“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
- 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
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
* 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
* 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
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.