What We Would Like to See
- Practical knowledge of design principles, design patterns and architectures – what problems they solve (& what introduce), how to implement them
- The inherent need for tidiness in the code – on module, package, class and method levels (both in production and test code)
- Experience in designing legible, sustainable and expandable solutions
- Established knowledge of Java, Spring, Hibernate / JPA, SQL DBs and REST
- Proficiency in your favourite IDE, in Git, Maven, Docker, Spock, JUnit, Mockito
- High problem-solving skills and hands-on approach (being eager to brainstorm, experiment and learn from mistakes)
- Willingness and determination for self-development and further education
- Good English skills (B2 or higher)
- Nice to have:
- Knowledge of object-oriented programming, recently known as Domain-Driven Design (DDD)
- Established knowledge of the architecture of complex web solutions, ideally including cloud (SaaS) solutions
- Experience in robust systems integrations: caching, concurrency & reactiveness, throttling, authorisation
- Practice in monitoring, profiling and optimising production systems
- Leadership skills: focus on efficient teamwork, mentoring & knowledge sharing, ensuring good atmosphere
Job Purpose and Overview
We are looking for experienced Java developers to join our product team for BigPicture – one of the leading project management tools used by CEOs, directors, project managers and team leaders of over 12 000 companies worldwide.
How we work:
- 100% remote work (from Poland) – however, it is always open if you want to work from our modern Warsaw office
- In agile and lean we trust – we keep our Sprints effective, and our Scrum teams small and decisive in practices that suit them best
- Ownership – we want everyone on our team to feel empowered to grab the reins in their positions and help push the company forward
- Daily communication with our product owners and UX / UI researchers and designers – who make informed business decisions based on continuous users behaviour monitoring
- Short time to market – we have major feature release every month
- Startup atmosphere with direct informal communication with everyone at the company and with elastic working hours – all to keep you comfortable and simply happy to be with us
Technical highlights:
- Add your value to complex yet well-designed application, having over 100 modules and fully-fledged Domain-Driven Design (ubiquitous language, aggregates, domain events etc.)
- Practice your craftsmanship in good design (clean code, SOLID, Inversion of Control) and in various architectures (hexagonal, event-driven, pipes&filters, modular monoliths, microservices and more)
- Thoroughly test what you build: with unit, integration and e2e tests (Spock, JUnit, Mockito, AssertJ, REST Assured, WireMock, Testcontainers, Cypress)
- Learn our advanced cloud (SaaS) architecture: serving thousands of tenants (multitenant architecture), continuously monitored and profiled (ELK, async-profiler), and with state of the art release process (feature flags, canary releases). We use AWS and GCP. Help us advance our cloud architecture further
- Practice other cool approaches and tools like reactive programming, Event Sourcing, Apache Kafka or Redis
- Feel safe with our extensive CI process that automatically runs unit, integration, e2e, architecture, migration and performance tests on your commits
- And for all of you frontend lovers out there: it’s worth knowing that this is one of the largest and most ambitious Angular projects in Poland
How we will help you grow:
- Free access to 2 e-learning platforms
- Internal tech guilds that meet on a weekly basis for knowledge sharing
- Regular, internal, one-week long, fully-paid hackathons – to give you a chance to play with what currently drives you most
- Possibility to engage in mentor-mentee relationship with whoever other developer you find valuable to learn from
- Personal competency matrix to help you plan your growth path and then navigate through it
- Availability to take part in tech events sponsored by us – like Confitura, Devoxx, or Code Europe
What We Offer
- Salary (employment contract, UoP): 13 500 – 18 000 PLN gross/month
- Possibility to apply for 50% tax deductible costs on creative works (AKUP/IP tax-deductible costs)
- Indefinite employment contract from day one, no trial periods
- Every Appfire employee is eligible for company equity
- 26 paid days off, regardless of years of experience
- Wellness days – additional time-off each month to recharge and take care of yourself (1 day per month)
- Private healthcare
- MyBenefit platform – 150 PLN/month to spend on available shops, restaurants, gyms, etc.
- Home office allowance – 200 PLN/month to cover your electricity and internet bills
- Lunch card – 300 PLN/month to spend on groceries / restaurants (excluding alcohol and other excise duties items)
- Life insurance
- English language courses
,[Designing and implementing new functionalities for our products and maintaining existing ones, Ensuring high code quality – through tests (unit, integration, e2e), code reviews and team brainstorming, Working on features with product owners, UX / UI designers and frontend developers, Sharing knowledge with other developers and helping them grow, Technically supporting our customers (5-10% of your time)] Requirements: Java, Spring, REST, Hibernate, JPA, Docker, Databases, SQL, Maven, Spock, JUnit, Mockito, DDD, Hexagonal Architecture, SaaS Additionally: Company equity, Private healthcare, Lunch card, Life insurance, MyBenefit Platform, home office allowance, English language courses, remote work, Indefinite employment contract from day one, Free coffee, Free breakfast, Free beverages, Free snacks, Modern office, In-house hack days, start-up atmosphere, No dress code, In-house trainings.
Git throttling REST caching domain-driven-design Hibernate code-profiling Mockito authorization JUnit Spring SaaS concurrency spock Docker SQL Java JPA monitoring Maven Leadership