The Software Engineer must demonstrate knowledge and proficiency in .NET software development and have experience with, or be aware of, relevant and emerging technologies and protocols such as REST/JSON, SOAP/XML, containers, ASP.NET, Angular, nodejs, Hadoop. The Software Engineer must be able to work independently on certain features or modules, and exercise good judgement and use of time and resources; the Software Engineer will contribute ideas and feedback to collaborative discussions and team meetings, demonstrate proper conflict resolution, constructively critique ideas and be able to work under the direction of the team lead or department manager.
- Active participation in team meetings.
- Provide input for new feature integration, best practices and new software design.
- Independent and collaborative software development based on provided requirements.
- Follow source code management best practices in a Git environment.
- Write unit tests.
- Record progress and manage time using JIRA.
- Provide relevant documentation for source code changes.
- 3+ years' experience in .NET software development.
- Practical knowledge of common design patterns such as MVC and MVVM.
- Experience building and consuming REST-based or other web services.
- Practical experience with SQL database administration.
- Practical knowledge or understanding of modern web application development using tools such as Angular, Typescript, Swagger, WebSockets and pub/sub messaging.