More advice from someone who claims to know what they are doing.
More advice from someone who claims to know what they are doing.

Many guides exist for the basics of interviewing. I want to take it one step further. Much like the way I write programming guides that are one step above beginner, this will be an interview guide for being one step above beginner.

We will take some introductory concepts, and extend them to make them more applicable.

Many of this will come from my coding bootcamp and career coach, and some of it will be inspired by my own experiences.


You should already have some preparatory work done. You should be familiar with the STAR method to answer questions. You should also have planned out some questions that you may receive, and thought about the answers for them.

LinkedIn has a nice feature of “unfurling” links. When you add a URL in a post or your “featured” profile section, LinkedIn will show a small preview of the site you are linking to. This includes a title, description, and image.

A new post with a preview title and image.
A new post with a preview title and image.

However, you might notice that when you host a personal project and share it on LinkedIn (or any social network, really), it may not show a description or title, and it almost certainly will not show an image. It also will not give you the option to input an image, even within the “featured” section.

A new post with no preview image.
A new post with no preview image.

If you share a link from Medium, Twitter, or IMDB, it will always have an image. What can you do to fix this for your own webapps? …

Hooks are an amazingly useful feature of git. Once your repository gets to a medium size, you may want to make a few quick checks whenever you commit. For example, you could run a linter, check for TODOs, or even auto-send emails! A “hook” is just a simple script that runs during various important times, like before git commit.

When to Run

Hooks are bash scripts that exist within a repository. If you go into .git/hooks, you will probably already see a few examples. Each hook has a different filename depending on when it is run. …

A Dive Into Some Odd Aspects of Medium’s Platform

I always enjoy reading about large and complex problems, but sometimes it is interesting to dive into a tiny incongruity.

I write my blogs in markdown, then post them to my personal site, then import them to Medium. …

As a follow-up for my previous post, I thought I would look at VSCode from a more intermediate level. Specifically, getting into a larger codebase. Once you get a job, or join an open-source project, you will be thrown head-first into a large codebase. Whether or not you get an introduction, it is good to know how to dive in.

Visual Studio Code Tricks

Presumably you will start with a simple task. You will be given a file, and be told to change it. However, you may not know how to find everything that interconnects with the file!

cmd-shift-f: search all files. This can be useful for a number of…

It is possible to export a Docker container for use on another machine.

However, what if you have two containers locally that are connected with docker-compose, and you want to export them together?

Unfortunately, you can’t quite do that. However, exporting them both together with your compose file is not that difficult.


Let’s look at an example. Say I have a project/ directory, with two subdirectories: project/frontend/ and project/backend/, and each has its own Dockerfile. A project/docker-compose.yml that connects them together might look like this:

version: "3.2"
build: ./backend
- ./backend:/app/backend
- "8000:8000"
stdin_open: true
tty: true
command: python3 runserver
build: ./frontend
- ./frontend:/app
# One-way volume to use node_modules from inside image
- /app/node_modules
- "3000:3000"
- NODE_ENV=development
- backend
stdin_open: true
command: yarn…

When I was first learning Python, the concept of virtual environments seemed unnecessary to me. Why would I bother keeping track of a different set of libraries within my current directory? What is wrong with the global ones? It wasn’t until I became a more mature programmer that I realized the usefulness.

After a few years of writing python, you may have multiple different versions of python on your system. Each version may have different libraries, and when you install a new library, it may have different requirements to other things. This eventually can get very confusing, but it can still be handled. …

I imagine you will have some exposure to asynchronous logic in Javascript. A brief history: originally, JS only had callbacks, then they also implemented promises, and more recently we have seen async/await. However, you may still stumble upon old functionality that only allows callbacks.

How, then, can we adapt a callback-based function to use async/await? Well, we will have to respect the entire history of Javascript asynchronicity. For example, the JS FileReader object has to wait for an onload event:

const reader = new FileReader()

reader.onload = (fileEvent) => {
const fileContents = …

Image for post
Image for post

This guide will walk you through a method to integrate S3 hosting with Rails-as-an-API. I will also talk about how to integrate with the frontend. Note while some of the setup is focused on Heroku, this is applicable for any Rails API backend. There are many short guides out there, but this is intended to bring everything together in a clear manner. I put troubleshooting tips at the end, for some of the errors I ran into.

For this guide, I had a Rails API app in one working directory, and a React app in a different directory. I will assume you already know the basics of making requests between your frontend and backend, and assume that you know how to run them locally. This guide is quite long, and may take you a few hours to follow along with. …


Elliott King

NYC, fullstack

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