Hacker News Comments on
The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
·
6
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this book.Anything about leverage. Here are the ones I read that were helpful. The second two are engineering-specific, but Principles is domain agnostic.* Principles: https://www.amazon.com/Principles-Life-Work-Ray-Dalio/dp/150...
* The Effective Engineer: https://www.amazon.com/Effective-Engineer-Engineering-Dispro...
* High Output Management: https://www.amazon.com/High-Output-Management-Andrew-Grove/d...
⬐ cmonaghan+100 to The Effective Engineer. This is the best practical book on how to improve individual engineering effectiveness that I've ever read.
I think this book would be great addition to any software engineer . I think book captured the recent modern practices ( last 10 years?) in one place .The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact
Effective Engineer - Notes : https://gist.github.com/rondy/af1dee1d28c02e9a225ae55da2674a...
https://www.amazon.com/Effective-Engineer-Engineering-Dispro...
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.
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...
⬐ NoneNone
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...
⬐ tekoyakiCurrently reading this since I saw your blog post. Thanks!
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...
⬐ agentultraAgreed!I would wager that 90% of good software (by a most liberal definition) is designed to be that way by the methods employed to construct it. It's the leaders and managers who set those processes and standards. If they are well versed in the state of the art and understand how to make it work for the business you can end up with crystalline entity software. Most of my job is presently "hacking the process" rather than the code itself so that the team can produce the best, desirable results.
I'll check out that book, thanks for the recommendation.