Working During A Pandemic is Not The New Normal

As we approach month ten in the pandemic I’m consistently hearing sources discuss the idea that we need to develop a plan for the new normal. Well, in 29 years of living I’ve never experienced a pandemic before so in my frame of reference none of what we are experiencing is normal. A mass extinction the likes of which we haven’t seen since the Spanish Influenza, record unemployment, higher business failure, the list goes on and on. I fortunately have been able to retain my job during this time and refuse to accept that I am working from home. No instead I argue that I’m working through a pandemic from my home. I want to debunk some “New Normal Myths” that I hope to make it easier for some of us to cope during this time.

It’s Okay To Not Be Okay

Really, read the title of this section again. It’s okay to not have any idea what to do right now. It’s okay to feel the way you may feel and even more so there is no mandate to be okay. Let’s be real life is already stressful enough, but throw a pandemic into it, and we are now in what my friend Glenn calls a “global timeout”. Parents are being tasked with not only keeping a roof over their heads, but to become part-time school educators as well. Loved ones are being forced to make the choice to isolate and go long periods of time without seeing each other. One thing I’ve done to start tracking my mood and understanding what’s going on around me is to use an app called Daylio. It’s an application that prompts you at various points of the day to tap your mood and input some small notes about what you’re doing and or how you feel. I’ve noticed that this is helped me somewhat, but also there are days when I’m just not up to being okay. It is normal to not be okay right now, my only advice is to not stay in that place long.

Your Mental Health Is More Important Than Your Job

One thing I’ve noticed more advertisements than ever before across all mediums for mental health councilors. As the pandemic wears on and 2020 seems to get worse every day, many are finding that their basic emotional needs aren’t being met in this climate. This is leading to heightened depression rates, suicide, and more as people are just trying to survive. Based on my personal experience and what has been shared with me by others it seems that many organizations are content with enforcing hard standards for being present during work without providing the resources to take care of their most basic needs.

As a manager, I feel it’s my responsibility to check the mental state of my team regularly and find ways to support them as needed. This has ranged from being someone to vent at to bringing them food to make sure they can eat. As leaders within an organization during a pandemic the ways we normally engage with our employees has to change. As the employee I realize this may be a hard choice, but it’s better for you to protect your health than to burnout from over work. I’ve seen what that leads to and I can promise you’re not useful to yourself or others in that state. If you are finding it hard to get support from your manager almost every medium to large company that I’m aware of has an EAP program that serves to offer support resources to employees. To the best of my knowledge they aren’t allowed to report anything you request or share with your employer other than that fact that someone used EAP.

Set Up A Regular “Work” Routine

For those of us who are working from home, I get it. Wake up, roll into your work space, then roll onto the couch whenever you decide to finish work. Along with this comes with forgetting what day it is, longer than normal working hours, and asking the oh so infamous “when’s the last time I showered”? My best suggestion is to set a consistent work routine and don’t negotiate on it. There are a number of places you can look for suggestions on this, personally I’ve been following this article here. I try to make sure that I incorporate a number of breaks throughout the day. I just ordered a standing desk since I spend at least 8 hours a day staring at a screen.

Connect With People

This one is pretty simple, find ways to talk and connect with others. That last thing any of us need right now is to get stuck in our heads without any support. I’ve found a small community on Twitter for developers and have been to a number of Meetup events. I’ve made a number of friends from attending events from there and built a great support system. Do not try to get through all of this alone.

Take Care of Yourself First

As you continue to work and live through the pandemic his is just a gentle reminder to put yourself first. There is nothing more important than you continuing to do whatever you need to make it through this year and pandemic.

Let’s Talk About Git

I know what you’re thinking, not another Git article. Well, this was supposed to be a video, but one wind storm and falling tree limb later my office space finds itself in need of a face lift. Until then, I did want share this as it scares me the number of developers who aren’t familiar or comfortable with source control. I thought I’d put together an easy-to-read guide on some basic Git features and how to use them. Remember Git is file tracking system keeps record of historical changes in a file(s). It’s not as scary as it might look.

Installation

