F@h Multi-Platform Client Developer
CLICK HERE TO APPLY
Job Description
We are looking for an enthusiastic and exceptional C++ developer to join the ongoing efforts to develop the next iteration of the Folding@home software client! This is a contract position. As a C++ developer with some full-stack web development experience you will be using your skills and knowledge to solve real world problems and help progress the state of the art in citizen science. You will build code that supports scientific efforts to combat COVID-19, cancer, Alzheimer’s disease, Huntington’s disease, and other diseases.
Developer Experience, Duties, and Responsibilities
- Passionate about technology and software development
- Accepting, friendly and easy to work with
- Good communication skills
- Strong work ethic
- Wants to work to make positive changes in the world
- Reads hacker news (mostly optional) :p
- BS degree in computer science or engineering preferred
- Active problem solver that can dig in and do research upon encountering roadblocks
- Design, build, and maintain efficient and reliable C++ code
- Work closely with other engineers on development of the Folding@home client and also potential C++ infrastructure component updates
- Suggest and implement improvements on current software projects
- Plan, design, develop, manage, document, test, deploy, and support new and existing modules
- Good OOP knowledge and experience with common software design patterns
- Experience with algorithms/data structures
- Experience building and consuming HTTP & JSON REST APIs
- Experience working with websockets
- Good understanding of TCP/IP protocol and broader network stack
- Preferred RDBMS experience, ideally MySQL/MariaDB
- Stored procedures, views, advanced queries
- Ideally database replication
- Software development lifecycle experience preferred
- Experience using Git and GitHub for revision control and code review processes
- Solid understanding of secure software development best practices
- Experience integrating with OAuth2/OpenID Connect identity providers for user authentication and authorization
- Preferred experience with bundling software using multi-platform installers
- 3+ years developing on Linux
- Open-Source development portfolio preferred
C++ Specific Requirements
- 3+ years (5+ preferred) of experience in C++
- Experience developing cross-platform C++ applications across Linux/Mac/Windows
- Building and consuming REST APIs and websocket interfaces in C++
Front-End Specific Requirements
- 1+ years general Javascript experience
- 1+ years React and/or Vue framework experience
- Consuming REST APIs and websocket interfaces from JavaScript/React/Vue
CLICK HERE TO APPLY