Thinking about - week 42
there are three factors for work motivation:
- Autonomy: the control you have over your work. The more you can control what to do and when to do it, the more motivated you are.
- Mastery: the sense of progress you get. The more you think you are getting better at what you do, the more motivated you are.
- Purpose: the meaning you get from your work. The more what you do matters to you, the more motivated you are.
once you reach the middle class, you should focus on how you make money rather than how much. The way becomes more important than the amount.
Autonomy could be difficult to achieve if you work for someone else…. increase your bargaining power by being very good at what you do. Your company will be willing to give you more freedom if it really needs you. Another way is to build your own business.
Do you remember when the word “responsive” meant fast?
But now, all of a sudden, the word means: compatible with mobile devices.
what the word “respond” means. You respond to a stimulus. A screen is not a stimulus. A screen is an IO device. You don’t respond to the format of an IO device. You respond to Users. Consarned kids.
Craftsmen are arrogant.
craftsman in practice—it needs to be done perfectly and proudly. Their focus is fully on minor details, because those create the base from which their skill level can grow.
Software skill exists on an asymptotic curve. When you first learn something, you make large strides immediately and feel like you’re making serious progress toward perfection. But as time goes on, and as you increase your familiarity with the subject, your progress becomes more incremental.
They challenge others to climb the walls and jump to try to close this gap too, and they employ hyperbole to justify the importance of seemingly mundane details and practices. “We need to test this remote edge case.” “Why haven’t you refactored this class?” Craftsmen are constantly working toward an ideal, and any ideal other than perfection is offensive. This hyperbole is not necessary, but it comes from a bias.
This bias creates a communication issue. Craftsmen are so narrowly focused on closing the gap between themselves and mastery that it becomes difficult to consider that others might not share this focus.
They sound arrogant because their language is drawn from a different set of assumptions.
Craftsmen are slow.
In a fast-paced, results-oriented team, a craftsman spends time refactoring working software. This can seem academic or self-indulgent in the face of a deadline. But the reason is both simple and practical.
As craftsmen, we’ve done enough practice to know that the cost of work has a non-linear relationship to its quality. If you don’t take advantage of an opportunity to refactor and increase the quality of your code early, it will take exponentially longer to refactor and add features later. Your code will have more bugs, and will be difficult to extend when your clients need added functionality the most.
Craftsmen are dogmatic.
The first time you neglect to write a test, you increase the likelihood that you’ll neglect to write a test in the future. You’ll develop poor habits, and your skills will slowly deteriorate.