Craig Atkinson
Home
Blog
About
  • Running Android emulator tests in GitHub Actions

    Oct 20, 2022 Android CI github github actions

    Tests for your Android application can come in a couple different flavors: Unit tests Connected Android tests You can execute the regular unit tests under the app/src/test directory without any special setup, but for the connected Android tests under app/src/androidTest you'll need a real device or an Android …

    Read More
  • Five ways to be a force multiplier in software engineering

    Apr 24, 2022 career development

    As you move along in your software engineering career, one of the biggest ways you can have a larger impact is to be a force multiplier. What does it mean to be a force multiplier, you might ask? Having an outsized impact on others beyond your direct contributions. For example, helping level-up the skills of other …

    Read More
  • Stop lighting money on fire: Seven tips to improve developer productivity

    Oct 27, 2021 development productivity observability

    Software engineering teams are a critical component of many companies, where the effectiveness of these teams can have a significant impact on the company's success. Making investments in areas such as these in improving developer productivity will pay off significantly, giving development teams more time to focus on …

    Read More
  • Lessons learned from building an open-source side project

    Sep 18, 2021 open source side project

    On Twitter you'll see jokes about folks purchasing domain names in the hopes of launching a side project. Then that domain comes up for renewal, taunting those never had the chance to launch that side project. A couple of years ago I did the unthinkable - I built and released an open source side project and then …

    Read More
  • Why write code comments?

    Aug 21, 2021 code development

    We've all seen it, code comments that are so obvious they add nothing but noise to the codebase. Redundant comments restating exactly what operation the code is performing. For example, this function's purpose is obvious from its name - adding a comment as well doesn't add any value: 1// Verifies if the auth token is …

    Read More
  • Cypress browser testing leveraging React Testing Library

    Aug 19, 2021 Cypress React testing

    If you're writing unit tests for your React components these days, there's a good chance you're using React Testing Library. It supports user-focused testing with reliable selectors to find elements, such as the data-testid attribute or finding an element by role. Specific and reliable selectors are key to make sure …

    Read More
  • Code coverage stats - are they helpful?

    Jul 5, 2021 code-coverage metrics testing

    Code coverage - how many code lines and branches are accessed during a test - is easy to measure in many languages and test frameworks. And at first glance, measuring code coverage seems like a no-brainer. After all, who wouldn't want to make sure their code is sufficiently tested? But just because a metric is easy to …

    Read More
  • Testing OpenTelemetry JVM instrumentation with Kotlin

    Jun 29, 2021 OpenTelemetry observability Kotlin testing

    The OpenTelemetry Java instrumentation agent automatically instruments many common frameworks but there are times you may want to customize your application's telemetry by adding your own custom spans, adding attributes to existing spans, etc. In that case, it can be helpful to verify the custom instrumentation through …

    Read More
  • First steps into observability with OpenTelemetry, Honeycomb, and Kotlin

    Jun 6, 2021 OpenTelemetry Honeycomb observability Kotlin

    In this post we'll go through my initial journey to add observability to the Projektor test reporting app using OpenTelemetry and Honeycomb. Projektor already has traditional monitoring with metrics around p95 response times for each REST endpoint, counters for successful and failed operations, etc. But I was intrigued …

    Read More
  • Verifying order of React elements with React Testing Library

    Apr 6, 2021 React testing

    Recently I was working on sorting rows in a table in React and I wanted to be able to verify the rows sorted into the correct order. The table shows flaky tests (that is, tests that intermittently fail) and is built with Material Table. Material Table conveniently supports sorting out of the box by clicking on the …

    Read More
    • ««
    • «
    • 1
    • 2
    • 3
    • »
    • »»

Craig Atkinson

Software engineer, continually curious, highly caffeinated.
Read More

Featured Posts

  • Ten communication tips for staff-plus engineers
  • Four keys I look for when reviewing software pull requests
  • Five ways to be a force multiplier in software engineering
  • Lessons learned from building an open-source side project

Recent Posts

  • Faster test failure debugging with GenAI?
  • Separate plumbing code from business logic
  • Faster Gradle builds through caching and parallelization
  • How many alerts are too many?
  • ChatGPT experiment - analyzing a team's oncall impact
  • You can't build everything: opportunity cost in software development
  • Ten communication tips for staff-plus engineers
  • Four keys I look for when reviewing software pull requests

Categories

DEVELOPMENT 23 TESTING 8 ANDROID 3 CI 3 MOBILE 3 OBSERVABILITY 3 CAREER 2 REACT 2 DEVOPS 1 EXPERIMENTS 1 ON-CALL 1 OPEN-SOURCE 1 ORGANIZATION 1 PRODUCTIVITY 1
All Categories
ANDROID3 CAREER2 CI3 DEVELOPMENT23 DEVOPS1 EXPERIMENTS1 MOBILE3 OBSERVABILITY3 ON-CALL1 OPEN-SOURCE1 ORGANIZATION1 PRODUCTIVITY1 REACT2 TESTING8 TOOLS1
[A~Z][0~9]

Tags

DEVELOPMENT 10 TESTING 9 KOTLIN 5 TEAM 4 ANDROID 3 GITHUB 3 GRADLE 3 OBSERVABILITY 3 PRODUCTIVITY 3 REACT 3 CAREER 2 CI 2 CYPRESS 2 DATABASE 2
All Tags
ANDROID3 CAREER2 CHATGPT1 CI2 CODE1 CODE-COVERAGE1 CYPRESS2 DATABASE2 DEVELOPMENT10 DEVOPS1 DOCKER1 EXPERIMENTS1 GITHUB3 GITHUB-ACTIONS2 GRADLE3 HONEYCOMB1 INDEX1 JOOQ1 KOTLIN5 KTOR1 METRICS1 MOBILE2 OBSERVABILITY3 ON-CALL1 OPEN-SOURCE1 OPENTELEMETRY2 ORGANIZATION1 PERFORMANCE1 POSTGRES2 PRODUCTIVITY3 REACT3 RECHARTS1 SIDE-PROJECT1 TEAM4 TESTING9 TOOLS1
[A~Z][0~9]

Copyright © 2025 CRAIG ATKINSON. All Rights Reserved - Privacy policy