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

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

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!

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 tip for becoming a more efficient developer?
Expand FAQ
The first tip for efficiency is using one-hour long pomodoros. According to the author, developers often take up to 10 minutes to get into 'beast mode', so uninterrupted one-hour work sessions can improve productivity.
What is the author's suggestion on using programming languages?
Expand Button
The author suggests using a language with a tough compiler like TypeScript with strict settings, Python with type hints or Ruby with Sorbet for keeping larger volumes of code in check. Languages such as ReasonML or PureScript could also be used by experienced developers.
What does the author say about documentation?
Expand Button
According to the author, documentation may not offer high return on investment at the beginning of a product or company due to high chances of pivoting and the lack of many people to share it with. However, when the team grows to about 10 people, documentation becomes important and should be kept in impactful tools like Notion, Google Docs, Confluence or Archbee.
What is the author's view on unit tests?
Expand Button
The author believes unit tests can be a huge time drain and advises to limit their usage. Instead, the author suggests writing pure functions with a single responsibility and composing tons of integration tests, applying a pareto approach to unit tests.
What are some ways the author recommends to increase the number of productive one-hour pomodoros?
Expand Button
The author suggests adopting a more asynchronous approach to work. Steps such as writing more documents, cancelling more meetings and spending less time on team chats or organizing JIRA tickets can help in enhancing productivity.

📖 Table of contents

Answer questions instantly

Create and share documentation that answers questions instantly with Gen AI

Discover Archbee

Receive documentation and technical writing tips & trends — our newsletter

Join 5000+ people from around the world that receive a monthly edition of the Archbee Blog Newsletter.

Read more in

Documentation