Our last blog post was about our impressive growth numbers in 2011. So, today, we asked the JotForm Development Team for their productivity tips. You might see some inconsistencies in the way the ideas are presented. This is a collaborative work and we did not want to edit out any personalities of the posters.
Tips for Working More Productively:
1. Momentum is Everything
It takes consistent effort to create a great product. Our goal is to make sure that we move at least little bit every day. We don’t work crazy hours. We take things easy. We have flexible hours, and a relax work environment. But, we also make sure we accomplish something every day. We improve our product every day.
In 2011, we released a new version of our product 14 times a day on average. A release is any kind of change we make on our product. It can be a new feature, a small bug fix, or even a spelling correction. But, little by little, we move forward. If you are wondering how we can do this, you can read about our deployment system here. Last week, we hired a new developer and he was able to complete and release a small bug fix on his first day.
In 1911, two teams battled to reach South Pole. Roald Amundsen’s team had a goal to consistently move 20 miles every day. They did it whether the weather was good or bad. On the bad days, they pushed themselves to get up and push through the storm. On the good days, they only did the 20 miles and rested. The momentum and self-confidence they gained as a result helped them to win the race. They became the first humans to reach South Pole. The other team chose to wait when the weather was bad, and to travel a lot when the weather was good. That did not work out well, and they lost the race by many weeks.
Another great example for the importance of momentum is Jerry Seinfeld’s Don’t Break The Chain. He put up a big wall calendar that has the days for the whole year. When he needed to accomplish or improve something, he committed to doing it every day. When he completed the task for the day, he put a big red X on the calendar. Once he started doing this every day, missing a day meant breaking the chain, and that pushed him to keep on the track.
2. Start Small & Get Feedback Early and Often
When we work on a new idea, we first create a prototype quickly. We get feedback from other developers and from our customers early and often. We will usually create a prototype and share it with others. We will sometimes choose 100 active users who might like the idea, and show them the prototype, and ask them to try it out, and let us know what they think.
There is no need to spend months on an idea nobody wants. If the idea is truly useful, it will get the customers’ eyes shine even when it is a rough prototype. They will get excited and they will start suggesting ideas, and they will start asking when they can start using it for their real needs. Once we have that confirmation, we can move forward.
3. Improve Everything, All the Time
Toyota’s continuous improvement philosophy (Kaizen) helped them to consistently increase their market share in the last decades. In a Toyota plant, everybody is a responsible for suggesting and implementing improvements on their cars, environment and the way they work.
Constantly looking for improvements on every aspect of our product, office and on the way we work is a responsibility we all share. We have an open mind for new ideas. We usually discuss them and come up new ways to improve our environment and products.
4. Use Flow
Programmers are very familiar with flow. It is a state best explained in the book “Flow” by Mihaly Csikszentmihalyi. It is hard to describe flow. You know it only when you experience it. When you go into flow, you forget about time. You are completely occupied with the task at hand. Playing sport games is one of the easiest ways to experience flow. Have you tried skiing with music on your ipod? When you reach the end of the slope, you don’t even remember what happened. The time passes so quickly.
You can use flow to your advantage. If you need to complete an important task try to go into the flow zone. There are some rules though. The task should not be too easy or too difficult. There should not be any distractions. Shutdown your email client, silence your insant messager and play some great music. You must also have more than enough time on your hands. If you have to do something in 15 minutes, or if you know someone will soon distract you, you can never go into the flow mode.
5. Find a Way to Make the Task Exciting
For me, productivity means interest plus motivation. It’s a really simple formula, if you want to boost your productivity you should make a task interesting to yourself. You should think about the good things you can gain by completing it. That will give you the motivation you need.
If we put this formula in an example; for instance, take this writing and assume I have a productivity problem while writing this text. In order to boost my productivity I immediately start to think of ways to make this task interesting to myself. What makes writing a block of text interesting? Well, for me I really like trying out new tools, so I can write this post on a new editor I saw earlier which I couldn’t find a chance to test before. So, trying a new tool is really interesting, but do I have any motivation to do this? Well, if I use this new editor I can learn something new and that’s certainly an experience point. Another great reason might be to improve my writing skills. A great motivation indeed.
I try to use this approach on everything I do. Even on really boring tasks, I can find something interesting and complete those tasks easily.
6. Never Stop Learning
Keep your eyes open and try to follow every new technique or innovation related to your field. Follow news and top people on your field. This will help you to use these new information on everything you do and believe it or not, it will make you more productive.
7. Never Get into Routine
If you have a tool you constantly use try to experiment alternatives. Pick a different route to your home every once in a while. Update your playlist and listen different songs. Reorganize your desk. Change the position of your computer. Do something you have never done before. I think you get the point. These kinds of small changes will prevent you from burning out and keep you excited about what you do.
8. Don’t Avoid Hard Tasks
If you have a list of tasks you need to do and one of these tasks is really hard to accomplish, don’t avoid it, or procrastinate right away.
Start working on the hardest task first. Spend some time on the problem. Only then if you feel pressure or tiredness, stop working on the task and switch to easier parts. You’ll soon realize you have an amazing productivity boost to complete simpler tasks. 🙂 Procrastination is a great force to help you complete easier tasks. Using the boost you get from completing all the other tasks, you can then focus on the hardest task easily.
Since you spent some time on the hard problem previously, you mind will be at work while you work on the other stuff. After a while you will come up with a good solution for the hard task.
If you find a task too difficult or hard to concentrate, don’t hesitate to ask for help. Two hands make a louder noise that one. A friend or colleague can boost your productivity even by just sitting next to you. Nobody wants to slack while somebody else is looking. 🙂 You will have to push yourself to work on the problem. You will also discuss it with your colleague. Describing a problem to someone else will help you solve it.
10. Keep a Todo List
Create and maintain a todo list. It will help you manage your time more effectively. If your todo list gets too long, split it into three parts: today, this week and later.
11. Stay Focused
Staying focused enables you to concentrate on the task. That is the best way to complete your work successfully. You need to prevent unnecessary interruptions to work productively. But taking sufficient breaks throughout the day will help you clear your thoughts and re-energize your mind. Once you do this you will be more able to complete the tasks more efficiently and productively.
12. Right Amount of Stress Helps
In university, as an engineering student I had a lot of things to deal with. Assignments, quizzes, exams, labs etc. It’s not that easy to deal with them. You usually do not have enough time when all these things firing at you at the same time.
When I get close to a deadline, my productivity hits to a top point. I can get incredible amount of work done in a very short time period.
Use the power of stress in a good way. I know it’s an accepted wisdom that if you stress too much you will fail. That might have some truth in it. But, if you can use the stress to your advantage, you will get a lot done. So, don’t worry if you get stressed sometimes. Find a way to use it to your advantage.
13. Love What You Do
If you love something enough, you will do whatever it takes to improve it. I love JotForm because we serve millions of people. JotForm doesn’t have millions of users, but it has 600,000 of businesses who in turn have millions of clients. If you think in that way, JotForm has millions of clients as well. 🙂 That’s why I can work at night or even weekends when there is an urgent matter. Sometimes I complete a day of work and go home but I keep working on JotForm. If there is a problem that needs my attention, I can’t wait until the next day. If a problem will cause a loss for our customers, I cannot let go off it. Without love, there is no way I would feel this way.
14. See the Big Picture Before Starting
Before starting on a new project, think it through. Not all of the details, but just the important parts. If you have a plan in your mind, you will not get stuck and get stressed during development.
When I know the big picture I code in peace. Otherwise I loose my productivity. Understanding the problem in detail, always increases your productivity.
Working on a well organized project increases your productivity because the possibilities has just been increased. This is only possible if design and plan what are you going to do before starting.
“Controlling complexity is the essence of computer programming.” — Brian Kernigan
Tips for Thinking Productively
15. Writing Helps Thinking
When you need to think about an issue, launch your favorite word processor and start typing. Don’t worry about what to write. Just do a complete brain dump. You are doing this exercise for yourself. You don’t have to share it with someone else. Even if you want to share it in the future you can always edit it first. So, don’t worry about what you write. Just spit out what you have in your mind. Keep typing. Until you run out of ideas. You will feel relaxed.
Writing your ideas will help you think through the issues. Usually the brain is trying to keep everything in the RAM. So, when you are trying to think about an issue, you keep getting the same ideas over and over. You get stuck. But, once you start dumping them on the paper, your brain somehow knows that the ideas will not be lost. You feel relaxed. You start getting new ideas. You start thinking a few moves ahead. Try it now if you have never done this before. It is a lot of fun.
16. Think Positively
Thinking positively has the power of changing everything in the world. The idea behind positive-thinking is hope. If you have hope to solve a problem you face, you can always find a way to deal with it. This does not apply only technological problems. You can use it on anything that cause problems in your life.
Tips for Design Productivity
17. Define the Problem First and Do It Again. Then again.
No matter what kind of designer-block you’re in, knowing what you’re facing will be the key to your salvation. You simply can not face something you do not know. You need to establish clear boundaries and turn the unknown into a graspable, understandable concept. Do this over and over until your questions give you the answers you want.
18. Content is King
I usually start working on projects by writing up the content first, even before sketching. It doesn’t need to be perfect. Just enough to give you an idea about what needs to go into the layout and what doesn’t. This way, you’ll have less variables when trying to determine which design looks better.
19. Muse is a Cheap Date
To me, Muse is like a cheap date. It’ll be fun for a while, you’ll have a burger, see a movie, design some cool stuff, and at the first sign of trouble, she’ll just run away. If you run into something you just can’t solve right now, shift to another project and keep working on something until the date is over. Great Artists Ship.
However hipster that may sound, at the end of the day, the act of doing and accomplishing something is more important and rewarding than striving for that perfect design and not shipping. Just like development, ship early, ship often. You can always iterate.
20. Go back to Design 101
Remember when they talked about this stuff back in college? Good, because no matter what kind of design work you do, your work boils down to basic design principles and elements at the end. I go back and read them over every time I start, finish or get stuck designing something. You should too.
21. Learn, Take Risks, and Try Not to Die
Be open to new stuff. Don’t just stick to one idea for a long time and look from a single angle. Try a different approach. Take some risks. To come up with new ideas and approaches train your brain everyday with math, art, and a lot of coffee. 🙂
Solve both easy, moderate, and challenging problems to give your brain a workout. Use art to bring the creativeness inside you. Compose a silly music, paint random stuff, or write a science fiction scenario. We have to release ourselves from the conformist lifestyle which tells us how to act, think, and live which kills personality and creativity.
Following great leaders and news about our profession is a must but there is an eastern saying which sums it up, “Learn the way, then find your own way.”
We must not forget our body and spirit in this equation too. Eat healthy and do some yoga.
We should approach almost everything in life with curiosity and hunger. That is why businesses test everything all the time because they know that nothing is certain and the variables are evolving constantly. That is life. We want answers and the way we want them will bring the creativeness in us if we want it deeply.
That is my philosophy of creativity and life since they are interrelated to each other so I would close by saying, learn and search as much as you can, take risks all the time, and try not to die.