Contract: Senior Staff Back-end Engineer
FireHire exclusive!
Description
Join Upwork's engineering team as a Senior Staff Backend Engineer, focusing on the fastest-growing revenue stream. This role involves working with tight-knit engineering teams and product managers to develop and maintain crucial backend systems. You will play a key role in creating, implementing, and documenting software architecture solutions, with a focus on scalability, reliability, and maintainability. Your expertise will contribute significantly to code quality and strategic project initiatives.
Responsibilities
Collaborate with Engineering, Data Science teams, and Product Managers to create outstanding products for our users.
Partner with product management and engineering colleagues to plan, execute, and ensure timely delivery of high-quality projects.
Understand the larger vision, features, and challenges and translate them into actionable plans, considering trade-offs to achieve goals.
Work within and across teams to design, build, and deliver robust systems that deliver value for our business and customers.
Handle complex, ambiguous projects with minimal guidance.
Simplify complex projects, potentially leading to strategic pivots from the original product plan.
Participate in code reviews and design reviews, mentor junior engineers, promote best practices, and write supporting documentation.
Share ownership of our code domain, focusing on improving code quality and reducing technical debt.
Monitor system performance, respond to incidents promptly, and participate in on-call rotations as needed.
Utilize collaborative tools such as Gmail, Slack, Confluence, and Jira for communication, documentation, and project management.
Design, develop, test, and maintain scalable and robust server-side logic, databases, and APIs.
Utilize programming languages such as Java or Kotlin for backend development.
Architect and optimize backend systems for performance, scalability, and reliability.
Implement security measures to protect backend systems and data.
Requirements
Professional Experience: 8+ years in software development.
Technical Leadership: Proven experience in taking complex projects from ideation to launch.
Technical Expertise: Proficiency in Java and RESTful services.
Expertise in writing well-structured, maintainable unit tests (e.g., JUnit, Mockito).
Deep knowledge of relational databases and distributed system design.
Proven track record of building and supporting high-load web applications and addressing scalability challenges.
Experience with financial technology or ledger systems.
Strong understanding of software architecture principles and practices.
Collaborative Skills: Proven ability to work with cross-functional teams to successfully launch products.
Excellent interpersonal skills with extensive experience collaborating with multiple stakeholders.
Practical communication skills in English, both written and verbal.
Additional Skills: Comfortable working with AWS and cloud-based environments.
Eagerness to learn new technologies and continually develop professional skills.
Experience with implementing virtual currencies, ledger systems, or financial technology.
Experience with high-load applications and databases.
About
Upwork (UPWK) is the world’s work marketplace, serving everyone from one-person startups to over 30% of the Fortune 100. With a powerful, trust-driven platform, Upwork enables companies and talent to collaborate in new ways, unlocking their potential. Last year, over $3.3 billion of work was completed through Upwork by skilled professionals innovating their careers. This role is part of Upwork’s Hybrid Workforce Solutions Team, a global group supporting Upwork’s business.
Upwork
OR
By applying, you agree to the Terms of Service applicable to FireHire for Teams and confirm you have read our Privacy Policy