I’m going to assume that if you’re reading this article you know how to install an application on your machine. If not feel free to click here for a bit of help. I’m going to do a bit of assuming here that not everyone reading this will be comfortable with the Command Line Interface (CLI) so we’ll be working with a newer GUI provided by GitHub. For my CLI fans don’t judge me.

GitHub GUI

To get started with Git GUI a repository needs to be created or cloned from a remote server. A remote server can be anything from a public repository on GitHub to a local folder on your machine.

Upon clicking the Create New Repository option the UI changes and wants a directory that will be created and code will be stored in. For our purposes we’ll be creating a folder on the Desktop.

Now that there is a folder linked to a local repository file changes can be tracked by Git and controlled for file management. When a repository is created by default it is set at the master branch in most cases. When creating a Python project the default is set to main instead of master.

Let’s Track A File

Now that we have this empty repo let’s create a file using TextEdit with some sample wording in it. I usually use some lorem ipsum when I’m testing or demoing. After adding some text and saving the file head back to GitHub for an interesting development…see what I did there?

Who Dun It?

Git has noticed that we made some changes to our source and wants to now keep track of those changes. We do that by committing the changes to our master branch so they become a permanent part of our Git history. GitHub Desk likes for the user to sign in with their GitHub account so it knows who made the changes so it can assign the commit SHA, in other words a unique id for a change set to say who did what and when. Any files with changes will appear in the Unstaged Changes area. It is here that changes to the file will be highlighted to show what is new or what has changed. Here I also show where you can enter a commit message and push changes to your master branch.

Pushing Files To The Origin and Beyond

I’m going to take a break here for a moment to plug for GitHub. Since we are using their software when you push your code it will attempt to push the changes from your repository on your local machine to our space in GitHub. If you were using the CLI you can just push locally and not do this, but I’m going to suggest you should push your code. If you need support or help this allows you to invite others in or for people to see what you are working on. Public GitHub repos save lives.

Creating New Branches

To create a branch click on Branch and New Branch:

The only field that needs a value is the Name which will be the name of the branch being created.

Creating a branch causes it to be checked out immediately and all work done on the files to be committed to that branch.

Checkout Branches

Switching branches allows for working on multiple projects at any one time. In order to checkout a local or remote branch, click Current Branch and Checkout:

Click the branch that needs to be worked on like magic it should just check out.

Managing branches

Once a known good working version of the file or code is promoted into the master branch it is typically best practice to create a branch where code can be worked on and reviewed without affecting the master branch. This ensures that no matter what changes are made to the code a good working version always exists and can be used at any time.

Additional Resources

There is much more to Git than this document. Some of you might be asking “what about merging or I’m getting this crazy thing called a merge conflict”, I will address those in a separate article. This is really meant for those who are getting into Git or source control for the first time. Below are additional learning tools and resources for Git:

Git GUI (There is not an earlier version than this)

Git

Git GUI Windows

Git Bash and CMD

Git Bash and CMD are the command line tools that commands can be issued in to accomplish the same tasks as the GUI. CMD is much like Windows command prompt and lets Git commands be issued in the editor.

Bash steps up a bash environment to be used on Windows and accepts Git commands as well as some UNIX commands. If you are on a Mac (like me) or Linux then you can just install Git and use terminal.

Additional Learning

While Git GUI is easy to learn and pick up Bash is my preferred way of managing sources in my development environments and is a great tool to learn in general. Below are additional resources for learning Bash and the Git commands can be used in CMD as well.

Git command cheat sheet

Combating Imposter Syndrome in Technology

In my 10 years as a software developer I’ve struggled a lot with feeling like I’ve earned any of the positions I’ve been in. From a junior developer to engineering manager I’ve always questioned whether I’m good enough, and from what I see in the field I’m not the only one. That being said, I’ve found five ways to cope with my imposter syndrome and while I’m not offering a perfect method these are some helpful ways that have allowed me to function better in my role and the field as a whole. First before I lay those let me first start with a working definition of what Imposter Syndrome is.

What is Imposter Syndrome?

