Position: Senior Front-End/Full-Stack developer
Company: Upwork Inc
Experience required: 3y
English level: intermediate

Upwork ($UPWK) is the world's largest freelancing website. Each year $1.7 billion of work happens through Upwork, allowing businesses to get more done and helping professionals break free of traditional time and place boundaries and work anytime, anywhere on projects they love. At Upwork, you'll help build on this momentum. Together, we'll create economic and social value on a global scale, providing a trusted online workplace for businesses to connect with extraordinary talent and work without limits.


About you:
Are you a software engineer who is passionate about designing and building a highly performant, robust systems to create amazing user experiences and helping impact the professional lives of millions of freelancers and clients around the world? Do you relish solving challenging problems? Do you enjoy identifying potential scalability issues, implementing solutions that follows engineering standard methodologies, and coming up with creative solutions to both technical and product challenges? If so, we’d love to hear from you.

We’re looking for an extraordinary Front-End/Full-Stack developer to drive the development and evolution of our front end applications that power Upwork Enterprise Compliance Product. In this position you will work closely with our Product/Eng Leads and your peers to develop new cool features for Enterprise product and contribute to the transformation of the technology stack used in our frontend platform. You need to have a consistent track record of delivering highly performant web applications.

Please note you need to be an Individual Freelancer. We're unable to work with agencies for this opening. If you apply as/through an agency, your application will be declined.


Your responsibilities:
* Develop and maintain our PHP, NodeJs, AngularJs and VueJs applications that powers Upwork Enterprise Compliance Experience.
* Work closely with backend, product and design to design, develop and evolve our frontend applications and reusable components.
* Collaborate with feature and component teams during both design and development phases to ensure adherence to UI architectural standards and best practices.
* Define and drive adoption of design patterns, coding and quality standards and software development processes.
* Drive a culture of quality, technical curiosity, continuous improvement, and data-driven decision-making.
* Being proactive in identifying new and emerging technologies for adoption;
* Mentor junior engineers, new team members, perform code reviews and applying technical expertise to challenging programming and design problems.
* Provide technical guidance and coaching to engineers to continuously improve design quality.


Requirements:
* Strong CS theory skills. While we use frameworks, you should be able to code without one.
* Good understanding of unit testing techniques
* Thorough test-writing skills and clean code. All code is peer-reviewed
* Excellent PHP and OOP skills
* Excellent JavaScript skills
* Excellent grasp of HTML5 and CSS3
* Proactively communicative in English. The team you'll be working with uses Scrum process and video meetings
* Understanding web application security
* A desire to learn new technologies and build your professional skills library
* REST experience.  You'll be building a front-end that talks to a (backend) RESTful API
* Your working hours can overlap with the rest of the team for meetings (usually: mornings in PT timezone).

The following skills would be a bonus:
* Vue.js
* Symfony 2+
* NodeJs
* AngularJS
* GraphQL

Selected freelancers will be invited to 3 rounds of interviews, each requiring video, with different members of the team. This will allow us to both evaluate the technical and cultural fit.