All applicants must be able to provide documentation that they are legally eligible to work in the United States for an extended period, and will not now, or in the future, require sponsorship for employment visa status to work legally for our Company in the United States.
Salary Range: $180,000.00 To $200,000.00 Annually
Note: Base salary offers for this position may vary based on factors such as location, skills, and relevant experience. Some positions may include additional compensation in the form of bonus or commissions.
We are looking for a highly skilled Senior Software Engineer with expertise in forecasting and optimization to join our team. As the Technical Lead for an optimization platform, the ideal candidate will have a strong background in software development, technology and tools evaluation, predictive modeling and machine learning. This role involves working closely with cross-functional teams to develop and implement advanced optimization algorithms and forecasting models to enhance our products and services.
This is a Remote position with a preference for candidates able to travel to our Maryland office.
Essential Duties and Responsibilities
- Design, develop, and maintain software solutions for forecasting and optimizing distributed energy resource loads to increase market participation revenues.
- Collaborate with data scientists and analysts to create predictive models and algorithms.
- Implement and optimize algorithms for real-time data processing and analysis.
- Work with product and business teams including key stakeholders to understand customer/business problems, build tests to validate hypothesis and translate learnings into technical solutions.
- Document technical specifications, processes, and procedures.
- Mentor and guide junior engineers, providing technical leadership and support.
- Lead technical discussions and decision-making processes.
- Ensure best practices in software development and architecture are followed.
- Drive innovation and improvements in technology and processes.
- Continuously monitor and improve the performance of existing systems.
Requirements
- Bachelor’s or Master’s degree in Computer Science, Engineering, Mathematics, or a related field.
- 12+ years proven experience in software development and architecture with 3+ years in technical leadership role.
- 5+ years of experience with a focus on complex optimization and forecasting models and experience across the full machine learning lifecycle on Microsoft Azure, from data preparation and model training in Azure Machine Learning and Azure Databricks, to deployment and monitoring using Azure DevOps including CI/CD pipelines, Git Repos, Artifacts Repository (NPM, Nuget, etc.).
- Proven ability to design, develop, and implement robust and scalable cloud-native applications with microservices architecture using C# and .NET Core, including SQL Server database design, development, and optimization, along with extensive experience building and integrating RESTful web services.
- Strong skills as a team leader, with a passion for developing people and teams, including demonstrated experience leading long-term software teams and mentoring junior engineers on object-oriented coding and best practices.
- Knowledge of optimization techniques and algorithms (e.g., linear programming, integer programming, heuristic methods, familiarity with statistical modeling and time series analysis).
- Expertise in designing and implementing robust automated testing frameworks and scripts to validate cloud-native applications deployed on Microsoft Azure. This includes expertise in testing at all levels: unit, integration, and performance, with a focus on Azure services and infrastructure.
- Excellent problem-solving skills and attention to detail.
- Working experience with Agile, Scrum, and/or Kanban teams.