What does this mean for technical-interviews and life in general?

Image for post
Image for post

Flashback

In 2009 I was in high school calculus class receiving an admonitory speech from our teacher about how we wouldn’t always have a calculator in our pockets, and thus couldn’t use one on the upcoming test. At this point, the iPhone had already been released and though it wasn’t the ubiquitous object it is today, I’m sure at least some of my classmates had one in their pocket. My teacher’s statement was already on its way to being outdated.

I will give my teacher credit though (she was a great teacher too), predicting the rise of the smartphone and the accompanying pocket-calculators even at this time would have been tough. Even tougher would be predicting that everyone would walk around with the entirety of mankind’s collective knowledge in their pockets accessible at their fingertips through mobile browsers. …


Image for post
Image for post
Look Familiar?

TL;DR

Communication is More Important Than Your Coding Skills

A few short months ago when I started writing on Medium I vowed never to write a post with a clickbait title. So, there you have it. The title is the thesis to this whole post. Feel no obligation to continue reading (reading only the title is a common practice anyways, right?).

Communication and Coding

There’s a famous quote attributed to Phil Karlton:

There are only two hard things in Computer Science: cache invalidation and naming things.

That quote is certainly true while purely discussing the topic of computer science. If we expand to include areas that use computer science though, it’s clear that communication takes the cake as the hardest part. …


Image for post
Image for post

Check out the previous posts in this series if you haven’t already!
Vim for Developers: Part 0 — Why Vim?
Vim for Developers: Part 1 — The Basics
Vim for Developers: Part 2 — Advanced Basics
Vim for Developers: Part 3 — Advanced Vim
Vim For Developers: Part 4 — Custom Configurations

TL;DR — If you’re somewhat familiar with NeoVim/Vim and you’re just looking for a badass config, you can check out my dotfiles here.

Extending Vim?

If you’ve been following along this whirlwind of a ride that is learning Vim, you’ve probably noticed that this inconspicuous, little text-editor has seemingly endless functionalities and features. Why then would we need to add plugins? …


Image for post
Image for post
It’s a metaphor

Check out the previous posts in this series if you haven’t already!
Vim for Developers: Part 0 — Why Vim?
Vim for Developers: Part 1 — The Basics
Vim for Developers: Part 2 — Advanced Basics
Vim for Developers: Part 3 — Advanced Vim

TL;DR — If you’re somewhat familiar with NeoVim/Vim and you’re just looking for a badass config, you can check out my dotfiles here.

Making Vim Your Own

We’ve covered a lot in this series so far. We’ve learned many commands, some you’ll learn to love more than others. …


Image for post
Image for post
How You’ll Look and Feel After This

Check out the previous posts in this series if you haven’t already!
Vim for Developers: Part 0 — Why Vim?
Vim for Developers: Part 1 — The Basics
Vim for Developers: Part 2 — Advanced Basics

TL;DR — If you’re somewhat familiar with NeoVim/Vim and you’re just looking for a badass config, you can check out my dotfiles here.

Taking It to the Next Level

By now hopefully you’ve read the previous posts and you’re hopping about text files, sans mouse and arrow-keys, with ease.

But what about really using Vim to code? Projects usually have more than one file. How can we really start working with a bunch of different files and directories as efficiently as we do with a standard IDE? I’m glad you asked! …


Image for post
Image for post
Did You?

Check out the previous posts in this series if you haven’t already!
Vim for Developers: Part 0 — Why Vim?
Vim for Developers: Part 1 — The Basics

TL;DR — If you’re somewhat familiar with NeoVim/Vim and you’re just looking for a badass config, you can check out my dotfiles here.

Advanced Basics

An oxymoron as a title?? These are un-chartered waters. Hopefully by now you’ve checked out Part 1 of this series and learned the very basic Vim commands.

The reason I’m calling this post advanced basics is everything I’m going to teach you is plain-old vanilla Vim. No extensions or nothing. But these are slightly more complicated commands and use-cases, and rely on a working knowledge of the material outlined in Part 1. …


Image for post
Image for post

Check out Part 0 of this series if you haven’t already! It will tell you what you can expect from these posts.

TL;DR — If you’re somewhat familiar with NeoVim/Vim and you’re just looking for a badass config, you can check out my dotfiles here.

The Basics

This post will walk you through the very most basic functionalities of Vim. These are the fundamentals and are important to master before moving onto more complicated use-cases.

Installing NeoVim

Installing NeoVim is very simple and well-documented. You can find the details, by operating system, here. I’m a Mac user and installing it was as simple as:

brew install…


Image for post
Image for post

**Note: I will be using NeoVim for this series. I address why below. But 99.99% of everything I cover will work exactly the same in Vim8. So, if you’d prefer to use Vim8 you can still learn a lot! From here on out I will use Vim and NeoVim interchangeably, unless noting differences.

What is Vim?

Once I, a dog-lover, was talking to my friend, a cat-lover, about cats and their general disdain for humanity. That’s when he said something I’ll never forget. “The thing you don’t understand about cats is they’re not dogs”. Woah. Profound. What he meant was if you approach a cat the same way you would a dog, it’s just not going to work. …

About

David Ondrich

I usually write code, but sometimes blog posts

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