Got any favorite pieces of open source software? How about trying to add a feature? Sight reading: download the source code for the software, and start exploring. How do you know where to look? What tricks do you use to find your way around a significant body of code?
|Published (Last):||3 March 2007|
|PDF File Size:||11.23 Mb|
|ePub File Size:||16.61 Mb|
|Price:||Free* [*Free Regsitration Required]|
In its original form it was a list of tips aimed to help American programmers avoid having their jobs outsourced from under them, written as a series of short blog-style chapters that are not long enough to cover their topic, let alone dive deep enough to provide any insight.
Am happy to write this review. This book falls broadly into two different but related categories - 1. How to be better at your job and 2. How to plan out a good career in the IT industry. Ill focus on the first part first. This review is really for myself so Im going to summarize my key takeaways and perhaps editorialize a bit though the book has plenty of opinions itself. I found a pleasant cohesiveness between what the book recommends and the Amazon leadership Just finished this on the plane.
I found a pleasant cohesiveness between what the book recommends and the Amazon leadership principles. A software engineer is a problem solver first, and is not paid to be a technology zealot. Understand how technologies work from the bottom up so that you can thoroughly understand the solutions you recommend and implement.
Learn different languages on the side and read up on the industry. Go deep and go wide. In short, this will help you earn trust. Fail fast and never try to prolong the time between bug discovery and action. Assume that everyone your company hires is important to the business and when the need arises make a full effort to help them understand the problems you are working on and the solutions you are developing.
Engineers are far from the only thing required for a successful team. Have at least a rough understanding of where the money comes in from and how various teams contribute to business needs. This will help you make more enlightened first guesses, conversations, and final decisions when it comes to practical engineering decisions. What you are actually doing is making yourself a liability to your company. Single points of failure are never good. Set a hard start and finish to your day. Like that dragon thing in the fantastic beasts movie, your tasks will expand and contract within reason to the time that you budget for them.
The hour week is generally a good guide. Make your 8 hours of work focused and impactful. Guard against burnout. A mediocre employee needs to be told what to do, whereas a good one takes initiative and figures out what to focus on. Do a good job even with the mundane tasks. Lower expectations actually provide a good opportunity to surprise and delight.
In either case, ask yourself what about the day made it so. Keep up with the technology news. Read books, articles, and papers. Learn learn learn. A good place to start is by improving test suite coverage in a lot of projects.
This will always be possible excepting a few of the truly great. Being surrounded by better players will make you better. Most people are happy to help. It may lead to unforeseen opportunities. Having written that out just now, I realize that this is probably a common fortune cookie message. May just be the recency effect though, I should go through those again.
The Passionate Programmer (2nd edition): Creating a Remarkable Career in Software Development
The Passionate Programmer - by Chad Fowler
The Passionate Programmer