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