Lead the architecture design of new data analysis platform through supporting proofs of concepts and management of related artifacts. 10%
Act as primary development resource implementing sound coding design by leveraging Microsoft technologies. 25%
Develop and unit test software changes according to the business objectives. Remediate new and existing errors and all inconsistencies according to system solution objectives and requirements. 25%
Manage development activities and participate in the Agile process. 25%
Perform detailed analysis and design, technical documentation, construction and implementation, unit and integration testing, and transition and deployment of software components and systems on complex projects. You will also coordinate coding and testing activities and evaluate and verify various alternatives before making technical recommendations and resolving technical issues. In addition, you will coordinate various software development tasks with Development, Deployment, and Quality Assurance.
• Software prototyping and construction – Design, Build, and Modify existing business-tier components, Web applications, and database objects using Microsoft platform technologies (ASP.NET Web API) and Azure.
• Create prototypes, if necessary, to validate proposed solutions and seek feedback from stakeholders
• Good understanding and experience following test-driven development and continuous integration practices
• Analysis and Design – Transforms high-level design in to low-level design, and implementation.
• Work with project team to properly define/clarify business requirements, development estimation, and work plan finalization
• Perform unit and integration testing on all developed code – Create and execute unit and integration tests within development lifecycle
• Proactively benchmark application code to mitigate performance and scalability issues
• Work with Quality Assurance Team on issue reporting, resolution, and change control
• Support and Troubleshooting – Assist Operations Team with any environment issues during application deployment across Development, QA, Staging, and Production environments.
• Assist other teams with troubleshooting problems that may arise from applications or integration of various components
Skills and Experience:
• Extensive experience with the .NET framework and other technologies: C#, Web API, and Microsoft Azure.
• Must have Advanced experience in Object oriented programming, data structures, dependency injection and multi-threading,
• Creating high-level, low-level design documentation using UML.
• Experience writing complex SQL queries.
• Experience working with business intelligence applications supporting various database schemas.
• Familiarity with Infrastructure and Platform as a Service concepts.
• Experience with container based service delivery strategies, such as; Docker and Kubernetes.
• Understanding of the SDLC and Agile development methodology
• Experience with GitHub, Continuous Integration, and optionally continuous delivery mechanisms.
• Demonstrable micro-service/SOA design and implementation experience.
• Understanding of service topology, protocol, security and discovery (SOAP, REST)
• Understanding of multi-threaded and concurrent programming techniques.
• Understanding of enterprise level software design patterns.
• 5-7 years as a .NET focused software engineer.
• Bachelor's degree preferred or equivalent experience at an enterprise level.