Guide to Staying Productive
This is currently just an outline, I'll be working on content over the days, weeks, and years to come! Contributions of any kind would be warmly appreciated!
- What is this about?
- Goals of this guide
- Inside out
- Outside in
- General specifics
This brief guide was written by me, Jon Schlinkert. I'm an experienced programmer, public speaker, entrepreneur and business consultant.
If you find this useful (and I hope you do!), please consider following me on github or twitter to receive updates about this and other projects I maintain. If you'd like to get in touch regarding a speaking engagement or consulting opportunity, please use the email address on my GitHub profile. You can find my bio here.
You might also be interested in other guides I've written. Thanks for reading!
Why should I take your word for it?
This guide is a distillation of my experience as a human and professional. We might not know each other yet, but through this guide I hope we can share a common experience that we can both relate to. From there, I hope we can take the next step and collaborate together on GitHub.
A little about me:
- As an entrepreneur, I've started a few companies. One was acquired, one failed, and one is just getting started. I've also raised venture capital and angel funding multiple times.
- As a public speaker, I've guest lectured a number of times at several universities on the topics such as "supply chain automation", and "ebusiness and the virtual value chain", and I've given speeches for Congressmen and Fortune 500 companies about entrepreneurship and productivity.
- As a business consultant, I've been hired by companies to design sales, marketing, monetization and go-to-market strategies. I've been hired by Boards to turn companies around.
- As a sales professional, I've closed many hundreds of deals across a number of different industries, spanning from a $16m software deal to a $6m safety uniform contract. I've also managed call centers with 300 customer service reps.
- As a software programmer, I've authored more than 1,300 code projects that collectively they receive more than 480 million downloads/month.
- As a human, I've been married for 8 years to my best friend (my wife and I were friends for 8 years before we married). We now have two beautiful girls who constantly redefine what "important" means in my life. I've also been the best man in 12 weddings.
Regarding the last bullet, you in case you're wondering, "what does that have to do with productivity?!". That depends on how much you value "things" versus "people". To me, this means that I have learned how to be hyper-productive without compromising on the many long-lasting relationships I have with the important people in my life, which is my most important guage of success.
Why you shouldn't take my word for it
What works for me or others might not work for you. My hope is that if you share my belief that a guide like this can benefit all of us, you'll take a moment to share your experience, feedback and wisdom with us so we can improve this guide for everyone - especially others who benefit from a different viewpoint, like yours.
What is this about?
Goals of this guide
"For every thousand hacking at the leaves of evil, there is one hacking at the root" — Henry David Thoreau
By the time you're finished reading this guide, you should have a better understanding of the following concepts:
Weights and measures
- how to define success: why are we doing what we're doing? what knowing when "good" is good enough
- how to measure results: you can't manage what you can't measure, and you can't improve if you don't have a baseline from which to guage progress.
- how to move on: when it's time to move on to something else.
Moreover, you should be able to view these concepts through different frames of reference, referred to as "motivational lenses", within the context of different timescales.
Understanding the situation, and knowing how to define what needs to be done is only the first part of the solution. We'll also discuss what to do with that information by proving a framework for staying productive.
Sometimes you simply can't do the optimal thing. Either because you don't have the time and resources, you don't have the right anwsers, or some other barrier is standing your way. In these cases, doing something is almost always better than doing nothing at all. To help you in these situations we'll discuss a number of tactics and tricks you can use to "fill in the blanks" and make sure you come out ahead.
Over the years I've found that there is no silver bullet for being productive, but there are many things that prevent productivity, including:
- lack of interest
- unsure about approach, tools or how others will react
- fear of being wrong
- fear of being right
- fear of success
- fear of failure
- fear of the unknown
- getting overwhelmed by options, the size or scope of project or the tasks at hand
- over-complicating an otherwise simple decision
You'll never be at your best unless you find a way to neutralize these things, or anything else that is standing in your way. This, among other things, is what we'll discuss in this section.
TODO Address the following concepts
- Work on yourself and your habits...
- Overcome obstacles and eliminate distractions
- Learn how to research and organize your ideas
- organize, clean, reduce clutter (physical and electronic)
Platform for productivity
What are we trying to accomplish?
The first thing about being productive is understanding what "productive" really means. Staying "busy" doesn't mean you're staying productive. The word "product" is at the root of the word productive, which is a synonym for "result". That's what we're after, results.
If only it stopped with "results" we would all work fewer hours, and worry a lot less. But achieving results means much more than plowing ahead at all cost. If we're not achieving the "desired results", then we're just wasting time. Thus it's important for us to always try to measure our productivity against how we'll we're achieving the "desired results" in whatever task, project, role, mission or area of responsibility is pertinent at the time.
Defining a beginning, middle and end
If red flags are going off, and you're not even sure what the "desired results" should be for whatever you're working on, have no fear, we're going to cover this and more in the following sections. For now, let's take a step back and start at the beginning.
Why are we doing it?
Why we're doing what we doing...
To stay productive, we need to stay motivated. To stay motivated, we need to have incentive. To stay motivated over time, we need to have purpose.
Incentive is much easier to define and understand than purpose. For example, if we were only interested in motivate others to achieve short-term goals, we might offer monetary incentives, awards, or other tangible achievements. How one obtains this sense of "meaning" is very personal. Self-defined goals and aspirations that transcend any kind of short-term incentives or external stimulus can be very powerful motivators.
Since motivating myself has never come naturally, I've found that it really helps to remind myself about what's important in my life. This will eventually become a habit, but getting there can be terribly difficult and take a lot of work. But rest assured, it does get easier over time.
As a starting point, establishing meaningful frames-of-reference will give you the ability to more easily sift through the goals, objectives and tasks that need to be accomplished on a day-to-day basis. We will never have time to do everything we want or need to do. These "lenses" will help us focus on what really matters, when it really matters, so that we can ignore everything else with peace of mind.
Orders of magnitude...
- the forest: The "big picture", viewed through the lens of the most important, long-term goals in your life. These things would likely go in the self-actualization of Maslow's hierchy of needs.
- the trees: The near-term projects that we're responsible for accomplishing at work or home. Someone is expecting us to complete
- the weeds: the pressing, in-the-moment tasks that need to be accomplished before you call it a day.
How long do we have to accomplish our goals?
- lifetime: You should never feel worry or stress when you think about what you want to accomplish in your lifetime. Reflecting upon this timespan should inspire hopes and dreams. Use these long-term goals to drive you forward and keep you focused on what's really important to you during the other timespans. Although your long-term concerns will surely ajust and evolve, the things you care about on this timescale are unlikely to completely change or go away entirely - or at least not very often.
- a few years: What you want to accomplish over the next few years
- the next year: What you want to accomplish in the next year
- the next month:
- today: What's important to you today, might not be important to you tomorrow. What can you do ever few hours to make the next few hours easier?
- the next hour:
- Now: What needs to be addressed right now?
Putting first things first
Dealing with distractions
- noise (physical and figurative)
- other distractions
Environmental (acoustic) noise
If you, like me, suffer from a sensitive to sounds (at any level), the cacophony of "normal" noises from world around you can present a challenging environment that makes it difficult to stay focused. Whether you work in a busy office with co-workers, where phones are always ringing, fax machines buzzying, cars honking (or simply driving by), or you work at home and have young children that are laughing, playing, fighting or crying nearby (which can be adorable, heartbreaking and distracting all at once).
What's important is that you try to keep perspective on your situation, and remember that you are in complete control of your decisions, your emotions and your actions. The world will never change to be the way you need it to be, you can expect these distractions to persist for the rest of your life, like it or not. Thus, instead of giving in or giving up, just look at these challenges the way you would view a programming or business challenge: devise workarounds or tactics for overcoming them.
As with most strategies discussed in this guide, there are both internal and external solutions to this problem.
Bearing in mind that isolating yourself from everyone else isn't a good long-term strategy for making friends and building better relationships with your co-workers or family, whenever possible and practical, try to look for ways to put yourself in a quieter environment. Here are some things you can try for reducing sounds:
Things you can change or do to make your environment less noisy:
- Noise barriers and sounds baffles: these can be used on doors, walls etc.
- Soundproof windows: some manufacturers claim they can reduce noise levels by as much as 95%
- Heavy curtains: heavy cloth curtains can serve as a light-weight sound dampener for inside and outside sounds. If you go this route, make sure you pick up some extra vitamin-D on your way home from buying the curtains.
- Noise-cancelling headphones: I've found that these only work for me for short periods of time, and they don't work for every kind of sound
Things you can change or do about yourself to reduce the impact of the problem:
- Work when everyone is sleeping: I have personally found this to be a terrific way to stay more productive. I really enjoy working in the very early mornings, before phones start ringing and cars can be heard driving to work. The mental aspect of knowing that no one will be interupting my work until at least X time is very empowering as well.
- Switch to "busywork": When it's noisy and hard to concentrate, it can be very difficult to keep "mental state" long enough to be effective at solving complex problems that require sustained attentiveness and concentration. In these situations, whenever possible, I automatically switch to doing "busywork" that doesn't require as much concentration but nevertheless needs to get done at some point. For example, during a recent project, in addition to having to write some complex code that would present me with new challenges, I also needed to update an old codebase, which involved migrating or re-writing legacy code, updating and reformatting documentation, and so on. None of which was necessarily complex or challenging. Thus, during periods where I was able to achieve a sufficient level of sustained concentration I would work on the former (challenging code), and when I couldn't concentrate I just automatically switched to the "easy stuff".
The problem won't solve itself. Effectiveness of any of these solutions will obviously vary from person to person. The important takeway is that you have some options, you will probably need to use a few of these solutions or turn them into habits, and you are in control of exploring the solutions to determine what works best for you.
Channeling your curiosity
Many productivity "experts" recommend that you get rid of this impulse, as they believe that curiousity leads to distractions. In my experience this is a bad idea. Beyond simply expanding your knowledgebase, curiosity can introduce you to new and better ways of accomplishing familiar problems, reveal entirely new opportunities that can lead you to fortune, serve as short-term motivation, or provide inspiration for solving problems you've all but given up on.
If necessity is the mother of invention, curiosity is the mother of innovation. Don't compromise on your curiousity, instead learn how to harness it.
Sometimes researching new and better ways of accomplishing something can contribute to procrastinating, either because it calls your current approach or decisions into question, or it opens new possibilities that you'd rather explore (which might also necessitate learning new tools or skills), or it's just a reason to be distracted. Looking for better ways of accomplishing goals is crucially important. It's how we get better, and faster.
Rather than curbing your curiousity completely, learn how to channel it. Learn how to say, "okay, I see there is a better way to do this thing I'm doing. I'll try that on the next project or when I have some free time to explore. But for now, I need to stay focused."
One bite at a time
This section touches on two things that can cause loss of productivy:
- going too long without eating
- procrastinating because I feel overwhelmed
Whilst completely unrelated, both of these problems can be solved in similar ways.
In particular, waiting too long to eat because you're so focused on solving a problem. This is especially problematic if you happen to be hypoglycemic, , it's really important to eat often enough to keep your brain functioning at an optimal state.
If you're feeling overwhelmed:
- figure out how to break your task into smaller chunks.
- ask yourself, "what would make this easier to accomplish?". Is there a tool you can build that will speed up the job? Sometimes taking one step back will thrust you ten steps forward.
Do what you love
Choose to work on projects that are ideal for you. Sound crazy? Believe it or not, all it takes is some faith in yourself, and some persistence, and after just a couple of projects you'll find that your "ideal projects" will begin seeking you out.
TODO (Tools, resources...)
Begin with the end in mind
Begin channeling Stephen Covey
Problems are opportunties in disguise
- get help
In the weeds
TODO: Specific tips for maintainers and programmers.
Tips and tools
- github issue templates
Absolutely no absolutes!
Always do this, never do that!
You might have noticed that humans tend to be pretty opinionated. This seems to be particularly transparent in the programming and design worlds, given the tools and technology available to the trade, along with the myriad conventions and standards.
Thanks to the following devs who have helped make this guide better in some way.
Your name here!
You might also find these guides useful:
Please consider following me to receive updates about this and other projects I maintain.
- github/jonschlinkert: follow me on GitHub for project updates
- twitter/jonschlinkert: follow me on Twitter for the latest news
- linkedin/jonschlinkert: connect with me on LinkedIn
If you'd like to get in touch regarding a speaking engagement or consulting opportunity, please use the email address on my GitHub profile. You can find my bio here. Thanks!