But First, Don’t Do the Dishes

This is a guest post from Sonja Parsell. Enjoy.

Dear Developer,

Don’t misinterpret a small distraction, or even a big disaster, as a “sign” that coding isn’t for you.

There were definitely times in my journey when a break in learning was completely justified, but by no means should I have seen it as a reason to quit, or that I was missing the message that I didn’t have what it takes to be a developer.

Thanks to a lot of personal reflection, some low-tech research about my habits, behaviors and values, and not a small amount of tough love, I am happy with my progress now, even though it’s taken years to get here.

Maybe you’re struggling with something similar?

Don’t sweat DO the small stuff.

No outside factor is going to make you more productive, and if you need a certain atmosphere to be at your best, you’re not truly in control of yourself.

Rachel Hollis

I used to feel like the house had to be tidy before my mind was clear to sit down to learn/code. If I couldn’t get those tasks done, how would I ever have time to hold down a software engineering job?

My habit of clearing up the breakfast dishes, tidying up after the whirlwind of getting kids off to school, and letting the “silent do-do list” (totally worth a Google) shout at me was definitely keeping me from maximizing the best time I had to learn to code. I knew if I didn’t squeeze some coding practice in by 10:00 AM, it was likely not going to happen that day. 

Those chores were a waste of my best hours. I learned to walk away from the mess in the kitchen (it was hard at first) and I now spend my most productive hours on my most important goal: becoming a software engineer.

Because really, there will always be dishes and laundry. I really didn’t mean to give them priority. 

Never enough time.

You can’t see the silver lining through victim goggles.

Jen Sincero

I used to think I would never have enough time to learn enough to get hired. Who was going to employ me as a career-changer over 40?

Running is my go-to form of exercise because it’s one of the only things in life I get “enough” of in a short amount of time. At some point, I am tired and I have to stop. That feeling rarely comes when I’m writing code.

As a SAHP (stay at home parent) for the last eight years, my time hardly feels like it’s my own. But everyone has the same 24 hours in a day, right? How could I feel so unproductive?

To solve this, I started with a basic Excel spreadsheet by listing all the things I wanted to do, or were my responsibility (household tasks, volunteering, hobbies, learning objectives, social commitments, family obligations, after school activities, etc.). It seemed endless. No wonder I wasn’t actually doing any of it consistently or well!

After keeping track for a few weeks of what I actually participated in each day, the results were eye-opening. I now had a map of how I spent my time and, most importantly, where I could save it.

The four biggest changes I made to my days were:

  1. Saying “No.” or “Not now, maybe later.” to anything that would interfere with my best coding hours: socializing, volunteering and doctors appointments were strictly scheduled for late afternoons or weekends only.
  2. Waking up at 5:00 AM to have a few quiet hours to myself. This was transformative in how I felt about my progress (by the time I ate breakfast, I had already coded for two hours!) and how the day progressed. 
  3. Giving up a few things. I put a few hobbies on hold, graciously backed out of friendships and groups that didn’t make me happy, and even taught my kids to make their own breakfast and pack their own lunch.
  4. Finding what to learn, when. I lined up coding podcasts for meal prep time. I caught up on all my Slack groups while waiting for the kettle to boil. I quit social media for periods at a time (apart from Twitter – all tech related for me). This helped to keep me focused but not burned out from just sitting at a screen, trying to learn in a silo.

Because really, you have more time than you think you do. You can’t do everything, but you can do anything you set your mind to. Spend your time wisely.

“You want to make websites??”

The first stage of forming an ambition requires imagining yourself in a role that requires skill and that exists outside of the domestic sphere.

Anna Fels, “Necessary Dreams – Ambition in Women’s Changing Lives

I used to think my family and friends didn’t understand what I was trying to do or even why. So why on earth did I think it was a good idea? I must be crazy.

My friends said things like “You want to do WHAT? You’re training at a bootcamp for a nuclear what?”. (True story.) And there were giggles, looks of confusion, and eventually, they would change the subject, still in the dark about my goal.

My wonderful spouse thought it was an interesting hobby, but wasn’t excited to make space for it if my studying schedule interfered with the division of household tasks.

Through an amazing “Moms in Tech” slack group, I found hundreds of women trying to do what I am. We were all struggling with the same imposter syndrome, were misunderstood by loved ones (at some point in our journeys), and were filled with self-doubt. I decided to enroll in my coding bootcamp on the heels of a meaningful discussion with these women over Slack. I’ll be eternally grateful for their input, and I’m determined to pay back the favor someday to anyone who needs a sounding board.

Because really, your family and friends may never understand what you are trying to do. That’s why the coding community is so critical to your success. Just jump in and find your people. I promise they are looking for someone just like you.

