Upwork
Contract: Senior/Lead Full Stack Engineer (JavaScript and Python)
Job Summary
This role is for a Senior/Lead Software Engineer responsible for designing and building high-performance, scalable systems that enhance user experience for a global platform supporting independent professionals and clients. The position involves full-stack development using modern JavaScript frameworks like Vue.js, React.js, or Angular, as well as backend work with Node.js and REST APIs. The candidate should have extensive experience in JavaScript/TypeScript, AI integration, testing, and system design, with a focus on scalability and performance. The role requires collaborative skills, familiarity with Agile processes, and the ability to work effectively across time zones.
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 toward deliverables.
Work/Project Scope:
- Collaborate with project stakeholders 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 TypeScript or JavaScript for frontend development;
- Develop, test, and maintain high-quality front-end code for web applications;
- Utilize modern frameworks like Vue.js, Nuxt, React.js, or Angular for efficient development;
- Optimize front-end performance and ensure cross-browser compatibility;
- Integrate front-end interfaces with backend APIs for seamless data flow;
- 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;
- Document code and technical specifications for future reference;
- Analyze system performance, 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;
- Time zone PST +/-3 (or willing to work in a way that overlaps with 9 am-3 pm PST).
Must-Haves (Required Skills):
- 8+ years of professional software development experience;
- Deep knowledge of modern JavaScript (ES6+)/TypeScript, and Python;
- Extensive experience with a modern JS framework, such as Vue (preferred), React, or Angular;
- Experience working with AI Agents to any degree (or extensive experience with LLMs);
- Experience with unit testing and end-to-end UI testing;
- Basic understanding of accessibility (WCAG) guidelines and engineering principles;
- Self-motivation, self-organization, and self-education skills;
- English on at least an intermediate level (should be able to pass the technical interview in English);
- Basic knowledge of PHP, server-side JavaScript or TypeScript, or other server-side languages.
- Basic knowledge of Node.js backend framework;
- Basic understanding of system design principles;
- Extensive knowledge of REST;
- Experience in writing well-structured, easily maintainable unit tests (such as JUnit, Mockito, etc);
- Experience with relational databases;
- Consistent track record of collaborating with large, distributed teams of engineers over documentation and code;
- 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.