Tools I use everyday as a senior web developer 🔧 
Tags: tooling, javascript, python, productivity
Published: 2021-12-20 19:20:03

Hey everyone! 

I'm going to go off track in this article and talk about the tools I use on a regular basis. These are tools or languages that I need as a startup **and** as a senior web developer. 

At [Arbington.com](https://arbington.com/) we use all of these tools, too. 

Let's start with the ones you're most likely interested in: developer tools! 

## Developer tools 
Every day I work on the code base at my startup. And every day I use these tools.

This isn't the full list, I'm sure I'm forgetting tools and languages, but these are the immediate ones that come to mind as a full stack web developer. 

### Languages
Everyday I write JavaScript and Python. 

JavaScript, because, well, what's the alternative for client-side coding? Not much, really. So I'm stuck with it and make the best of it. 🤷‍♂️ 

I also use JavaScript in terms of Webpack to compile my JavaScript and CSS. That's server-side JavaScript through Node.js, which isn't exactly the same as browser-based JavaScript. It looks the same, but has a different purpose. 

And Python, because, well, it's powerful, fast, easy to maintain, and the ecosystem has every possible package I could think of. 

### Tools 
**The command line!** Holy smokes is this important. Don't discount it as "and old way of doing things". Modern devs ALL use the command line for everything from running tests, compiling code, accessing servers, and committing code to GitHub. 

Speaking of GitHub, **Git and GitHub**. I use GitHub to host my repositories, but you can just as easily use BitBucket or GitLab. And I strictly use Git on the command line because that's what servers use - so if I ever need to SSH into a server, I'm well equipped with the knowledge and tools I need to pull down my latest changes. 

**Docker** is another big one. I have multiple projects on my computer that user different versions of Python or Node.js. 

Instead of installing all these different versions (ie. Python 3.6, 3.7, 3.8 and 3.9) I simply use a Docker container that downloads that version and compartmentalizes it in a virtual machine-like instance. If I no longer need it, I just delete it. And it has no effect on my laptop. 

**Developer tools**, in the scenario of a browser's dev tools. Namely, I use Chrome and Firefox. But all major browsers have dev tools. It's great for debugging JavaScript and Ajax/Fetch requests to see what your server is returning. 

**VS Code** is the editor I choose to use. I was late to the game because I used to love Sublime, and Notepad++ before that (is my age showing, yet?). But I'm really happy with VS Code and it has built in support for JavaScript, TypeScript and Python with extensions for a Git GUI, Docker container management, and more. I still prefer the command line for most things, but not everyone is as command-line-focused as I am. 

That's my day-in-day-out set of tools. Pretty simple, right? You don't need much to do a lot these days. 

I also make use of cURL, Vim, ipython, Jupyter notebooks, tmux, Docker compose, the kubernetes command line tool, and plenty of other fun tools. But if I didn't have any of these on a typical day, I'd be OK to carry on. 

## Non-dev tools
I use quite a few non-dev tools in my day to day life. And you probably use a lot of these too. 

**G Suite** or whatever it's called these days - we use this for hosting email and creating internal documents at Arbington.com. 

**Calendly** is new to my tool belt, and I'm happily paying for it. It hooks into numerous calendars and lets me book times with teachers and students, and send follow up emails. 

**Stripe.com** for processing payments. I have an article on how to get started with Stripe to accept money from customers through your website. I also use **PayPal** to pay my vendors, staff, teachers and other misc. expenses. 

**Airtable** is a service I would be lost without. It's like Google Sheets, but on steroids! It's powerful, fast, has a great API, and lets me put our teams data into a centralized place to digest, keep track of tasks and clients, and has version history on each record. 

**Dropbox** for storing files. While we do pay for G Suite, Dropbox just seems friendlier and I don't lose any of my files. It's basically an advanced folder system for the web. Plus it's API lets me gracefully handle large files. Everything from business docs, ideas, and videos - if it's a file, it goes in Dropbox. 

**Slack**. I know I know, some people are booing me for not using Discord. But Slack is the brand name in business communications, and Discord is known for fun and gaming. We don't pay for Slack yet, but we use it every day to communicate with each other. If you don't have a team slack, definitely try it out. 

**Zoom** is probably the most popular program for most people these days. In a pandemic, everything goes virtual - meetings, coffees, beers, pair programming... you name it, it's likely on Zoom (or Google Meet).