Productivity Icon

Productivity

Getting stuff done. Better. Faster. Stronger.
48 Stories
All Topics

 Vanessa Sochat cacm.acm.org

10 best practices for remote software engineering

What does “developer productivity” mean to you?

At face value, when we think of developer productivity we might think of effectiveness in time management, communication, and task completion. Although we are drawn to personal workflow or time management tools, and learning secrets to improving our productivity, ironically this quest for the holy grail can sometimes take us off course and be a detriment to our productivity. … As a developer of scientific software, and one who has transitioned to working remotely before any stay at home orders, I have slowly learned to optimize my own productivity by focusing exclusively on well-being.

Thanks to Vanessa for summarizing what she’s learned. Here’s a sample…

Establish routine and environment. Small details about your working environment, or lack of a routine, can hugely throw off your workday, and thus your productivity. You should generally pay attention to the lighting, noise level, and comfort of a work space. If you find yourself distracted by anything, you might consider changing your environment.

This will likely pair well with JS Party #169: Work environments & happiness

Productivity github.com

Calendso – an open source Calendly alternative

Let’s face it: Calendly and other scheduling tools are awesome. It made our lives massively easier. We’re using it for business meetings, seminars, yoga classes and even calls with our families. However, most tools are very limited in terms of control and customisations. That’s where Calendso comes in. Self-hosted or hosted by us. White-label by design. API-driven and ready to be deployed on your own domain. Full control of your events and data. Calendso is to Calendly what GitLab is to GitHub.

We’ve been happy Calendly users for years, but I do like the idea of white-labeling and hosting on our own domain. Calendso is built with Next, React, Tailwind, & Prisma.

Calendso – an open source Calendly alternative

VS Code wiki.dendron.so

A local-first, markdown-based note taking tool for VS Code

whereas most tools (try to make it) easy to get notes in, they tend to make it hard to get them back out later, and it only gets worse as you add more notes. Dendron helps you get notes back out and works better the more notes you have.

There are a zillion and one note taking apps out there, but I like how Dendron positions itself here. I’ve never had a note-taking system that I stuck with, mostly because I rarely go back and find things in my notes that are useful. Most of that’s on me, but I wonder if some of it is on my tools not making retrieval a priority…

A local-first, markdown-based note taking tool for VS Code

Alabe Duarte alabeduarte.com

Setting up a new machine

As I became to customise my settings more and more, having to set up a new environment wasn’t an exciting thing to do anymore. I not only have to remember to install all of these things that I need, but it became also tedious and demanded a large cognitive effort. Also, I got frustrated many times because I thought I was all set up until I realised I forgot to install a particular tool. This post shares some things I’ve learned when comes to automating my environment setup.

Jessica Kerr jessitron.com

Why purple developers are the real 10x engineers

Jessica Kerr talking productivity:

What makes a software engineer productive? You can list attributes like experience with the language, scientific mindset, intelligence, focus, a personally crafted IDE setup. Yet, in my experience, far and away the biggest factor is: familiarity with the codebase they’re changing.

This echoes some of our conversation with Jessica last year. She goes on to explain how the purple developer (pictured below) is 10x more productive than the others, not because they are inheritently better than them in some way, but because they are the ones who built the system in the first place.

Spread the knowledge, spread the productivity.”

Why purple developers are the real 10x engineers

Productivity zwbetz.com

Attention is my most valuable asset for productivity as a software developer

Zachardy Wade Betz with some deep thoughts on how he’s most productive:

My high-level workflow looks something like this: identify the problem to solve; think on the problem and let ideas percolate; research, discuss, and experiment with these ideas; implement and test the solution; deliver and maintain the solution.

This cycle could repeat many times in a day. Or I could spend days stuck on a single cycle step. Every step in this cycle requires attention. The more attention I can devote, the more cycles I can complete, and the more productive I am.

Nikola Đuza pragmaticpineapple.com

Improving your Vim workflow with fzf

Did you know that this fuzzy finder - fzf, can do a lot more than you thought? Oh yeah, the fuzzy search is just the tip of the iceberg here. It is like wine; the more you leave it on your computer, the more flavor and sweetness it accumulates from that command-line. Let’s dive in and find out how you can increase your productivity with fzf inside Vim.

Productivity github.com

The Tomboy note-taking application is still alive

Around the same time I started using Ubuntu I found Tomboy and it was a note-taking system unlike anything else I’d ever used. To me it was the great differentiator for the Linux desktop for a bit. It is a desktop-wiki that provides some incredibly interesting concept. I thought it had quietly passed away but it turns out it has been ported to a new stack and lives a good life with support for Mac and Windows under the Tomboy NG name.

The Tomboy note-taking application is still alive

Productivity chrismytton.com

Why to be prolific

Chris Mytton:

There’s a story about an art teacher that split their class in half. They told one half of the students that they’d be graded based on a single piece of work, and the other half that they would be graded on the quantity of work produced.

The half that was being graded on quantity ended up producing higher quality pieces.

By iterating and learning from their mistakes they actually ended up producing better work than the students that only had to produce one piece.

Quantity leads to quality.