Make progress every day.

It’s not complicated, it’s just unfamiliar.

fellow software engineering bootcamp student to whom I am eternally grateful and wish I knew your name

I used to feel like a failure for not achieving the coding goals I made each day, even if they were SMART goals. If I can’t figure this out, how am I going to move on?

You might want to finish a small feature but when you’re a newbie coder, nothing is linear. First, you need to know what 1a, 1b, and 1c mean, with the right syntax, and know what the errors are telling you, before you can even get to B. That’s NORMAL and it can take a lot of time.

What helped:

  1. Keeping a journal of what I worked on every day. It helps to see your progress in words. And it reminds you of what you learned. Recall is an important part of learning. 
  2. Realizing I had too many things going at once. As a newbie, you feel the pressure – excitement even – to learn all the things at the same time. It’s truly a discipline (and worthy of practicing) to be able to focus on one language, complete one tutorial, or to build one thing at a time.
  3. Repeating a course or an exercise doesn’t mean you’re not learning the concept or syntax. I know I need to see it, read it, watch it and then write it – at least 3x – before it feels familiar.

Because really, you’re still successful if you make consistent progress, not specific goals.

Driving with the brakes on.

Be strict about your goal, but flexible in how you get there.

Rachel Hollis, Girl Stop Apologizing

I used to think that when I had to take weeks or even months off from coding to take care of myself or my family, it was the ultimate sign I should quit. What else could it possibly mean?

I’ve been learning through babies and children under foot, a trans-Atlantic move, a brain hemorrhage, recovering from a brain hemorrhage and vision impairment, and, just two weeks after I spent some serious money by enrolling in a bootcamp, the pandemic hit. All the time I had reserved to finish the program, became dedicated to more housekeeping and homeschooling than ever seemed possible.

But six months into 2020, I was still totally committed to, and absolutely in love with my studies and — guess what – I was finally convinced that this is what I should be doing.

Yes, it took a pandemic.

Because really, changing your life is SO HARD. You just have to work harder. And you can, you just might be lining up at the start more times than you originally thought.

If I belong here, you belong here.

Regret is the thing we should fear the most. Failure is an answer. Rejection is an answer. Regret is an eternal question you will never have the answer to.

Trevor Noah, Trevor Noah: Born a Crime

We are our own worst enemies and often close doors that aren’t ours to close. Only you know exactly why you started this coding journey, and that’s all that matters. Don’t let anything or anyone stop you. 

Especially those dishes.

— Sonja

Sonja Parsell is nearly finished with her software engineering bootcamp. After 15 years on Wall Street working in various finance and operational roles, she’s beyond excited to pursue an engineering career in blockchain. You can read more about her story.

Be kind

Dear new developer,

Kindness is an unsung virtue for software development. I touched on it in this post on empathy, but wanted to emphasize it again.

Practice kindness. When I was young, I thought scoring points and being right were important. They are, but being kind and a good human is even more important.

Be kind to your teammates

They are working with you to try to solve problems. They bring different experiences and perspectives. Value those. Assume positive intent. Yes, there may be the occasional toxic person, but in my career the vast majority of my co-workers wanted to do good work and help our customers.

Be kind to them by listening to them, trying to understand and incorporate their perspectives, and honoring your commitments to them.

Be kind to your users

Making software is an excellent career for many reasons. One of the best parts of my career has been building tools that help others do their jobs or live their lives more easily. To do so requires understanding of their problems, empathy for their constraints, and a vision for how to improve both.

Be kind to them by listening to them, especially when they talk about their problems. Understand that what you do is magic.

(Think of a highly focused discipline that you aren’t familiar with. I’m not a car person, and I still think that the fact that you can turn a car and have the tires go different distances without impacting the overall vehicle speed is pretty magical. This is similar to what users think about developers.)

Use your powers for good.

Be kind to your friends and family

As much fun as coding is, don’t disappear into it entirely. Spend time with friends and family. Forge those bonds.

I promise you in five years you won’t remember the precise problem you were solving today, but the friendship and family bonds you foster will sustain you.

Be kind to them by spending time with them.

Oh, and when you do, don’t talk shop. That gets pretty boring pretty quick.

Be kind to yourself

I read another tweet about a developer being burnt out and quitting the industry recently. It made me sad, because I think I could write software until my 80s. Not full time, but man can it be fun. It can also be horrendous. The environment matters, but so does setting and enforcing boundaries. Make sure you do so.

Be kind to yourself by taking regular vacations, setting and clearly communicating boundaries, and celebrating your wins at least as much, if not more, than your failures.

If you wouldn’t say something to a close friend in the same situation, don’t say it to yourself.

In conclusion, be kind.

Sincerely,

Dan