Engineering Team Lead
As an Engineering Team Lead/Senior Software Engineer (Backend/Python) you will be responsible for developing and managing a complex framework for HPC applications running in the Cloud as well as managing a small team of engineers. Your duties will include managing environments, designing and building infrastructure for deploying and running HPC compliant code, and working with our dedicated team of researchers to incorporate scientific advancements into our highly parallel code base. Experience with integrating the backend software stack with robust front-end monitoring and alerting for guaranteed product reliability is essential.
What it takes
- At least 5 years of work experience as a Software Engineer or Software Developerin a Linux environment or a BS/BA Degree in Computer Science or a related field
- Personnel management experience including performance reviews and developing employee success plan
- Project management experience using bug tracking and agile project management software is a plus
- Experience using and configuring cloud-based HPC systems including Graphical Processing Unit (GPU) systems
- Proficiency in a Linux HPC environment
- Proficient understanding of code versioning tools, such as Git, Mercurial or SVN etc.
- Knowledge of current software engineering tools and best practices
- Integration of user-facing elements developed by a front-end developers with backend infrastructure
- Experience compiling highly parallel, scientific code and managing environments across multiple platforms
- Exceptional skills in programming languages such as Python (essential), Go, C++, Java, etc.
- Understanding of accessibility and security compliance
- Experience working with meteorological observation data and numerical weather prediction models (WRF/MPAS)
- Familiarity with traditional weather observation and forecast datasets, as well as sourcing them and working with their idiosyncrasies (e.g. file formats such as GRIB2, BUFR, and NetCDF)
- Ability to code software on multiple platforms including cloud services such as Amazon Web Services and Google Cloud
- Familiarity with RESTful web services
- Experience with Linux system administration
- Implementing automated testing platforms and unit tests
- Past experience with Python package management systems like conda or virtualenv
- Optimization of multithreaded/multiprocessor applications for maximum speed and scalability