Another week, another inspirational nugget and technical article.
Inspirational Nugget of the Week
Make it Easy!
We like telling other people that we're working hard. Hard work gains us respect. We just have to push through to get the results we want. Hard work is glorified.
Imagine someone has had a great success and you ask them about the work they've done to get that success. They say "Nah, the work was easy". In your mind, this exchange probably devalues the work they've done and the success they've earned.
Every fiber in our bodies wants to resist hard work. So why do we glorify it like that? We don't want to get out of bed in the morning, we don't want to write that long-overdue email, and we don't want to start on that new piece of work that's been waiting in our inbox. What if the results of hard work can be earned with easy work, too? Maybe even better results?
Here are some ideas on how to make things easy:
Prepare triggers: To make it easy to establish habits that help you reach your goals, you can set up triggers for those habits. Have a pitcher of water waiting for you on the desk in the morning so that it's easy to drink enough water. Start the day in your sports clothes so that it's easy to go for a run before work. Put your goals on sticky notes on the wall next to your desk to have them in mind every day. Think about what you need to do to achieve your goals and then what triggers you can place throughout the day to make it easy to do those things.
Invert the problem: Instead of asking "How do I solve this problem?" ask "How can I make this easy?" and "How can I make this enjoyable?". Spend some time answering these two questions before throwing yourself at your work. It will work wonders on your productivity.
Don't be a complainer: People who complain about everything absolve themselves of any responsibility. The other team is too uncooperative, the code is too complicated, the customer is too choosy. The work is too hard. Complaints invite more complaints. They put you in a mood where you don't want to work at all anymore. They make things harder for you. Switch to a mindset of gratefulness, instead. Look for the things you're grateful for, and the negative thoughts won't occupy your mind as much anymore, letting you see solutions to make the work easier.
Exploit daily habits: Like compound interest drastically increases your wealth over time, establishing daily habits will drastically increase your output over time. Try to set up daily habits of making things easy. Instead of pushing through, make it a habit to split your work into units with breaks in between. Make it a habit to do the most important thing first thing in the morning. Make it a habit to spend 30 minutes each day on that important project to make progress on it every day! A framework of daily habits makes work easy. Which habits would make your work easy?
Automate: Automating tasks is something that we, as software developers, are very aware of, but often don't do enough. We automate software releases and deployments, we automate alerting mechanisms to be notified when something is wrong, and we're encoding automations into software every day. Automation is the ultimate tool to make things easy. Think about this the next time you're doing a task a second or third time.
Making work easy doesn't mean that the results of the work are worse. Yes, it's easier to write a rough draft with a lot of errors than a polished piece of text. But writing the rough draft first will make it a lot easier to get to the polished text.
Many of the ideas above come from the book "Effortless" by Greg McKeown. Give it a read if you're looking for more inspiration on easy work.
Cross-Site Request Forgery (XSRF, CSRF, or "see-surf") is one of these things that every developer has heard about, but many don't understand. The reason is that most explanations don't set the context right and make it too hard to understand.