Position: Senior Java Developer at Upwork
Company: Upwork
Category: Java
Experience required: 5y
English level: upper

Position summary:

The Payments team at Upwork oversees over $1 billion in payments and payouts per year in 180 countries. Our payment system is a strategic business differentiator and an essential part of our business.

We are looking for experienced, top-tier engineers that will continue to evolve our payment systems. The payments domain is not for the weak of heart, so we’re looking for developers who are excited and challenged by working on a very complex product domain and build clean and highly accurate code.

You will be involved in designing, implementing, and maintaining the payments service business logic and infrastructure. Our work culture is based on collaborating contributors from around the world. If you’re someone who loves that kind of freedom, then you’ll be working with us.

Responsibilities:

● you will build new features primarily using Java;
● our setup requires collaborative work which includes code reviews and writing supporting documentation;
● you’ll share the ownership of our code domain and will actively work to increase its quality and reduce technical debt.

Must-have requirements:

● 8+ years of software development experience;
● solid knowledge of HTTP and REST;
● experience in writing well-structured, easily maintainable unit tests (such as JUnit, Mockito, etc);
● experience with relational databases;
● proven ability to collaborate with a large, distributed team of engineers over documentation and code;
● good spoken and written English;
● have a desire to learn new technologies and continually develop your professional skills;
● have a value for simplicity and scalable software engineering.

Nice-to-have requirements:

● experience in building payments or e-commerce products;
● comfortable working with AWS;
● experience building / supporting high load web-applications and solving scalability issues.

What we offer:

● world-class team of professionals;
● stable long-term job on a remote basis;
● competitive pay;
● flexible schedule.