Senior Software Engineer – Distributed Systems - GO, C++

  • Full-time

Company Description

Founded by UC Berkeley graduates, we’re the leading provider of Cloud-based grading, peer review, and originality services to educational institutions worldwide.

Our award-winning solutions for educators, researchers, and students promote critical thinking, ensure academic integrity and help students improve their writing. Our products are used by more than 30 million students at 15,000 institutions in 140 countries. We are headquartered in Oakland, Calif., with offices Austin, TX, as well as several international offices.

We offer a friendly and fun atmosphere, family-friendly work-life balance, competitive salaries, excellent benefits, flexible schedule, and other perks

Job Description

We are loking for an experienced Software Engineer to join our Search Engine Unit (SEU) team. This group is responsible for creating the backend search and data infrastructure that is the core of our business.

More than one million educators use our technology to verify the authenticity of their students’ work against a massive amount of searchable data, scientific literature, and close to 300 million student papers in multiple languages. Our rapid domestic and international growth is pushing this team to refactor our current architecture and  infrastructure for speed, scalability, and efficiency.

Responsibilities:

  • Improve the quality of current codebase and support the move to a microservice architecture by designing and writing new services that can gradually replace portions of our current system with components that conform to current best practices
  • Help identify and move towards good replacements for current proprietary portions of our architecture where appropriate
  • Implement new and support existing features while improving the quality of the current codebase
  • Increase the number, quality, and reach of unit and integration tests
  • Mentor engineers by working closely together on projects (e.g. pair programming, giving constructive feedback on code)
  • Investigate and address production issues
  • Work closely with software architects and database/operations engineers on system infrastructure and design
  • Foster a culture of collaboration and open communication

You will be working from our main office in beautiful downtown Oakland, just steps from BART.

Qualifications


Must-haves:

  • 5+ years of experience writing robust SaaS/distributed applications
  • Professional experience in C++ and Golang
  • Strong knowledge of data structures, algorithms, and designing for performance, scalability, and availability
  • Strong understanding of threading and concurrency
  • Extensive experience with distributed software systems and software development best practices (e.g. test-driven development, good software design, code profiling, debugging)
  • Demonstrated success working as a technical lead on one or more significant projects including mentoring and supporting other engineers
  • Ability to work with complicated legacy code
  • Experience working with Linux and (NO)SQL databases
  • Strong communication skills and ability to communicate effectively with both technical and non-technical colleagues

Pluses:

  • Experience participating in open source standards and contributing to open source
  • Technical speaking history
  • Deployment experience with containers (e.g. Docker) and the cloud (e.g. AWS)

Additional Information

All your information will be kept confidential according to EEO guidelines.

Candidates must have a right to work in the USA without the need of sponsorship.