You will be joining the team developing the brainlife.io platform. You will be tasked with maintaining and developing new features for brainlife.io and engineering new ways to run scientific computations and machine learning algorithms across the world fastest research supercomputers.
You are a solid fit for this position if...¶
- You have 5+ years in a fullstack software engineering experience.
- Has a strong portofolio of previously designed user interfaces (your work)
- You have experience with nodejs/express.
- You have experience with both SQL (mysql) and NOSQL (mongoDB) database systems.
- You have strong python and bash scripting experiences.
- You are familiar with microservice architecture.
- Experience maintaining docker containers.
- You have demonstrable ability to write clean, simple, and maintainable code.
- You can work without a lot of supervisions, but can keep the team member informed of your progress.
Our idea of a perfect candidate is someone who..¶
- Bachelor’s degree in Computer Science, Computer Engineering, Information Technology, or a related technical field or foreign equivalent
- Eager to learn new technologies and open to receive feedback from other team members.
- Nginx and familiarity with network engineering.
- Experience in rabbitmq or any other messaging systems.
- Proficient understanding of git, and strong presence on github.
- ansible, experience using monitoring systems (sensu, munin, etc..)
- Apache Spark and other big data processing frameworks is a plus.
- Experience with 24x7 operations.
- Experience working with APIs and REST-ful services
- Can make meaningful contributions to code reviews
- Can troubleshoot complex issues independently and seek input from the team when stuck
This role will be responsible for...¶
- Develop Brainlife backend services and user interfaces.
- Operate and monitor production services. Conduct root-cause-analysis after a major outages and implement long term solutions.
- Conduct usability / UX testings.
- Continuously refactor and simplify existing code bases.
- Identify security issues and engineer ways to solve those issues.
- Research new technologies and scientific computing methods
- Identify/anticipate service bottlenecks and engineer solutions.