Engineer

Upwork

(San Francisco, California)
Internship
Job Posting Details
About Upwork
Upwork (formerly Elance-oDesk) is the world’s largest freelance talent marketplace. As an increasingly connected and independent workforce goes online, knowledge work —like software before it— is shifting online as well. This shift is making it faster and easier for clients to connect and work with talent in near real-time and is freeing professionals everywhere from having to work at a set time and place.
Summary
As an engineering intern, you will be working on building a core part of our business application using a Java based distributed services architecture. You will have the opportunity to work with world class product managers, designers and engineers and be responsible for providing a delightful product to our clients in collaboration with them.. You will be part of a fast moving distributed team working in three different continents.
Responsibilities
* Build micro services using the latest open source tools and technologies (we use Dropwizard/Hystrix/Jetty/Kafka and more). * Be responsible for the architecture and design of your service (with support from another member of the team). * Ensure that these services meet high standards for scalability and availability. * Work on some older (Perl) and many current & exciting technologies (Java 1.8, DynamoDB, ElasticSearch, PostgreSQL etc.) * Work with the QA and DevOps teams to ensure smooth deployments and quick (and automated) rollbacks. * Collaborate with a world class team of engineers, product managers and designers.
Ideal Candidate
* Be able to communicate and work with a globally distributed team. * Understand micro services and the tradeoffs between when to use them or not. * Understand and have opinions on how to build distributed systems. * Understand fault tolerance, resiliency, eventual consistency and how they intertwine into the development of a scalable and highly available system. * Understand how to write RESTful APIs and maintain the contracts they expose while adding features, improving performance etc. * Experience with SQL (PostgreSQL) & NoSQL databases such as DynamoDB, Cassandra or MongoDB. * Experience with message brokers (such as Kafka) and how to effectively use them to build distributed systems. * Comfortable working with (reading and writing) large and diverse Java based web applications. * Have used as many of the following tools as possible: Java (1.8), PostgreSQL, DynamoDB, Kafka, ElasticSearch/CloudSearch, AWS Lambda, DynamoDB Streams, AWS Data Pipeline, Eureka, Hystrix, Git, PHP, Perl.
Compensation and Working Conditions
Benefits Benefits included

Additional Notes on Compensation

nice paycheck and enjoy some meaty benefits

Questions

Answered by on
This question has not been answered
Answered by on

There are no answered questions, sign up or login to ask a question

Want to see jobs that are matched to you?

DreamHire recommends you jobs that fit your
skills, experiences, career goals, and more.