Side note before we get started, I am an individual contributor and a software engineer so these tips are from that perspective
Designate a work space
This is, in my opinion, a crucial first step for success. You must have “your space.” It can be in the middle of a busy kitchen, it can shift as the day goes on (follow the sun?), it can be in your bathtub. My point is, it doesn’t need to be “an office.”
A lot of people will say “your workspace is sacred,” I tend to disagree. I treat my workspace more like I did my cube when i worked in an office, if I had headphones on I expected silence and distractionless work-time unless it was important.
Don’t force this to be a static space, you should be able to move. Sit outside if it is warm and comfortable. Make sure you can find a quiet place if you have a meeting.
My personal space is in the attic of my house (yes, it’s finished). It is one large room split in half by the furnace chimney. One half is a seating area with our TV, the other half has twin desks. One for my wife, should she choose to use it, and one for me.
Learn your tools (well)
You should, by now, know a thing or two about what tools your team will be using. Become a power user. Figure out ways to increase your productivity with these tools. Setup workspaces, bring in tooling that helps you be better at what you do. I love, what is known as, microprase. We use Hubot with a “plusplus” script (hubot-plusplus-improved). This allows super simple @username++ because they are wicked awesome smaht
to praise someone without much fanfare or ado. Learn more about the formatting options and capabilities. Attempt to script some of your “usual” tasks to get rid of some of the monotony in your day. Script some “start-ups” or some automated postings of items. This may be easier to do if you were able to connect your environment into a serverless computing as I showed in my other post Automated Web-scraping MN UFC Highlights.
Make time for yourself
Cut yourself some slack. Working from home can be very difficult. It is emotionally challenging. It is physically different and can be hard. Socially, there are changes. You need to allow yourself time to take a break from sitting at your computer/desk/easel/pallet/phone/email. Punching the keys for 8, 9, 10, 12 hours straight is usually not as productive as multiple small sprints of concentrated work. Step away from your desk. No, really. Start a fermentation of bread, hop on that old bicycle in the garage, strap on the running shoes, lift those dumbbells, go for a walk. Movement is important. Physical movement will help you be more productive when you come back to rest.
Make time for friends
Be deliberate. Set dates and times. It is cliché but the old adage is true in this case: fail to plan, plan to fail. You don’t need to make a fancy dinner or even leave your house. Google Hangouts/Zoom/Skype/Facebook video, it doesn’t matter how you connect just do it. If you are reading this and coronavirus/covid-19 is in the past, get some coffee/tea/food.
Be Patient
With or without global pandemic you should be patient. Patient with yourself for getting work done, patient with your family for learning how to work with you in the same place, patient with your coworkers, just because you are sitting at your desk doesn’t mean they didn’t need a break to make a cup of coffee. Life is more important than your “urgent” email/message. Most of the time they will be back to you in a reasonable time and everything will be fine.
Stay calm. Write code.