We are looking for experienced Java generalists to work on our Electronic Patient Portal and Integrated Digital Care Record system.
PKB integrates data flows across multiple organizations across the healthcare system, while putting the patient in control of her data.
We're building something that actively, directly, improves the lives of people in general -- not selling more stuff, helping others sell more stuff, or making comfortable people a bit more comfortable.
We are a fully remote team with a dozen developers, spread across half a dozen countries within a few hours of GMT (for shared working hours).
The major components of our stack:
- Postgres data store
- Wildfly, Spring Boot and Dropwizard for hosting/running applications
- Docker for deployment and packaging
- Prometheus, Grafana, Pagerduty for monitoring
- Jira, Confluence, Bitbucket, Teamcity for managing the development flow
- Ansible and Vagrant for controlling development and shared environment
- Java 8 and some Python here & there – we're open to others, preferably JVM-based languages
- Selenium and Arquillian for end-to-end and integration testing
We are all remote: there is no central office. We communicate primarily through chat (Slack) and issue tracking (JIRA), as needed over phone (Slack, join.me and similar, Skype, etc.) and we meet up once in a month in person for a day or two – usually in London.
You can use any OS/IDE/editor you like – whatever makes you productive. The only hard requirement is that you can run Docker containers and git somehow. We have devs running Windows, OS X and Linux.
We have all kinds of interesting stuff to work on -- after a few weeks or months of general feature tasks, you will find the role that suits you most. Some of us ended up working on site reliability, others drifted towards the front end – it really depends on you. You will certainly write some Java code and some SQL, occasionally fixing bugs and collecting requirements.
You should be
- a good communicator. You are able to understand others and explain yourself clearly and concisely. You know how to chase the best ideas in a discussion, not just push your own.
- proactive and motivated. You're comfortable asking for help when you're stuck; you make constructive suggestions when you see something that could be working better.
- able to prioritize well. You can strike the right balance between hacking things together hastily and completely disappearing for two months while refactoring the persistence layer. You understand both the technical priorities and the business priorities underpinning them.
- conscious of risk. You have seen successful and failed projects, and you have a good sense of what is going to work and what is going to fail.
- able to deliver working, production-quality code.
- remote work
- flexible hours
- choose your working environment and tools