I've been working as a web application developer for a little over a month now. My schedule's never set in stone, but I'm starting to find patterns in my daily life and I'm creating a comfortable workflow. Ready to live vicariously through me? Come along as we cut back to this morning - lights down, curtain up...


DEVELOPER: "A Day In The Life"

STARRING: You. And Me. Mostly me. How about Us?

[FADE TO: Parking lot. Birds chirping. Car engine crescendo, presumably from camera rear.]

8:30 AM: Get to the office. Drop our bag and log in to our computer.

8:35 AM: We check our email for error reports and check for any new tickets. An international team means 24/7 ticketing. There's one on hand regarding a feature fix - we'll take ownership of it for later.

8:45 AM: I like to start right into a project to get warmed up. We open a terminal in our third monitor and open our usual setup: 3 tmux panes (server, vim netrw, and empty command line). We'll get going by finishing the feature we started on yesterday.

Code code code

9:00 AM: Code code code. Our test suite is a work in progress so there's a lot of trial and error here. This feature's just a specific redirect after saving a record, but we have to consider the security aspects of letting the user set their own redirect url - we don't want someone posting all our data out to give-Us-Your-ID.com.

9:30 AM: The new feature looks good and tests well. We save, send a final git commit up, and deploy the fix. We then close out the ticket for this feature.

10:00 AM: Test the new feature in production - still looking good! Our team uses Slack to keep in touch, so we update our teammates on our progress so far. Good vibes all around. On to that new ticket from the morning.

10:30 AM: That feature fix was easier than expected. We polish it off, deploy the fix and close the ticket. Two down - GREAT day! Let's post a meme to Slack to celebrate.

Code Cat Knows No Fear

11:00 AM: Tickets are caught up, so let's move back to our big ongoing feature project. We've been working on this new feature for a few days now, but we've hit a stumbling block. We chat with our lead dev for a bit about possible solutions.

11:30 AM: We've got some great new ideas and our fingers are itching. We dive back into the code.

1:30 PM: We come up for air. The new feature's looking great so far but it's not very interactive -we've spent most of our time this morning working on data & backend. Let's grab a bite and take a brain break.

1:35 PM: There's a ticket. Looks like someone found a bug we missed this morning. Wolf down a sandwich at our desk while we patch the bug and close the ticket.

2:00 PM: We're back in vim and typing away. We've switched from Ruby to Javascript for a change of scenery. We've got some neat ideas for our feature.

Grumpy Debugger

2:30 PM: The feature's a little more interactive now. We've spent most of the past hour debugging but there's plenty more to come. Our other teammates (one senior, one other junior) stop in. They've just left a meeting about a new feature the other junior dev is working on. We all grab markers and turn to the room-length whiteboard to brainstorm.

4:00 PM: The whiteboard is covered in wireframes and our hands are all dirty from smudging dry erase ink. We've got some awesome new layout ideas and our coworker is settling in to get started on some code. We throw together a quick mock-up in HTML to help out.

4:30 PM: Day's end for us. We throw a couple comments into our feature code so we can catch up easily tomorrow, and we commit the changes to our feature branch so we're protected. Update our to-do list and do a final check in on Slack. Wait, wait, we just thought of a quick fix for that one bug...just one more line of code...

4:45 PM: Seriously. Time to go. Sleep the Mac, grab our backpack, and out the door. Looking forward to another productive day tomorrow!

[CUT TO: Parking lot, car peeling out into road.]