Skip to content

Tools

Scenario

  • Someone suggested a tool that will "make my life easier" - but it's hard to use
  • I know enough about a tool to get my job done, but it's a struggle
  • I don't know what tool to use to do my work

Key Takeaways

  • The right tools make the job MUCH easier.
  • Read the documentation or do the tutorials for tools you will use - it will save time in the long run

Learning tools is part of your job

It's ok to spend time working through tutorials and learning how to use the tools effectively. It will make you more efficient and productive overall!

Code Tools

Static Code Analyzers

Why use it?

Helps maintain consistent code quality and best practices.

There are many tools available to analyze, standardize, and clean up code in automated ways.

Some examples are:

  • Type checking
  • Linting - Static analysis on source code to flag patterns that might cause errors or other problems (reference)
  • Code formatter
  • Logging

Templates and Blueprints

Why use it?

Using templates helps standardize code and implements pre-configured best practices

Some example code blueprints from @hagenjt1:

Debuggers

Why use it?

Makes debugging code MUCH easier! See the Debugging section for more info.

  • gdb

Workflow Tools

Source Control

Why use it?

Tracks changes as you work and lets you always go back to a working state...provided the changes were committed! So commit often!!

Continuous Integration/Continuous Deployment (CI/CD)

Why use it?

CI/CD can automate testing and verifying that code is correct by building and running tests. This can help prevent Breaking Changes.

Some example tools:

  • GitLab CI
    • There is a lot of contents and it can be daunting to learn...but is not that hard!
    • GitLab's documentation is pretty good: https://docs.gitlab.com/ee/ci/
  • Bamboo CI
    • Ties to BitBucket

Integrated Development Environments (IDEs)

Why use it?

IDEs can streamline the development process and have a lot of features to make life easier

Notetaking

Why use it?

Keeping good Documentation will help yourself and others on the team

Some example tools:

Confluence labels

I found adding labels to Confluence pages makes finding them much easier. This allows you to group similar pages by content or topics so you can find all related pages at once.