5 Things That Make My Software Developer Life Easier
Tags: python, webdev, productivity, programming
Published: 2022-10-21 16:22:26

While in a rush to be productive developers, we often forget that the system we build should work for us. Recently I stopped copying and pasting all automation, solutions, etc. Instead, I started thinking what are the things I don’t like in my current workflow and setup, and how to fix them.

Here are a few notes and ideas you can take as inspiration. Figure out which of those will solve your problems!      

## 1. Windows, Tabs, Files

The thing I found extremely useful is keeping shortcuts of the same purpose across different apps under the same key combination. Let’s assume that the three most used tools are: browser, IDE, and terminal. In my case it would be: 

- Arc browser
- Vs Code
- Warp

All of them have a common thing which is tabs! We can move, open, close, and reopen tabs in each one of them. Why not set the same shortcut for opening a tab across all of them? 

Let’s consider the “open new tab” command. 

Probably for most of you the new tab would be: `command + t`. I’m opening new tabs in VS code more often so I will keep the `command + p` as my “new window” shortcut. 

- in VS code it is opening the search file prompt by default
- in Arc, go to `Edit keyboard shortcuts` → find `New tab...` → double click and set it to `command + p`. At this point, you will probably get an error cause you try to overwrite the print shortcut. I got rid of it cause I’m printing the pages so often that I can do it with my mouse.
- In warp, “new tab” is set to `command + t` out of the box. But what is under `command + p`? It is the command picker. If we reconsider Arc, it is also a command picker merged with the search toolbar. Adjust this setting to your needs
    
    ![Untitled](https://kuba-szwajka.super.site/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2F2a315fc3-877b-4eec-bf82-d66fa7e9c092.png&w=1920&q=80)
    

This is just an example. Think how you can do the same with splitting windows, moving them around, etc. This helps with switching contexts a lot. 

## 2. Tests

Another useful shortcut setting is running the unit tests. Will show you my golden trio. 

**Run the test at the cursor.** When working on specific unit tests I want to run them as often as I can and not lose focus.

![Untitled](https://kuba-szwajka.super.site/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2F030f0713-a513-40aa-aa66-a1bd3527a071.png&w=3840&q=80)

That is also why I don’t use the `command + t` as a new tab. 

********************************************Debug test at the cursor.******************************************** Also sometimes I want to debug the test too. Here comes the chords in VS code. An extremely cool feature that unlocks a lot! 

![Untitled](https://app.super.so/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2Fad6149fd-e4fa-48fe-b5c8-c1641c24776c.png&w=2048&q=80)

****************************Run all tests.**************************** You expected that to be next. That’s a long command for me but I’m not using it very often. Still, it lets me stay focused on the code. 

![Untitled](https://app.super.so/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2Fa6541c43-a50d-477a-bd64-bbfd1974bc12.png&w=2048&q=80)

## 3. Theme, Theme everywhere

Generally speaking, I’m not the guy who argues which IDE/theme is the best one. But recently I found that there are some color combinations that keep me less tired longer in late hours.  Can’t tell you what are the rules for choosing such a theme but think about it and check a few.

Even I asked my girlfriend to make my wallpaper with colors I like. 

![tapeta1.png](https://app.super.so/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2Fa83a7b6b-5f49-4d34-a222-b4e548fd30fb.png&w=2048&q=80)

![tapeta2.png](https://app.super.so/_next/image?url=https%3A%2F%2Fsuper-static-assets.s3.amazonaws.com%2Fc0fc84d8-fb32-4194-8758-4be657666aab%2Fimages%2F6c1b6e33-8fc4-40d5-bf0c-9ade02298aff.png&w=2048&q=80)


## 4. Aliases

That’s the power! 

If you are working with `viertualenvwrapper` and multiple repos. Here is something for you. The only rule is to name the virtual environment the same as the repo. Now typing only `wo` turns on your virtual environment. 

```python
alias wo='workon "${PWD##*/}"'
```

Introduce color to file listing with `ls`.  Check [exa](https://the.exa.website/) file lister. It adds some colors and a few extras to standard `ls` which makes browsing a bit easier.

```python
alias ls='exa --long'
```

Some of the commands are always run one after another. Remember that you can merge them into a single one very easily. Simple example: 

```python
alias lint='mypy . && flake8 && black . --diff' 
```

Again, this is just an example. Let your imagination go wild. 

## 5. Time

I was always very skeptical about all Pomodoro techniques etc. But I gave it a try and tbh. I loved it. And no! it didn’t make me a productive machine! It just forces me to rest. 

Most of the problems I’m trying to solve for more than 10min are solved right after the break. That’s my personal statistic. Fresh mind? Different perspective? Idk. It works. 

But there always was a question after break. Where did I finish before?

My solution is a [Session](https://www.stayinsession.com/). And it is not a promotion :) but I will give you a few reasons why it is worth considering using it. 

- You can set how long your session should be.
- If you won’t stop, it is reminding you that you are working for too long.
- Every session is connected with notes. When finishing, I’m writing down in a few sentences where I finished and what should be next thought when starting a new session.
- You can browse back your notes.
- I’m working on multiple projects sometimes so I organize those sessions into projects also.
- Integration with apple scripts. I made myself one to close slack, email, messenger, etc. when starting a session. It helps a lot!

And many many more that I’m not aware of or not using yet. Those are only my favorites. 

---

I hope you get inspired! Let yourself play with those tools since they are here to make life easier. What is your unique workflow tool? 

Cheers!

This post was originally published on my [blog](https://kuba-szwajka.super.site/posts/posts/5-things-that-make-my-software-developer-life-easier). Check it out for more!