Jobs at Specmatic

Developer Job Description

About Specmatic

Specmatic is a pioneer in Contract-Driven Development (CDD) and Executable API Contracts. This modern software development approach emphasises the use of API specifications as actionable, enforceable contracts. It allows development teams to use API specifications not just as static documents but as dynamic, executable contracts that can be automatically tested, verified, and used to simulate service behaviors.

 

Here’s an overview of how executable API contracts work and their benefits:

 

– Contract as Tests: This aspect automates testing by using API specifications to generate tests dynamically. It ensures that the implementation consistently adheres to the specified API contract, facilitating ongoing compliance with the defined API behavior.

 

– Contract as Stub: This allows for the stubbing of services based on their API specifications, offering a mock version of the API that behaves according to the contract. This is particularly useful for testing and development purposes, as it allows client applications to interact with a simulated version of the API.

 

– Enhanced Collaboration: By centralizing API specifications in a repository, it becomes easier for teams across an organization to collaborate. A central contract repository acts as the single source of truth for API specifications, streamlining the process of proposing changes, conducting reviews, and ensuring compatibility before integration.

 

– Preventing Breaking Changes: Tools like Specmatic can be used to enforce backward compatibility checks as part of the merge process in version control systems. This helps in identifying potential breaking changes early in the development cycle, thereby reducing integration issues and fostering a smoother deployment process.

 

– Automation and CI Integration: Executable API contracts integrate well with Continuous Integration (CI) workflows. By automating contract testing and stubbing within CI pipelines, teams can ensure that changes are validated for compliance with the contract before they are merged and deployed.

 

Adopting executable API contracts offers several advantages, such as improved API reliability, better collaboration between teams, and a more efficient development process. By treating API specifications as living documents that can be executed, tested, and validated, organizations can move towards a more agile and resilient microservices architecture.

 

For more detailed insights into executable API contracts and contract-driven development, you can explore Specmatic website, which outlines how to turn contracts into executable specifications, and discussions on practical adoption journeys and the significance of maintaining a central contract repository.

 

Expectations

  • Drive features independently with guidance from leadership and other senior team members
  • Being an early team member you will also be expected to own certain aspects of the product and be a subject matter expert on the same
  • Guide and coach fellow team members and junior devs
  • Will be great if you are able to spread the word about the product by speaking at conferences and writing about the same

Reporting structure

    • We’ve a very flat organizational structure. You would be directly reporting to the CTO of the company.

Location of work

  • Remote primarily (however from within India)
  • With occasional in-person meetings to work together as a group

Timings

    • This is a full time role
    • Core business hours between 10 AM and 6 PM daily
    • Occasional meetings outside core business hours on need basis

Tech Stack Currently being Used

  • Programming language: Kotlin, Java, Typescript, Python,
  • API specification standards: OpenAPI, AsyncAPI, WSDL, RESP, GraphQL, gRPC
  • Framework: Spring Boot, Node.js/Express, FastAPI, Sanic
  • Programming Style: TDD, OOP, Functional Programming
  • Source control: Git
  • IDE: IntelliJ Idea & VS Code
  • Testing Framework: JUnit 5
  • Build system: Gradle
  • DevOps Platform: Github

Product Roadmap

https://specmatic.io/roadmap

 

Learning Opportunity

Just the process of getting on boarded to the project can give you a sea of knowledge in several areas

    • Be at the forefront of Contract Driven Development which is quickly becoming an approach of choice for all companies large and small
    • Putting large language models to use to revolutionize entire development process
    • Software Engineering
    • Contemporary and Bleeding Edge Techniques
    • API Design (RESTful & Async) and Specifications (OpenAPI, AsyncAPI, etc.)
    • Continuous Integration Pipelines and principles
    • Test Food Pyramid – Types and purposes of various types of tests
    • Extreme Programming Techniques
    • Evolutionary Design and Architecture
    • Test Driven Development
    • Refactoring
    • Pair Programming
    • CI/CD
    • Git Branching Strategies, Pull Request Etiquettes
    • Trunk based development
    • Programming Languages and Clean Code Practices
    • Kotlin, Java, JavaScript, Python, C# (near future)
    • SOLID Principles
    • Functional Programming