A singer looks at a book of sheet music
A singer looks at a book of sheet music

Growing up, I was heavily involved in both musical and STEM extracurriculars. Many people would comment that this was a peculiar combination, but I always loved doing both! As an opera singer who is making a career change into the software development world, I wanted to communicate some similarities between the two skills that have made the transition a smooth one. You’d be surprised how many opera singers have made a similar switch!

1. Attention to detail. Learning opera involves having your eyes peeled for every punctuation mark, dynamic marking, and tempo marking in the music. Not doing something that’s written on the page could result in harsh words if you are working with particularly strict people. This translates well into code, where a stray comma, parenthesis, or misspelling will break your entire program. …


A window looking out over a city, slid partway open
A window looking out over a city, slid partway open

The sliding window method is a common strategy for optimizing an algorithm. This article will use code examples in JavaScript, but the technique is applicable to most languages.

There are several clues that this is the technique you’ll want to use for a problem. They typically involve unsorted arrays. If you are looking for a contiguous subarray that adheres to certain guidelines, you’ll probably want to use a sliding window. Contiguous means all numbers in the subarray are touching, as in you are not skipping any numbers within the subarray to come up with the answer. For example:

const array = ['a', 'b', 'c', 'd', 'e', 'f'…

Image for post
Image for post

Full-time job hunting can be extremely overwhelming. You have no boss to hold you accountable, no coworkers to commiserate with, and no paycheck to keep you motivated. Here are some tips for keeping things running smoothly.

  1. Stick to a Schedule. This is both the most obvious point and the most difficult. It can be hard to force yourself to keep a schedule when you get to make your own, and it is extra difficult when you are job hunting from home. However, once you have pushed through a whole week of sticking to a schedule, it becomes much easier. Your schedule becomes routine, and you no longer feel like you are swimming upstream. …

Image for post
Image for post

JavaScript doesn’t have a lot of the built-in data structures that other languages like Java have, so it can be tricky to know how to utilize them in JavaScript, if that is your current language of choice. This post is meant to demystify the modern JavaScript linked list in a way that makes sense for interviews and quick problem-solving.

For a brief review, linked lists are a data structure in which each node contains a value and points to one other node. It ends on a node that points to null instead of another node.

1 — > 2 — > 3 — > 4 — >…


Image for post
Image for post

Studying for data structures and algorithms questions can be extremely daunting, especially if you were never taught them in school. I’ve compiled a list of tips to help you develop your own strategy for tackling these difficult problems.

  1. Practice, Practice, Practice. This is the most important one of all. It doesn’t matter how much you’ve studied theory or memorized blocks of code if you don’t have practice solving a problem. Sites like Hackerrank and Leetcode categorize problems by difficulty and type, so they can be used to gauge your progress. …

Sarah Larkworthy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store