Lead Software Engineer - Search Back End

Mountain View or San Francisco
Upwork is the world's largest freelancing website. Each year $1.5 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.

Are you an experienced Software Engineer who is up to the challenge of building cutting edge, large scale web services that power a platform used by millions of freelancers and their clients around the world every day? Do you relish solving seemingly impossible problems? Do you love identifying potential scalability issues before anyone else, on a product that is growing quickly, and coming up with creative solutions to them? Do you spend time thinking about the CAP theorem, caching, and elegant API design? If so, we’d love to hear from you.

Upwork's Categories team is looking for a passionate, proactive, and creative engineer and technical leader to design and develop innovative solutions that help improve the platform for clients and freelancers alike. As a global company, we have some interesting challenges from an engineering perspective. Improving the performance and resilience of our products over high-latency/low-bandwidth network connections and implementing self-healing protocols to handle failure scenarios are just a couple of the areas where we have significant room for improvement.

Your Responsibilities:

    • Architect, develop, and deliver scalable services build on top of Apache Solr to support our search backend.
    • Establish architectural principles, select design patterns, and mentor junior team members.
    • Produce high-quality software that is unit tested, code reviewed and checked in regularly for continuous integration and deployment.
    • Drive a high standard of excellence for web service scalability and availability.

What it takes to catch our eye:

    • 3+ years of experience with Apache Solr or ElasticSearch
    • 8+ years of experience designing and developing scalable and highly available web services using Java.
    • Experience with Spring boot or Dropwizard.
    • Excellent written and verbal communication skills. Our teams are distributed across 40 countries, and you will be required to communicate with technical and non-technical audiences across different cultures.
    • Experience with design and development on cloud platforms like AWS.

How to really knock our socks off:

    • Desire to gradually move into a technical management role
    • Experience in writing efficient algorithms and translating data science models into scalable, production-ready code.
    • Proven ability to work in a fast-paced, iterative environment and lead the parallel development and delivery of multiple product features while paying off technical debt.
    • Experience in profiling and tuning Java applications for maximum performance.
    • Strong focus on the customer and the business, coupled with a burning desire to learn, respond to feedback and grow. We’re looking for people who thrive on learning new technologies and don’t believe in one-size-fits-all solutions.
Come change how the world works.

At Upwork you’ll help shape the future of work. From our offices in San Francisco, Mountain View and Chicago, together we’re creating exciting new opportunities for a world of professionals. You’ll be part of a vibrant culture built on shared values: Inspire a boundless future of work, Put our community first, Have a bias towards action, and Build amazing teams. Along the way you’ll have fun and enjoy the perks of a people-first company: Work from Home Wednesday's, daily breakfast and lunch, regular in-office happy hours, top-notch benefits … and more. Check out Upwork’s spotlight on The Muse for a glimpse of our daily work/life balance.

Upwork is proudly committed to recruiting and retaining a diverse and inclusive workforce. As an Equal Opportunity Employer, 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.