Senior/Lead Front End Engineer

Upwork
Summary
Join Upwork's Hybrid Workforce Solutions Team as a Senior/Lead Software Engineer to design and build high-performance systems, impacting millions of professionals. This contract position offers potential renewal based on project success. You will collaborate with stakeholders, develop scalable server-side logic and APIs, and create high-quality front-end code using modern frameworks. Responsibilities include optimizing performance, integrating interfaces with backend APIs, enhancing the codebase, and staying updated on new technologies. The role requires strong collaboration skills and participation in Scrum processes. The position demands a high level of self-motivation and a commitment to delivering high-quality work within deadlines.
Requirements
- 8+ years of professional software development experience
- Deep knowledge of modern JavaScript (ES6+) or TypeScript, CSS, and HTML
- Extensive experience with a modern JS framework, such as Vue (preferred), React, or Angular
- 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
Responsibilities
- 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
- Coordinate with the team during core hours (8:00 am to 11:00 pm Pacific Time) to enhance project collaboration
Preferred Qualifications
Flutter experience or mobile experience is a major plus