Home
Blog-Summary - How do you work on something important
Link to Blog Post
Julia Evans Blog - How do you work on something important
Summary
- We programmers get paid because we have the ability to build systems using computers to do the desired work. Get more output by leveraging the power of computers.
- It takes time to build meaningful systems with high impact. That means, in a time frame we can only work on few things only. Hence, it is important to be wise on what to work on.
- With our skills and computers abilities, there are billion things we can do. But we need to think, which among them has high impact and good for company.
- At work there will be multiple tasks, projects that would need your attention. Some are high priority projects, some are miscellaneous tasks of varying urgency, some are people development tasks and some are personal development tasks.
- We should be able to explain our goal in a very simple and clear way. Basically what I am doing, what is my goal and why I am doing this.
- To get focus in a work, there are 2 ingredients -
- It should be big enough and important enough. But
- It also needs to be small enough that a single person can do real progress in it.
- There is no single right task that every one in that position should concentrate. It varies from person to person. Rather pick an useful task that can be done by your capabilities.
- Believe that you can do this big cool project. As a senior, assure the juniors about their work that it will work what they are doing. In a project, million things will fail. We will have series of bad days.
- Remove this mentality that we will be given certain requirements and we need to do that. You are the person that will be generating ideas, you are the requirements builder, implementer, tester, evaluator and marketer. You need to constantly evaluate yourself and improve
- Keep a watch on things that are failing repeatedly. They need to be fixed
- Keep trying little experiments which might fail. Time box them, analyze its risk, keep working with reduced blast radius but keep experimenting.
My Thoughts
- As a senior engineer in the team, I need to know what are the critical projects I need to deliver that have maximum impact to the company, customers and team.
- Keeping a watch on repeated tasks that we are doing - some tickets are coming regularly, somethings are failing regularly. Those are good indicators that it needs to be solved for removing customer pain as well as free up developer resources for other bigger picture work.
- Sometimes there are tasks which you think is good to do or you think has value but do not have data or backing from management. Such, things are good candidates for small time-boxed experiments.
- Anything I work on should map to a goal and should be demonstratable in each sub task I do.
- Choose the tasks wisely. It is always better to timebox it and re-evaluate after timebox if this needs to be continued or moved to pending. Rather than just spend time on that task completely and then worry if this was actually needed. Most of the time we just start working on a task in adhoc or in the moment of excitement. Later we realize it is taking away critical time from far more important works.
- Remove the mentality that I am given a task to do. Rather You are trying in a loop to improve things of product, team and company. As part of that you seek opportunities for value addition.