# Dev productivity tips & tools

## **Tips**

The following tips would improve the speed and consistency in work. Decreases the lazyness around working productively.

### **Keyboard shortcuts**

1. Selects the whole thing - `Shift` + `fn` + `->`
2. More control over the selection - `Shift` + `->`
3. Word by word movement - `Ctrl` + `->`

### **Intellij specific**

Search the codebase - Press `Shift` 2 times

### **Windows-specific**

Snippet - `Win` + `Shift` + `S` Powershell options - `Win` + `X` Organize windows - `Win` + `->` or `<-`

### **Emoji**

Bring brilliance to the discussion.

| Emoji | GitHub Markdown |
| ----- | --------------- |
| 🎉    | `:tada:`        |
| 👍    | `:+1:`          |
| 😂    | `:joy:`         |
| 😃    | `:smiley:`      |
| 💚    | `:green_heart:` |

Note: complete [emoji list](https://gist.github.com/rxaviers/7360908).

### **Unicode symbols**

Unicode arrows (→ ⇒ ⇄ ↻) reference [link](http://xahlee.info/comp/unicode_arrows.html)

### **Thank you**

Thank often both the robots and humans. Thank at the beginning, during and at the end of any code review process.

In a `Pull Request (PR)` there are about `10` *Thank you*'s!

### **Shall we ask questions or give a request or suggestion?**

Even though we are sure about something, let us give some room for discussion by asking a question.

### **Email etiquette**

See <https://www.grammarly.com/blog/how-to-end-an-email/>

## **Privacy**

### **Mail address**

Make sure to have a different email addresss for Open Source discussion with a pseudony, such for example, **corepointer** or **j143**. So that email address can be `j143 [at] protonmail.com`.

### **Full name**

Full name of a person is to be kept private.

1. If you are using Gmail, navigate to <https://mail.google.com/mail/u/0/#settings/accounts>.
2. In the `edit info` section, you might want to remove your second name! :)

See <https://en.wikipedia.org/wiki/Principle_of_least_privilege>.

## **Tools**

### **Grammar correction tool**

Always check for typos in emails, comments or discussions.

Some tools: [Grammarly](https://www.grammarly.com/)

The chat language ("u" instead of "you") to be avoided, write down full sentences.

### **Pomodoro technique**

Manage time and stay undistracted!

> How it works?
>
> 1. Choose a task you'd like to get done
> 2. Set the timer for 25 minutes
> 3. Work on the task until the time completes
> 4. Note it as one *pomodoro*
> 5. Take a short break

see <https://francescocirillo.com/pages/pomodoro-technique>

A chrome extension at <https://github.com/schmich/marinara>

### **Git documentation**

One stop shopping for all that is git.

see <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>

### **Vocabulary**

The words that we frequently use in development conversations

For example:

1. How to understand a problem, better?

Aritcle link: <https://www.theschooloflife.com/thebookoflife/the-task-of-turning-vague-thoughts-into-more-precise-ones/>

1. Many things just don't work the first time, and we do need to repeat them *again* and *again*.

Article link: <https://www.theschooloflife.com/thebookoflife/on-resilience>

## **External links**

1. A Human Guide to Developer Productivity. link: <https://snipcart.com/blog/guide-developer-productivity-tools>