I’m going to start with the American Psychological Association(APA) definition of imposter syndrome which is “an experience of feeling incompetent and of having deceived others about one’s abilities.” A link to the rest can be found here. For the purposes of this article let’s move forward with the working definition that imposter syndrome is what we have above in addition to the need to validate one’s skills and abilities to others around them in or to feel valued. I realize this won’t apply to everyone, but I have a strong belief that it will apply to most.

You Are Good Enough – Declarations Over Your Day

I start each day with affirmations that I have taped to my bathroom mirror. I change it every week to something new, but it is a reminder that I’m not trash, garbage, or broken. I have nothing to prove to anyone and I’m not in my position by mistake. My current affirmation is “I am a caring, supportive, and strong leader. My team values me and the effort I put in to enabling them to perform as a high impact group”. While it may seem silly in technology many of us who are minorities or who are disenfranchised suffer from a lack of support from our management. In addition to that the STEM field has some elitist cliques that cause others of us to feel less than like “web developers aren’t real developers” or “writing HTML isn’t coding”. There are so many more, but statements like those cause many of us in the field to feel like the achievements we made aren’t significant enough or something we should be proud of. Push back against those thoughts and support every gain you have made to be where you are.

Join A Community

I recently started getting involved with the developer community on Twitter which lead me to another resource called WeStryve. On both platforms I’ve met some great people who are fun to be around and are encouraging. Find a community of people who are willing to support you and your progress as you grow. It doesn’t matter where you start the simple fact that you started and did anything is something to be proud of. Nothing is better than at the end of succeeding at whatever project or effort that you are working on than celebrating with a few peeps. Even more so that we are in a pandemic it’s vital more than ever to find ways to connect with others who also are in the field and can relate to some of your struggles. You don’t have to do this alone.

Find Your Uncle Iroh

I had to get an Avatar the Last Airbender reference in here somewhere, either that or Star Wars. I can’t even begin to stress the importance of finding a good mentor who is willing to hype you up. Even more than that they can deliver critical feedback that can support your growth and push you operate at the next level. I would suggest someone who has some or all of the following characteristics:

  • Patience – If you asked my mentor what kind of learner I am he’d likely say slow. Sometimes it can take me a few attempts to really understand what someone is explaining to me. I can’t stress enough that finding someone who works with you where are at is so important no matter what stage you are at in your development or growth.
  • Candor – You also need someone who can tell you like it is, openly and honestly. Having the ability to communicate in a manner that will stimulate your growth and understand where are at any given moment is important.
  • Trust – Quite simply you need to believe that whoever you’re working with has your best interests at heart.
  • Funny – Learning can be hard sometimes and often it’s so nice to have someone who can lighten the mood.
  • Composure – Having someone who can be emotional right along with you is great. I have had total dump tests with my mentor where we both feel like huge failures. What I love is that after a “good cry” he knows how to pull himself and others out of it to get back to the task at hand.

This list is by no means exhaustive and there are so many other things that can go on here. These are just some specific things I look for and try to give to my mentees. Total plug if you haven’t watched Avatar the Last Airbender go it! It’s on Netflix, you’ll thank me later.

Practice Your Craft

I’m not a fan of the phrase “practice makes perfect” because well, I don’t think there’s any-one perfect way to do things. I do believe that practice makes you better and in the technology space I would say it’s almost impossible to grow without practice. I’ll be the first to admit I do not want to code every single day. I do however make time to code regularly, so I can learn new skills and keep my current skills sharp. Much like learning anything you will have to practice to be good or even amazing at it, but also take breaks. Rest is a form of practice as well, no one functions on an empty tank.

Build A Safe Space for Others

Once I found a community that I could be a part of I felt it was my duty let’s just say to uplift others. I know what that sinking feeling feels like and I know even more that hopelessness that takes over, I can tell you I know exactly how that feels. Let me be the first to say there are days where still I can’t get out of that hole, but I chose to join and build up a community of people who can pull each other out of that. As you climb your mountain I encourage you to look back every once in a while not to love your pain, but instead to help lift someone else out who is suffering through it.

Remember You Are Not Alone

