Join Upwork’s engineering team, specifically the Ads & Monetization Team, which drives the fastest-growing revenue stream at Upwork. This team is responsible for Connects (our closed virtual currency for freelancers on our platform), Advertising Products, and Marketplace Design. These services require an in-depth understanding of backend development, database design and maintenance, and documentation for compliance with a particular focus on financial technology or ledger systems.
As a Staff Backend Engineer at Upwork, you will be a key contributor to the technical excellence of our projects. You will collaborate closely with engineering teams and product managers to deliver top-notch products to our users. You will be vital in creating, implementing, and documenting software architecture solutions, prioritizing scalability, reliability, and maintainability. Your responsibilities will include systems design, software development, creating comprehensive documentation, driving management of technical debt, and leading strategic initiatives to enhance performance and scalability.
This is a contract position with the potential for contract renewal based on project needs and accomplishment towards deliverables.
Work/Project Scope:
- Design, build, and optimize software systems for performance, scalability, reliability, and security while taking ownership of the codebase to improve quality and reduce technical debt.
- Lead and implement technical strategies within and across teams, ensuring alignment with long-term objectives, and driving decisions up to engineering leadership.
- Collaborate with Product Management and cross-functional teams to resolve complex challenges and lead projects focused on infrastructure and cross-team collaboration.
- Communicate architectural strategies effectively to stakeholders, aligning engineering efforts with broader organizational goals.
- Mentor all levels of engineers, promote knowledge sharing, conduct code reviews, and develop supporting documentation.
- Monitor system performance, drive optimization initiatives, and enhance reliability and scalability. Participate in on-call rotations and respond to incidents.
- Manage your time independently and effectively to achieve project deliverables, which may require an estimated 40 hours of project-related effort per week.
- Coordinate with the team during core hours (8:00 am to 11:00 pm Pacific Time) to enhance project collaboration. Some roles or urgent matters may require availability until 12:00 pm Pacific Time on occasion.
Must Haves (Required Skills):
- Professional Experience:Â 8+ years in software development.
- Technical Leadership:Â Proven experience in taking complex projects from ideation to launch.
- Technical Expertise:
- Strong understanding of software architecture principles and practices.
- Expertise in writing well-structured, maintainable unit tests.
- Deep knowledge of relational databases and distributed system design.
- Proficiency in Java and RESTful services.
- Proven track record of building and supporting high-load web applications and addressing scalability challenges.
- 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.
Upwork is proudly committed to fostering a diverse and inclusive workforce. We never discriminate based on race, religion, color, national origin, gender (including pregnancy, childbirth, or related medical condition), sexual orientation, gender identity, gender expression, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics.