6 (crazy?) ways to become more efficient as a developer

For close to two years I've built Archbee all by myself and needed time for tasks other than programming, so I needed to become efficient. I know a thing or two about developer productivity. Read!

Dragos
Dragos
Founder, robot with feelings. From planet Aiur.

📖 Table of contents

Answer questions instantly

Build beautiful documentation portals that answer questions for your users, developers or team.

6 (crazy?) ways to become more efficient as a developer

Why should you read this article? For close to two years I've built Archbee all by myself and needed time for tasks other than programming, so I needed to become efficient.

I know a thing or two about developer productivity.

Read!

👇

1. Use 1 hour-long pomodoros

Pomodoro works! But for developers, the typical 25 min is not enough.

It can take up to 10 min just to warm-up and get into beast-mode.

So do whatever it takes to not get interrupted for 1hr, then get off the chair, do 10 pushups or squats.

Rinse and repeat.

2. Do a little research before writing any code

Yes, having a high-level view of what your task entails will help you.

Because... there are fewer chances of hitting roadblocks and starting over.

Because... once you have a clear view of what you need to do, you can get the hard things first so everything falls into place at the end.

3. Use a language with a tough compiler

Not shaming the JS, Ruby, or Python folks. Those are great languages and they can get your product started very quickly.

But as you reach even as little as 10K lines of code, it will become very hard to keep it all in your head. So why not trust our oldest friend... the compiler?

Use TypeScript with very strict settings. Python with type hints. Ruby with Sorbet.

If you are fancy and know what you're doing, go for ReasonML or PureScript.

Avoid fake strongly typed languages like... you know what we're talking about.

4. Documentation

Documentation has very low ROI at the beginning of a product/company. Because there are high chances of pivoting. Because there are very few people to share it with.

As soon as you hit a team of 10, docs are important.

But keeping your stuff in GitHub wiki is detrimental to your productivity. Contrary to popular developer belief, markdown in git repositories is not a productive way to share and contribute to team documentation.

Here you can use Notion, Google Docs, Confluence. Or why not, just use Archbee my product. It has some cool features for developer documentation.

5. Unit tests

This is a huge time drain, and we hate to write unit tests. Unless you're Uncle Bob.

Ditch classes wherever you can. Classes are for suckers. Sorry, but it's true.

Write pure functions with a single responsibility. Coupled with a tough programming language, you should be ok with just a few unit tests.

But write tons of integration tests. Test at the UI level with Cypress. That will make sure everything from the UI to the Database is hit, so you can have more confidence you're shipping ok code.

In my opinion, unit tests are one of those things you should take the Pareto approach with.

6. Avoid meetings & team chat

To have as many of those 1h pomodoros as possible, you need to shift your approach to one that's more asynchronous. Write more docs, cancel more meetings, stay off the team chat. Certainly don't spend time organizing JIRA tickets.

What would you add?

Frequently Asked Questions

What is the author's first suggestion to improve efficiency as a developer?
Expand FAQ
The first suggestion is to use 1 hour-long pomodoros instead of the typical 25 minutes. The author argues that it takes up to 10 minutes just to warm up and properly delve into work.
Why is researching before writing any code important, according to the author?
Expand Button
Doing a little research before writing any code gives a high-level view of the task, reducing the chances of hitting roadblocks and the need to start over.
What does the author suggest regarding the use of programming languages?
Expand Button
The author suggests using a language with a tough compiler such as TypeScript with strict settings, Python with type hints, or Ruby with Sorbet.
What is the author's opinion on documentation?
Expand Button
The author believes that while documentation has a low return on investment (ROI) at the beginning of a product or company, it becomes important once a team expands to about 10 members.
What approach does the author recommend to handle unit tests?
Expand Button
The author recommends writing pure functions with a single responsibility instead of classes. Only a few unit tests should be okay with a tough programming language, but lots of integration tests should be written. The author suggests using the Pareto approach (80/20 rule) with unit tests.

Read more in

Documentation