This week, I had a few days where I just really struggled to get up an at 'em and get my mind in the zone. It led me to research and ask other developers how they start their days and experiment around with some tactics myself. I also spent ALOT of time building some tests on our app. So let's hop right in!
Tests, tests, and more tests.
But really, my focus this week was building some basic tests to just check that critical parts of our app work and actually render.
We use Jest, and I'm really happy about that because there were a lot of resources on google. My tests were fairly simple-- starting off easy just to make sure a component actually mounts. But I got a little fancy with some of them to check that the right
onClick functions are called when you, well, click!
If anyone finds this interesting, happy to do a separate blog post on what I learned specifically about testing and how you can set up some basic tests for your app, too!
It took me a little while to get going in the morning this week. Like I'd get to my desk and then instead of being able to get up and start working, I'd just find my brain in a bit of a fog.
I asked some fellow devs what they do, and I started to develop my own sort of routine, for like a pre-work morning ritual, and then a work warm-up ritual. Think of it kind of like stretching before a game. I can't just walk up to my computer and begin churning out code; I need to warm up a bit.
Here's what I've been trying, and so far it's been helpful, although I want to shorten the amount of time so I have more time for other morning routines, or can start working sooner. WIP. :)
1) Play on my phone when my alarm goes off in bed. I know this is technically against every rule in the book, but I swear it helps me wake up, and doesn't feel as intimidating as getting out of bed. I don't go straight for work emails though... I just bring up Pokemon Go and do my daily field research, send gifts to my friends, and catch any Pokemon that are out.
2) Sit on the porch and do journals, read newsletters/books, as time permits. This depends how much time I spent laying in bed playing Pokemon :)
3) Go outside and feed Artie. (Who is Artie? Check out week 7's post where I made a new stray cat friend.) He's so cute... every morning when I go outside, he's just sitting nearby waiting for me to fill up his foodbowl 🥺.
4) ePause! Hop on a Zoom call with some coworkers and we do a 10 minute meditation to kick off the day. After this ends, I kick off my Morning Hype playlist on Spotify.**
5) Stretch / pushups. The point is - do something phsyical. I don't really want to do a whole workout, just get myself moving abit. I maybe spend two minutes max on this.
6) Warmup my brain to think. Okay, now I do a quick mini crossword or NYT spelling bee game to try to get my brain moving. This morning I did Morning Brew's mini crossword, and I solved in about a minute and half. I think I'm going to start doing those as they feel less intimidating that the NYTimes ones.
Once I've done all those things, my brain has started to feel like I'm alive, awake, and alert. But I'm still not quite ready to put keys to the board and start coding, so time to do my "work warmup".
1) Check emails/slack. Read through any content of what I might have missed since I was last online. See if there's any new issues that came in, and be very careful not to let this turn into a rabbit trail.
2) Review any open PRs/Do code reviews. I actually find this to be a good way to start the day because my brain just has to read some code. And if I have questions, that's perfect, because I comment them and learn more.
3) Watch SHORT tutorial on something I'm working on. I realized one of the reasons I would struggle to get started on something was because I would often feel intimidated if I was stuck on something from the night before. I started to watch short videos on my specific thing I was working on to 1) help jog my memory, but also 2) give me more insight as to how I might solve my problem.
4) Timebox my first task. I am now ready to start coding and working on my tasks, but first I make sure to set a Pomodoro Timer and timebox it so doesn't feel so intimidating to get started. (If I know I just have to work and focus for 25 minutes, it feels manageable enough, and I often keep going well past those first 25 minutes before I need a break.)
What do you do to start your day like a developer?