You will be responsible for designing, building, deploying, and maintaining cloud-based microservices, APIs, and frontend applications, that power our user experience. Your contributions will span backend microservices (F#, C#) frontend applications in Angular, automated tests, and infrastructure as code. You will have full ownership of the platform, making decisions concerning architecture, tooling, and processes. This role involves following best practices such as Clean Architecture, DDD, and TDD principles within an agile environment. We seek fast learners with a passion for technology, a commitment to quality, a proven track record in problem-solving and design, and strong interpersonal skills.
What You'll Do / Key Responsibilities:
General:
- Design, develop, test, deploy, maintain, and improve software.
- Write secure and robust code, treating application security as a top priority.
- Collaborate within cross-functional teams including product managers, designers, and other engineers.
- Participate in code reviews and contribute to a high-quality codebase.
- Troubleshoot, debug, and upgrade existing systems.
- Create and maintain technical documentation.
- Develop and maintain suites of automated tests.
For Senior Level:
- Lead the design and implementation of scalable and robust software solutions.
- Develop and maintain backend components (.NET/F#) with a possibility to contribute also to frontend (TypeScript/Angular).
- Make architectural decisions and contribute to our technical roadmap.
- Mentor junior and mid-level engineers.
- Champion best practices in software development, e.g. functional programming, TDD, CI/CD and similar.
- Identify and resolve complex technical challenges.
For Regular Level:
- Develop and maintain backend services and user-facing features (TypeScript/Angular, .NET/F#).
- Contribute to the entire software development lifecycle.
- Work on server-side logic, databases, APIs and client-facing applications as needed.
- Write clean, efficient, and testable code.
What You'll Bring / Qualifications:
General:
- Excellent communication and teamwork skills.
- Ability to learn new technologies quickly.
- Bachelor's degree in Computer Science, or equivalent practical experience.
- Strong understanding of industry standards like git, SQL, Agile, unit testing, etc.
For Senior Level:
Must-Haves:
- 8+ years of experience in software development.
- Proficiency in backend development with .NET (F# or C#).
- Experience with REST API design and development.
- Experience with cloud platforms, preferably Azure.
- Strong understanding of software architecture and design patterns.
Nice-to-Haves:
- Experience with frontend development with TypeScript and Angular.
- Experience with SQL database technologies.
- Experience with containerization using Docker.
- Experience with CI/CD pipelines, ideally using Terraform.
- Contributions to open-source projects.
For Regular Level:
Must-Haves:
- 3+ years of experience in software development.
- Experience with backend development using .NET (F# or C#).
- Experience with REST APIs, designing and implementing API contracts.
Nice-to-Haves:
- Experience in frontend development with TypeScript and Angular.
Why Join Us? / What We Offer:
- Competitive salary and benefits package.
- Remote work options and flexible working hours.
- Actual impact on the choice and shape of solutions developed.
- Modern and well-maintained tech stack (latest LTS of .NET, Angular).
- Opportunities for professional growth and development.
- Training and conference budget.
- A collaborative, innovative work environment with an iterative agile approach.
The Process:
1. Application: Submit your resume describing your experience and skills. A Polish work permit is required for this position.
2. Screening Interview: An initial screening call with our HR team.
3. Company Fit Interview: A discussion with the Engineering Leadership to assess your technical and cultural fit and to answer any questions you may have.
4. Home Assignment: A practical coding assignment to evaluate your technical skills, similar to the work you would do in this role.
5. Final Interview: A final, obligatory on-site technical interview with the team you would be working with to discuss your assignment and assess your fit.