Senior Back-End Developer
Indexed description
About PositionWe are looking for a Backend Developer to join an experienced team of developers and help design and implement backend services, data models and processes. We are searching for an analytical mind capable of crafting abstractions and solutions for problems imposed by business domain and coding those abstractions using our preferred programming languages. Our focus is on OOP in Scala. While we may use some FP concepts and best practices from time to time, we are not an FP shop. Our development follows the Domain Driven Design methodology.
ResponsibilitiesWe design and code. We contribute to a process involving several transformation steps, starting from an idea (or a business need), crystallizing it into a relevant domain model, coding it, and finally, spinning it up to run our business 24/7.
✨ Delivery cycle usually corresponds to the following 6 phases:
- A Business Domain: It is a customer's business of interest.
- Model of a customer domain: It is constrained and purified view of a business domain, in the form of diagrams, drawings, text descriptions, pictures, and specifications.
- Model codified in a high-level programming language: High level abstractions with Domain Specification Language, which compiles into '"lower-level" programming language. This is where our developers learn and exhibit their software desgine and modelling skills.
- Model codified in "lower-level" programming languages: This is a phase where our developers learn and display their coding skills through Scala, Java, and PostgreSQL.
- Java Bytecode: We trust Java compilers so we usually don't interfere with it.
- Machine Instructions: Produced at runtime by bytecode interpretation and JIT compilation.
Requirements
- At least 10 years of experience working in backend development with Scala/Java or equivalent
- Good knowledge of OOP/FP paradigms and design patterns Hands on experience in working with transactional systems and concurrency
- You should be independent
- Fluency in English is essential
- Experience with one of these databases: PostgreSQL, Oracle, MSSQL or DB2
- Familiarity with Domain-Driven Design approach
- Experience with debugging and performance tuning of applications and servers
- A skills-oriented organization with experienced experts in software architecture and development - you can learn a lot from them
- An abundance of development opportunities
- Interesting and challenging tasks, spanning multiple engineering concerns (features, security, performance, CI/CD, architecture, observability, concurrency, etc.)
- Strong product department. Luckily, developers don't specify features like at many other shops (but your opinion is seriously taken into regard)
- An international and learning environment full of passionate and talented people
- Great work does and work-life balance
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search