Software Engineer II
Mattermost
- Location
- Germany
- Job Type
- full-time
- Salary
- Unknown
- Posted
- September 16, 2025
Job Description
Mattermost is seeking a highly skilled and experienced Software Engineer II to design, develop, and maintain cutting-edge solutions that enable secure, efficient, and collaborative workflows for mission-critical industries like defence, intelligence, and critical infrastructure.
As a Software Engineer II, you'll work at the intersection of technology and user needs, delivering features that solve real-world problems, particularly in domains where precision, security, and collaboration are paramount. This is more than a coding role—it’s a product engineering role focused on building products with a direct impact on critical workflows. Your contributions to our open-core platform using your personal GitHub account will empower the broader developer community while leaving a lasting professional legacy.
The person in this role will join a fast-paced, flexible full stack team responsible for developing and delivering impactful features and systems that empower collaboration for the world’s most critical organisations. Do you have a passion for designing and developing high-impact products? Do you want to work with a well-oiled, collaborative and highly senior team? Do you want to make an impact on open source? Help us build and grow one of the largest React and Go open-source projects.
Responsibilities include:
- Design, build, and maintain software solutions using TypeScript, React, React Native, and Go to deliver secure and scalable products
- Take full-stack ownership by developing user-facing features, back-end architectures, APIs, and integrations
- Contribute to Mattermost’s open-source platform through GitHub, creating impactful open-source solutions for both internal and external ecosystems
- Collaborate with product managers, designers, and engineers to prototype and ship tailored solutions for complex workflows
- Mentor peers through code reviews, technical discussions, and knowledge sharing, fostering a culture of excellence
- Implement and maintain unit/integration/e2e tests to ensure code quality and robust platform performance
- Diagnose and resolve bugs or performance bottlenecks, ensuring security and reliability in deployments
- Leverage customer and industry feedback to iterate rapidly and deliver adaptable, high-value solutions
- Lead the development of mission-critical, customer-focused solutions, anticipating the evolving needs of defence, intelligence, and infrastructure industries
Requirements
- BS in Computer Science, Computer Engineering, or related field/experience
- 3+ years of experience working as a full-stack software engineer building scalable, production-ready systems
- Strong skills in our technology stack: TypeScript, React, React Native, Go, and/or PostgreSQL
- Expertise in full-stack development, including designing APIs, implementing frontends, creating fault-tolerant back-end code, and optimising database performance
- Enthusiasm for and experience developing with AI tools like Claude Code, Cursor and/or GitHub Copilot
- Solid understanding of modern development workflows, including CI/CD pipelines, distributed systems, and cloud infrastructure
- Comfortable working as a product engineer, focused on solving customer-centric problems in addition to writing code
- Strong written and verbal communication skills suitable for diverse audiences
- Capable of working independently across multiple time zones while actively engaging in team collaboration
Preferences
- Experience contributing to open-source projects
- Experience with end-to-end testing frameworks such as Playwright and/or Cypress
- Expertise in defence, intelligence, or security-focused workflows
- Has worked fully remotely with global teams
Mattermost takes a market-based approach to pay and pay may vary depending on your location. The successful candidate’s starting pay will be determined based on job-related skills, experience, qualifications, work location, and market conditions. These ranges may be modified in the future.
π― Who is this job for?
This position is ideal for a Mid-Level Full-Stack Software Engineer with 3+ years of experience in TypeScript, React, React Native, and Go, with a focus on secure, scalable systems. Candidates should be comfortable with API design, database optimization (PostgreSQL), CI/CD workflows, and contributing to open-source projects. Familiarity with AI development tools, remote collaboration, and customer-focused product engineering is a strong plus.
π¬ Potential Interview Questions
-
How would you design a versioned API between a Go backend and TypeScript clients (web and React Native)?
Prefer gRPC/Protobuf for internal services and REST for public clients, with semantic versioning and backward-compatible changes. Use an API gateway for auth/rate limits and generate TS clients from OpenAPI/Protobuf to avoid drift. -
How do you prevent goroutine leaks and ensure graceful shutdowns in Go services?
Propagatecontext.Context
through all call chains, select on<-ctx.Done()
in workers, and close channels. Tie servers and background jobs to a parent context and handle SIGTERM with time-bounded shutdown. -
What Postgres techniques do you apply to keep high read/write throughput?
Create covering/composite indexes that match query filters and sort order, monitor withEXPLAIN ANALYZE
, and use partitioning for large time-series tables. Keep transactions short and use connection pooling (e.g., pgbouncer). -
How do you secure auth across web and mobile clients?
Use OAuth2/OIDC with short-lived tokens and refresh flows; store tokens in secure storage (Web: httpOnly cookies + CSRF protection; RN: Keychain/Keystore). Enforce mTLS service-to-service and rotate secrets via a vault. -
How do you keep a large React app responsive under heavy state changes?
Split server cache from UI state (React Query/SWR), use React 18 concurrency (useTransition
,useDeferredValue
), memoize selectors, and virtualize long lists. Avoid prop drilling with context boundaries andmemo
. -
What are best practices for React Native performance and reliability?
Enable Hermes, minimize bridge traffic by batching/using JSI modules, and cache images/assets. Implement offline-first with normalized stores and background sync, and guard views with error boundaries. -
How do you design CI/CD for a full-stack repo (Go + TS) with high confidence and speed?
Pipeline stages: type/lint → unit → integration (Testcontainers) → e2e (Playwright) → build/sign images → deploy canary with auto-rollback on SLO breaches. Use feature flags and backward-compatible DB migrations. -
How would you implement observability end-to-end for mission-critical workflows?
Adopt OpenTelemetry for traces/metrics/logs with correlation IDs from client → API → DB. Define SLIs/SLOs (latency, error rate) and alert on error-budget burn; add structured security audit logs. -
How do you test complex UX flows reliably with Playwright/Cypress?
Use data-test IDs, stub flaky network dependencies where appropriate, and run against seeded databases. Parallelize specs, record traces/videos on failure, and quarantine flaky tests with auto-retry plus root-cause tracking. -
What principles guide your contributions to an open-core project like Mattermost?
Public, small, well-scoped PRs with thorough tests, docs, and migration notes; follow coding standards and ADRs. Maintain backward compatibility, add telemetry where relevant, and engage in reviews/issues transparently.
π Job Summary
Mattermost is hiring a Software Engineer II in Germany to build secure, high-impact collaboration tools for defense, intelligence, and critical infrastructure sectors. You'll work full-stack with Go, TypeScript, React, and PostgreSQL, contributing to one of the largest open-source projects in its space. This fully remote role offers the chance to shape mission-critical workflows, mentor peers, and work with cutting-edge AI dev tools in a highly collaborative, global team. Join a company where engineering meets purpose.