Software Engineer

The candidate will be responsible for researching, implementing, and maintaining back-end frameworks and server-side technologies used by our engineers and applications. You will also monitor and ensure all production and development environments are stable and provides support to other team members with the whole development cycle. Source control, the build and runtime system, as well as deployments, are all responsibilities of this role.

As a Software Engineer on this position, you'll work closely with our product teams and have visibility to all parts of our code and products, focusing on performance, uptime, scalability, and reliability. We find it immensely satisfying to develop products that impact the lives of millions, and we are eager to have you join our team.

International candidates encouraged to apply; H1B sponsorship is available.  

WHAT YOU'LL BE DOING

Design, build, and maintain scalable and robust infrastructure and services for all of our products

Participate in live performance monitoring, which includes building the tools that allow us to detect and address trouble spots

Troubleshoot and fix production performance and security issues

Develop tools, procedures, and documentation to improve team efficiency  

TECHNOLOGY

We have an existing Java-based code base, especially for back-end code, as well as configuring our web stack (Apache, Tomcat, Struts, Hibernate). Our servers run Linux and some amount of administration is done on the systems. We use a variety of server technologies, such as Python, Perl scripting. We investigate and implement new technologies all the time, and this list is always growing.  

WHAT WE'RE LOOKING FOR

Bachelor's or advanced degree in computer science or a related discipline

1+ years of experience in software engineering

Knowledge of Release Management

Excellent programming skills such as Java, Python, Perl, SQL database, Linux administration, web stack (Apache, Tomcat, Struts, Hibernate)

Strong analytical-reasoning and problem-solving skills

Ability to work both independently and with a wide variety of teams

Passion for improving education through technology