Senior Engineer - Full Stack at Akselos S.A. (Boston, MA)
Location: Boston, MA
Type: Full Time
Created: 2021-04-08 05:01:04
The Software Engineer's role is to help us enhance our desktop 3D frontend, web frontend, and cloud-based infrastructure with a particular focus on developing new features that are relevant to the offshore wind industry. These tools allow our users to design models, connect to our cloud-based engineering simulation engine, and visualize/post-process results.
The Software Engineer should improve our ability to support customer requests and add new front-end features. These are very high-impact for our customers and sales because front-end features are user- facing.
Additionally, the Software Engineer may help deploy and maintain our cloud-based high-performance compute platform, and may add new features in areas such as user authentication, diagnostics, and cloud scaling.
ROLES AND RESPONSIBILITIES:
- Use Python, QML, OpenGL, numpy, and other libraries to implement new features and maintain existing features for Akselos Modeler desktop frontend.
- Ensure the reliability of desktop and web applications via framework of testing layers (unit-test, integration test, end-to-end test). Create and update tests as new features are added.
- Provide immediate support and assistance to the users that encountered bugs or errors from the Modeler or Dashboard.
- Add new features and make other improvements to the server backend
Develop the server backend, adding new features to meet business requirements.
Create new logging, diagnostic, monitoring, and notification tools to help ensure reliable operation of the cloud service and adherence to any SLAs.
Make architectural changes as necessary to smoothly scale cloud resource usage according to customer demand.
Migrate backend services to use new third-party tools, including new features that may be provided by the hosting cloud platform
Profile backend services and make necessary performance improvements.
- Deploy and maintain the service on the cloud platform
Diagnose server failures
Ensure services are operating as designed
Avoid server downtime due to resource exhaustion
Provision new server instances as required by customer demand
Automate deployment of new server instances
- Test the server backend, creating new automated tests as necessary to ensure continuous availability of the service.
THE IDEAL CANDIDATE WILL HAVE THE FOLLOWING SKILLS
- Python experience
- Strong background with vector calculus
- Experience with Linux server administration.
- Knowledge of common features and concepts related to cloud computing platforms
OTHER SKILLS, EXPERIENCE AND QUALIFICATIONS
- Two years professional experience or other demonstrable programming experience
- Experience with deployment and administration on a cloud platform (e.g. AWS or GCP),
- Experience with automation and other server-related tasks using Python or a similar language.
- Experience with some common tools and workflows used for building, testing, and deployment.