Back End Software Engineer

We’re currently seeking  Back End Software Engineers with experience in ASP.NET, C#, MVC, Azure, SQL Server, Web API, REST, Linq, Entity Framework, and so much more to work on a IoT, cloud-based SaaS platform dealing with energy efficiency, fault detection, and ongoing commissioning. You’ll be working with a variety of cutting edge web and database technologies, scalable cloud solutions, n-tier and SOA architectures, and more.

Software Engineer – Back End/Full Stack – Any Level

Primary: ASP.NET/Core, C#, SQL Server, Azure, MVC, REST, Web API, WCF, OWIN, Ajax, Visual Studio, Linq, Linq to SQL, Entity Framework, Unit Testing, Big Data

Other: Git, Bitbucket, NuGet/MyGet, Bamboo, Jira, Agile

Bonus: Powershell, Nant, OData

For Reference(Front End Stack): React, Redux, Javascript, Babel, ES6, Highcharts, WebStorm

Core Responsibilities

Requirements and Specifications (5%)

  • Interact with the product team to facilitate and mold new ideas into requirements and specifications.

Discovery and Assessments (5%)

  • Perform R&D, technical assessments, and risk assessments on new cutting edge technologies and tools.
  • Aid in third party vendor assessments.

Dev Ops (5%)

  • Provide assistance with hosting, environment, scaling, configuration, and dns related dev ops.
  • Provide assistance with backend software dev ops.
  • Provide assistance with build/release dev ops.

Development and Testing (75%)

  • Front end development and integration including html mockups and style sheets.
  • Back end development and architecture including web projects, c# class libraries, web services, wcf services, console applications, windows applications, and Microsoft Azure cloud applications.
  • Database design and architecture. Both relational and non-relational.
  • Scalable cloud based development and architecture.
  • Ability to create and architect functionality following best UX practices.
  • Ensure the quality of applications through formal testing practices and documentation including unit testing, regression testing, load/stress testing, performance testing, and use cases.
  • Maintain the integrity of application source code and underlying data through the use of version control systems.
  • Deployment and release management.
  • Thoroughly document whenever necessary; and it’s always necessary. Including but not limited to setup guides, deployment procedures, visio diagrams, inline code comments, version control comments, and task/bug tracking comments.
  • Interaction with building science team to assist in compiling, deploying, and debugging analysis functions.
  • Bug fixing and support

Process and Teamwork (10%)

  • Join in creative freedom during brainstorming sessions.
  • Participation in team deployments and releases.

Evangelize best practices, both across and within the discipline

  • Engage peers with code reviews, pull requests, mockups, poc’s, and feature demonstrations
  • Facilitate exchange of ideas between developers
  • Provide technical guidance to contract, and Jr. level developers
  • Help strengthen and mold internal SDLC process

The Ideal Candidate…

Has worked in similar capacity with a large scale SaaS application, has excellent communication skills, has a keen eye on the trends, use to wearing many hats, and has emerging expert-level knowledge on a wide range of technologies.  

Would like to work in a close knit, passionate, environment where communication is key and the learning experience is invaluable.

Previous experience with a building energy efficiency platform or having knowledge in building technology is a plus.

Qualifications

  • Quick study, self-motivated, unflappable
  • Top-drawer analytical and communication skills
  • Ability to juggle multiple responsibilities and prioritize deliverables.
  • Comfortable working with a lightweight methodology that will morph as the company grows.
  • Firm grasp of object oriented design and programming practices and patterns
  • Experience modeling data for RDBMS
  • Able to produce concise design documentation, including UML diagrams where necessary
  • Experience with automated unit and functional testing tools.
  • Solid optimization and debugging techniques
  • Experience in managing development and production environments including database and application servers, configuring and tuning load balancing, clustering, and monitoring

Expert Level Experience with:

  • NET/Core Framework using C#.
  • NET web forms paradigm
  • Microsoft SQL Server/Azure SQL
  • Git, or similar version control software
  • JIRA or other issue/bug tracking system
  • Bitbucket or similar version control repository service.
  • Visual Studio
  • Object Oriented Software Design and Development

Intermediate Level Experience with:

  • Microsoft Azure (Storage, Cloud Services, Redis, and etc.)
  • NET MVC
  • Web API and REST Services
  • Web and WCF Services
  • Console and Windows Applications
  • NET AJAX or equivalent AJAX toolkit
  • Unit Testing Frameworks
  • N-Tier Architecture
  • Service Oriented Architecture
  • Entity Framework
  • Linq to SQL, Linq to Entities, Lambda Expressions
  • Advanced practices around encryption, serialization, globalization, and localization.
  • Advanced practices around parallel processing, concurrency, and async programming.
  • XML / XSLT, X/HTML. Experience in other markup languages is a plus.
  • IIS configuration in an enterprise-level environment
  • Telerik AJAX Controls
  • Javascript and CSS

Experience with:

  • OWIN
  • SaaS model application development
  • Scalable cloud based solutions
  • Big Data
  • Cert based Authentication procedures
  • SSO protocols: SAML2, OpenID Connect, WS-Federation
  • Active Directories: AAD, AADB2C
  • Caching patterns
  • Queue patterns
  • Nuget/Myget
  • Agile Processes
  • Fiddler

Experience with one or more of the following is a plus:

  • OData***
  • Nant or MSBuild **
  • Appliaction Insights*
  • Yarc
  • Matlab (MCR)
  • Powershell
  • SQL Express, MSSQL
  • Continuous integration and deployment methodologies
  • Python
  • SOAP