10 Workspace Guidelines for a Superior Developer Experience

1. Make Docker the only dependency.

2. Remote or local should not matter.

3. Ensure a heterogeneous-ready workspace.

The Rule of Twos

4. Running a single microservice and/or a subsystem of several ones should be equally easy

5. Run databases locally, if possible.

6. Implement containerization guidelines.

7. Establish rules for painless database migrations.

a. Flyway hosts this introduction to database migrations

b. See this blog post by Daniel Miranda et al. about database migrations for Cassandra

c. Check out this example of using Node’s DB-migrate-SQL for a MySQL database

8. Determine a pragmatic automated testing practice.

9. Branching and merging.

10. Common targets should be codified in a makefile.

  • start: Run the code.
  • stop: Stop the code.
  • build: Build the code (typically a container image).
  • clean: Clean all caches and run from scratch.
  • add-module
  • remove-module
  • dependencies: Ensure all modules declared in dependency management are installed.
  • test: Run all tests and produce a coverage report. • tests-unit: Run only unit tests.
  • tests-at: Run only acceptance tests.
  • lint: Run a linter to ensure conformance of coding style with defined standards.
  • migrate : Run database migrations.
  • add-migration: Create a new database migration.
  • logs: Show logs (from within the container).
  • exec: Execute a custom command inside the code’s container.

Java developer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Creating GitHub Branches

Best Practices for Triaging and Fixing Bugs

TWiGCP — “Back from Cloud AI Week”

Why Choose Software Engineering


Tip of the Week: Keeping Track of Your Inventory

Adelta Tutorial — Part 1: Differentiating a Simple Shader Program

Vapor code generation with Sourcery

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
M.hosein abbasi

M.hosein abbasi

Java developer

More from Medium

SOLID Design Principles

Agile Development in Software Engineering

Agile Software Management Part V: Challenges and How We Overcame Them

Enforcing Code Structure with ArchUnit