As a Software Engineer Backend you will work in a small cross-functional highly autonomous development team. You will have not only the opportunity to shape the product used by 100,000 users globally but also a unique opportunity to learn from over a decade of experiences in building a world-class SaaS product. You will experience working in an environment with true engineering culture: frequent releases to production - short feedback cycles, full automation of testing & delivery pipelines, code reviews, on-demand research of new technologies & tools, hands-on workshops & direct collaboration with technology providers like AWS, continuous learning, long-term thinking & focus on continuous improvement of your own product.
Key Responsibilities for a Software Engineer Backend at Showpad
- Design, implement and deliver highly scalable and maintainable cloud-based backend services
- Maintain, monitor and improve existing cloud services
- Work together with Product Managers on defining and refining requirements
- Improve our development, testing and deployment processes
- Focus on the bigger picture because your outcomes will be a part of the whole platform of services and applications for a global customers base
- Share your knowledge and learn from the others
Required skills and issues for a Software Engineer Backend at Showpad
- Developing battle-tested backend code using JVM-based languages, Kotlin preferably
- Modern architectures and programming styles (DDD Strategic Design, Clean Code / Clean Architecture, Functional Programming, Reactive Programming, Structured Concurrency)
- Lightweight server-side framework such as Micronaut or Spring Boot
- Writing efficient SQL queries, for PostgreSQL preferably
- Working in a cloud environment, AWS preferably
- Containerizing and deploying cloud-native applications and services, k8s preferably
- Maintaining, monitoring and troubleshooting business critical services
- Writing testable code, also in a test-first approach
- Continuous delivery techniques, including full-stack testing automation
- Designing and implementing APIs for, and collaborating with, internal and/or public data consumers
- Team player mentality, committed to the whole software development lifecycle in an agile team
- Always-open-to-learn attitude
Bonus Points
- Big data, ETL, Spark & Scala is a plus