Day to Day Starting 11

The ToolSet Team to win championships

As a developer, I use (and have used) many tools to improve my productivity, outcomes, and to basically make my life a little easier on a day to day basis.

In this post, I will briefly mention the ones that I think have brought more value to my career and why.

Table Of Contents:

The Team

team

Github Actions

The goalkeeper, #1, a CI/CD system that is able to catch problems before reaching the users. Easy to setup, easy to scale, easy to understand. The ability to cost $0 for public repositories, or for self-hosted runners.

Main usages includes:

  • Running tests/checks on PRs
  • Ability to distribute builds

Some substitutes could be: Jenkins, or Bitrise.

SwiftLint

With #4 on the t-shirt, SwiftLint, a tool to enforce the team’s conventions for styling. The easiest way to avoid extra comments on PRs just talking about indentation.

SwiftFormat

On the other side of the defensive line, with number 3, SwiftFormat. With minimal set-up effort, a great way to automatically format the code to ensure it’s consistent across the codebase.

DangerSwift

#2 on the back for DangerSwift. Another great defensive tool, it can perform some basic checks on the PRs before, it can comment on PRs, or even block the merge if the rules are not met.

A substitute for this tool could be a good pre-commit hook, but we know that developers can by-pass those.

Monitoring Build Times

Wearing number 6, not a tool in itself, but the BuildTime is the player. A great way to be a little bit more defensive, is to constantly monitor the build time of your app, your modules, or even a particular method.

You can find information about this on this article.

FastLane

#5 has to go to FastLane, the tool that makes everything else easier, most of my automation is made (or is facilitated) by this tool.

Linear

With #8, the fastest member of the team, Linear. From all the project management tools I’ve used, this one is by far the one that feels faster. It doesn’t over-complicate things and is as easy to understand as it gets.

Some substitutes could be: Asana, Github Projects, or Jira. But those would need to try harder during practices to make it to my starter-11.

Figma

The go-to tool for designs, it gets the t-shirt #7. Not much to say about this one, no real substitutes right now.

Slack

slack

Number 10 for Slack, the collaboration tool. Without this team member, everything else would fall off. Can make you win games if used right.

RocketSim

A great scorer with the #9, RocketSim, a tool that gives your simulator super-powers. Great to enhance PRs by providing videos, and before/after screenshots.

A great scorer substitute is ProxyMan. Helping to capture, debug, and mock HTTP network request. Really useful to make sure all the scenarios are handled.

Notion

Finally, with #11, Notion, this is where all the documentation should live. Really helpful for design docs, team collaboration, feature documentation, edge cases. If used correctly, Slack communication becomes far easier, as you could point people to Notion docs when they ask for specific questions.

Manager (DT)

Me (or you, in your case). You are the manager of the team. You give the directions and specify to each player what to do. You are the responsible on the wins, and the person to blame on the loses.

ChatGPT

Finally, the assistant manager, ChatGPT. Whenever you need some assistance, it will always be there to ping-pong with you.

Substitutes

Some subs for the team, that were not mentioned so far:

  • Sourcery: Code-gen for protocols’ mocks.
  • Bors: Merge bot queue for PRs.
  • OpenAPI: Standard Interfaces for APIs. Useful in combination with code-generation tools.
  • Postman: Useful for quickly testing APIs.
  • Tuist: A tool to generate Xcode projects in a consistent way.
  • Periphery: A tool to identify unused code in Swift projects.
  • Learning your shortcuts

Let me know what is your starting 11! What am I missing?


Related Articles

Day to Day Starting 11 | manu.show
Tags: iOS
Share: X (Twitter) LinkedIn