This rings 💯% true. Most things I’ve gotten good at in my life have come from brute force and repetition. Energy begets energy and quantity eventually leads to quality. The key is to not judge yourself too harshly while you’re waiting for the quality phase to arrive.

Maxime Vaillancourt maximevaillancourt.com

Automatically labeling GitHub notification emails with Gmail filters

Maintaining a GitHub project with other people creates “many email notifications about various things.” But they don’t all hold the same importance. Maxime Vaillancourt shows us how to use Gmail filters and labels to better manage all the emails coming from GitHub issues, etc.

I receive many email notifications about various things that happen on there: direct requests to review a particular piece of code, feedback on pull requests I’ve opened, pull requests merged by their authors, people directly mentioning our username in a comment, issues closed by their authors, etc. I receive hundreds of emails every single week.

…using Gmail filters, we can automatically add labels to GitHub notification emails based on their content. This solution takes less than 10 minutes to implement, and the long-term return on investment is quite appreciable.

Automatically labeling GitHub notification emails with Gmail filters

Go github.com

Create beautiful system diagrams with Go

Go-Diagrams lets you turn this code:

d, err := diagram.New(diagram.Filename("app"), diagram.Label("App"), diagram.Direction("LR"))
if err != nil {
    log.Fatal(err)
}

dns := gcp.Network.Dns(diagram.NodeLabel("DNS"))
lb := gcp.Network.LoadBalancing(diagram.NodeLabel("NLB"))
cache := gcp.Database.Memorystore(diagram.NodeLabel("Cache"))
db := gcp.Database.Sql(diagram.NodeLabel("Database"))

dc := diagram.NewGroup("GCP")
dc.NewGroup("services").
    Label("Service Layer").
    Add(
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 1")),
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 2")),
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 3")),
    ).
    ConnectAllFrom(lb.ID(), diagram.Forward()).
    ConnectAllTo(cache.ID(), diagram.Forward())

dc.NewGroup("data").Label("Data Layer").Add(cache, db).Connect(cache, db)

d.Connect(dns, lb, diagram.Forward()).Group(dc)

if err := d.Render(); err != nil {
    log.Fatal(err)
}

Into that diagram 👇

Create beautiful system diagrams with Go

Productivity deprocrastination.co

How to stop procrastinating by using the Fogg Behavior Model

According to FBM, there are three things we need to do something:

  • Motivation
  • Ability
  • Trigger

The key is that we need to have all three at the same time in order to act. Since our problem is procrastination, we’ll focus on how we fail at each one of these.

There’s more good discussion about overcoming the sources of procrastination on Brain Science’s episodes on navigating procrastination and being indistractible.

Productivity github.com

Super Productivity – To-do list & time tracker for programmers

Organize your daily tasks at one place while making time tracking a lot less annoying. Super Productivity is a ToDo List / Time Tracker / Personal Jira Task Manager for Linux, MacOS and Windows aimed at reducing the time you spend with repetitive tasks and to provide you with a place to collect all the information you need to do your job.

This is a bit too much engineering for me, but perhaps you’ll like it.

Super Productivity – To-do list & time tracker for programmers

Productivity cbc.ca

There's a reason we procrastinate (and it's not laziness)

On an upcoming episode of Brain Science we’ll be talking about Indistractable by Nir Eyal. One of the larger topics of being distracted is procrastination. In the book, Nir says procrastination “originates from a need to escape psychological discomfort,” and in this post they say…

Procrastination is driven by our desire to avoid difficult emotions…

Pretty close, right? Read this if you want a nice primer on the concept of procrastination, what’s inducing it, and how to overcome it. Else, for the non-tldr, just read Indistractable so you can follow along with us during that upcoming episode.

Harvard Business Review Icon Harvard Business Review

The two things killing your ability to focus

I’ll save you a click if you’re only curious what those two things are:

1️⃣ connected devices
2️⃣ meetings

You and your business will benefit greatly if you can address these issues. You and everyone on your team will enjoy yourselves more and accomplish more. The data echoes what our common sense tells us: We need to carve out more time for ourselves if we want to remain focused and effective at work. These five daily practices will help.

Jose Browne josebrowne.com

On coding, ego, and attention

How you think has everything to do with the quality of your thinking. Great writing Jose 👏

If being a good software engineer means being a good thinker, then becoming a better one should mean improving the way we think… right? Well, no little shame in saying that it’s taken me more than a decade of coding to get this. To finally focus my attention on improving the way I think instead of learning yet another library, framework or programming language.

At a certain point, the things that got in the way of my growth had nothing to do with problem solving and everything to do with what was actually happening in my mind when I was engaged should have been engaging with a problem.

Lazarus Lazaridis github.com

stup - A CLI to easily save, access, and organize daily notes

The name derives from the Standup meetings since its initial purpose was to cover my need for keeping my Standup notes in a convenient way.

Quickly enter notes with a flexible text interface. Note creation looks like:

stup add @|--at|-@ <when> -n|--note "<note text>" -c|--category "<category-name>"

Then you can pull them back out by date, date-range, and/or category with:

$ stup show @ <when> -c|--category "<category-name>"

Notes are all saved as plaintext (markdown) so throw the entire directory in your synced-cloud-folder solution of choice and you have instant notes sync across all your devices.

0:00 / 0:00