It’s hard out here. What I have here isn’t perfect or even the only way to address imposter syndrome, but it’s something that works for me and others. I still have bad days, and being honest sometimes bad weeks. I still encourage each and every one of you reading this to give it a try and seek what the results are, you might even be surprised. If you need an ear to vent to or want to come join me with some of the other awesome people I’ve met, hit me up. Remember most of all, you are not alone and you don’t have to do this by yourself. You are good enough.

Thank A Veteran Everyday

Credit: CRI Counter Terrorism Training School
Credit: CRI Counter Terrorism Training School

This isn’t an article as much as it’s a thank you note. I come from a family rich with those who chose to serve and while today is special let us remember that everyday is a great day to thank a veteran. Today is a reminder that no matter how grim things might seem I have freedoms that others only dream of because of those who served. So I want to thank my father, uncles, cousins, relatives, and every single person who put their life in danger to give us what we have today.

Pictured are my father and father-in-law whole both served in Vietnam
Pictured are my father and father-in-law whole both served in Vietnam

If you want to learn more about Veteran’s Day check out this great article by the CRI Counter Terrorism Training School.

What’s In My Tech Bag 2020?

My wife will happily share how much she loves a good purse and loves to coordinate them with her outfits, all the fun stuff. When I think of a good backpack I focus on three major areas ascetics, functionality, and longevity. I happily rocked the original The North Face Jester for men from high school all the way through my college years until it met a sad end from old age. After years of searching I finally found a happy replacement in the Evergoods CPL V1 linked here. Now I love a good tech back review as much as the next person so keep an eye out for my other articles how I make use of various types of backpacks. I’ll take you through my usual bag setup for everyday carry.

Laptop

First up the device I use the most is my 2019 16” MacBook Pro. Not only is is my work machine, but it also serves as my personal software development environment as well. It’s definitely my preferred option to use when I’m home. Besides coding I use it for writing, photo editing, and most of all searching for new projects to work on. If you are interested in a great review of this MacBook check out fellow Medium author Paul Alvarez linked here who has an amazing, but short review post that actually convinced me to purchase mine.

iPad Pro 12.9 (2020)

I usually don’t move too far around my house or outside of it without my iPad Pro. I picked it up after using the 11” for awhile because I wanted something that I could work off of should I choose too. Little did I know that Sidecar would become vital to my office set up. When I’m not writing at home the iPad Pro is a perfect device to work off of for writing, photo editing, reading, and surfing the web. My one complaint about the iPad Pro is that there’s not a good way to actually do software development on it. I’ve read and tried many of the articles that suggest using remote desktop to a computer and even using the Raspberry Pi which you can then connect to the iPad. Neither of them provided that raw development environment that I’m used to when I sit down at my MacBook. I’m hoping the introduction of GitHub Codespaces that may solve some of my issues, but I continue to hold out hope that the “pro” space for Apple will include more attention to developers in the future.

Tech Pouch

My tech pouch is a pretty simple item I found on Amazon to have a better way of organizing all the items I need to have with me when I’m working away from home. In the words of YouTuber Chase Reeves “Always need you, never want to see you”, and that best describes all the charges, cables, and other miscellaneous gear I keep here. My current case pictured above is soon to be replaced by the Bellroy Tech Kit which is in the mail right now. Once it’s here I might post a short article about how my setup has changed.

Misc Pouch

I have another pouch that holds pens, pencils, hand-sanitizer, all the fun stuff one needs but doesn’t want just floating around my bag. I’m using the Porterpen Case by The Brown Buffalo because it’s tough and best of all it’s water-resistant. I tend to toss some of my more sensitive items in there in for safety if it starts to rain while I’m out like my AirPods Pro.

Water bottle holder

So my only complaint about my backpack is that it doesn’t come with a water bottle holder built in and unlike some I’m a tiny bit nervous about sitting a water filled bottle inside my bag next to my $1200 iPad. Enter the Modular Water Bottle Holder by Black Ember. I love this for the simple fact I can add additional space for a water bottle to any bag I own. It’s a great but simple addition that closes the small gap I found with this bag.


There you have it, my tech bag in the year 2020. I’m a pretty simple person with a simple setup that works for about 90% of my workflow to accomplish what I need to. Keep an eye out as I’ll be following up with what my camera bag looks like.