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 - get to know the BigPicture team better here and here
responsibilities :
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)
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
requirements-expected :
Practical knowledge of design principles, design patterns and architectures - what problems they solve (& what introduce), how to implement them - see our take on DIP, DI and IoC (Javeloper), plus some of our OOP best practices (GeeCon)
The inherent need for tidiness in the code - on module, package, class and method levels (both in production and test code) - see our approach to modularity (JDD)
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