Upwork
Contract: Senior/Lead Backend Engineer
Job Summary
The role involves designing, developing, and maintaining high-performance, scalable backend systems using Java or Kotlin. The candidate will collaborate with cross-functional teams, conduct code reviews, and provide technical guidance, ensuring systems are secure, reliable, and efficient. Responsibilities include working with APIs, databases, and cloud services like AWS, while actively participating in agile processes such as sprint planning and stand-ups. The position emphasizes continuous learning, teamwork, and the ability to address technical challenges related to scalability and performance.
Required Skills
Job Description
Upwork ($UPWK) is the world’s work marketplace. We serve everyone from one-person startups to over 30% of the Fortune 100 with a powerful, trust-driven platform that enables companies and talent to work together in new ways that unlock their potential.
Last year, more than $3.8 billion of work was done through Upwork by skilled professionals who are gaining more control by finding work they are passionate about and innovating their careers.
This is an engagement through Upwork’s Hybrid Workforce Solutions (HWS) Team. Our Hybrid Workforce Solutions Team is a global group of professionals that support Upwork’s business. Our HWS team members are located all over the world.
Are you a Senior/Lead Software Engineer who is passionate about designing and building highly performant, robust systems to create outstanding user experiences and help impact the professional lives of millions of independent professionals and clients around the world? Do you relish solving important problems? Do you enjoy identifying potential scalability issues, implementing solutions that follow engineering standard methodologies, and coming up with creative solutions to both technical and product challenges? If so, we’d love to hear from you!
This is a contract position with the potential for contract renewal based on project needs and accomplishment towards deliverables.
Work/Project Scope:
- Collaborate with cross-functional teams to understand requirements and deliver high-quality solutions.
- Design, develop, test, and maintain scalable and robust server-side logic, databases, and APIs according to project requirements.
- 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.
- Contribute to the enhancement of our codebase by improving quality and documentation and reducing technical debt.
- Stay updated on current and emerging technologies.
- Utilize collaborative tools such as Gmail, Slack, Confluence, Jira, and various others for efficient communication, documentation, and project management.
- Participate in code reviews and design reviews.
- Provide technical guidance and support to junior developers.
- Document code and technical specifications for future reference.
- Analyze system performance and respond to incidents within specified deadlines and provide services during on call rotations to address system issues
- Provide services in the Scrum process, including sprint planning, daily stand-ups, and retrospective meetings, to contribute to project progress and team coordination. Participate in project-critical meetings and provide regular status updates on deliverables.
- 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):
- Solid software development experience using Java or Kotlin;
- Extensive knowledge of REST and/or GraphQL;
- Experience in writing well-structured, easily maintainable unit tests (such as JUnit, Mockito, etc);
- Experience with relational and non-relational databases;
- Consistent track record of collaborating with large, distributed teams of engineers over documentation, code and reviews;
- A desire to learn new technologies and continually develop your professional skills;
- Comfortable working with AWS;
- Experience building / supporting high load web applications and solving scalability issues.
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.
To learn more about how Upwork processes and protects your personal information as part of the application process, please review our Global Job Applicant Privacy Notice
Upwork
A freelancing platform connecting businesses with independent professionals for remote work across various industries.
See more jobsSafe Remote Job Search Tips
Verify Employer Thoroughly
Research the company's identity thoroughly before applying. Check for a professional website with contacts, active social media, and LinkedIn profiles. Verify details across platforms and look for reviews on Glassdoor or Trustpilot to confirm legitimacy.
Never Pay to Get a Job
Legitimate employers never require payment for applications, training, background checks, or equipment. Always reject upfront payment requests or demands for bank details, even if they claim it's for purchasing necessary work gear on your behalf.
Safeguard Your Personal Information
Protect sensitive data like SSN, bank details, or ID copies. Share this only after accepting a formal, written job offer. Ensure it's submitted via a secure company system or portal, never through insecure channels like standard email attachments.
Scrutinize Communication & Interviews
Watch for communication red flags: poor grammar, generic emails (@gmail), vague details, or undue pressure. Be highly suspicious of interviews held only via text or chat apps; legitimate companies typically use video or phone calls.
Beware of Unrealistic Offers
If an offer's salary or benefits seem unrealistically high for the work involved, be cautious. Research standard pay for similar roles. Offers that appear 'too good to be true' are often scams designed to lure you into providing information or payment.
Insist on a Formal Contract
Always secure and review a formal, written job offer or employment contract before starting work or sharing final personal details. Ensure it clearly defines your role, compensation, key terms, and conditions to avoid misunderstandings or scams.