Appfire is an enterprise collaboration software company that enables teams to plan and deliver their best work. Since launching in 2005 as one of the original Atlassian ecosystem partners, Appfire has built a portfolio of top-selling apps for more than 30,000 customers - including 55% of Fortune 500 companies. As a product-led company, Appfire identifies gaps in industries serving developers and client support teams and then builds solutions that drive productivity and efficiency.
Appfire continues to grow exponentially, with teams spanning 20+ countries. We are financially strong, continuously meeting or exceeding revenue targets, and we invest heavily in strengthening the foundation of our organization. Being philanthropic is integral to operating our business, so we donate 1% of employee time, product, profit, and equity as part of our Pledge 1% commitment.
Come join our team!
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 officeIn agile and lean we trust - we keep our Sprints effective, and our Scrum teams small and decisive in practices that suit them bestOwnership - we want everyone on our team to feel empowered to grab the reins in their positions and help push the company forwardDaily communication with our product owners and UX / UI researchers and designers - who make informed business decisions based on continuous users behaviour monitoringShort time to market - we have major feature release every monthStartup 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
What you will do:
Designing and implementing new functionalities for our products and maintaining existing onesEnsuring high code quality - through tests (unit, integration, e2e), code reviews and team brainstormingWorking on features with product owners, UX / UI designers and frontend developersSharing knowledge with other developers and helping them growTechnically supporting our customers (5-10% of your time)
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 furtherPractice other cool approaches and tools like reactive programming, Event Sourcing, Apache Kafka or RedisFeel safe with our extensive CI process that automatically runs unit, integration, e2e, architecture, migration and performance tests on your commitsAnd 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
What we expect:
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 solutionsEstablished knowledge of Java, Spring, Hibernate / JPA, SQL DBs and RESTProficiency in your favourite IDE, in Git, Maven, Docker, Spock, JUnit, MockitoHigh problem-solving skills and hands-on approach (being eager to brainstorm, experiment and learn from mistakes)Willingness and determination for self-development and further educationGood 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 - see how our on premise and cloud products are designed (Confitura)Experience in robust systems integrations: caching, concurrency & reactiveness, throttling, authorisationPractice in monitoring, profiling and optimising production systemsLeadership skills: focus on efficient teamwork, mentoring & knowledge sharing, ensuring good atmosphere
How we will help you grow:
Free access to 2 e-learning platformsInternal tech guilds that meet on a weekly basis for knowledge sharingRegular, internal, one-week long, fully-paid hackathons - to give you a chance to play with what currently drives you mostPossibility to engage in mentor-mentee relationship with whoever other developer you find valuable to learn fromPersonal competency matrix to help you plan your growth path and then navigate through itAvailability to take part in tech events sponsored by us - like Confitura, Devoxx, or Code Europe
What we offer:
Salary (employment contract, UoP): 17 000 - 24 500 PLN gross/monthPossibility to apply for 50% tax deductible costs on creative works (AKUP/IP tax-deductible costs)Indefinite employment contract from day one, no trial periodsEvery Appfire employee is eligible for company equity26 paid days off, regardless of years of experienceWellness days - additional time-off each month to recharge and take care of yourself (1 day per month)Private healthcareMyBenefit platform - 150 PLN/month to spend on available shops, restaurants, gyms, etc.Home office allowance - 200 PLN/month to cover your electricity and internet billsLunch card - 300 PLN/month to spend on groceries / restaurants (excluding alcohol and other excise duties items)Life insuranceEnglish language courses
#LI-Remote