The Application Software Engineer (ASE) is responsible for the development and maintenance of all information systems used to support the business. The ASE will interact with the Product Management team and other business stakeholders to review requirements, provide estimations, and then implement and unit test all required software changes. The ASE will also interact with the corporate technology office to review and approve software design diagrams and implementation approaches
Essential Functions:
Reviews and provides input into application requirements
Estimates development effort for both change requests and new software implementations
Creates software design and architecture diagrams based on requirements
Implements all code changes required to meet the requirements
Authors database level objects and procedures
Reviews the performance of all database objects
Documents all code and creates additional documentation for code usability
Follows corporate software development standards around: code structure, code re-usability, scalability, and security of the application
Performs risk-based code review
Authors unit tests
Partners with the product management team to perform sprint planning and sprint closing
Runs periodic lessons learned meetings to improve Software Engineering process
Monitors process and software changes that could impact production support
Supports the production application and provides timely resolutions to issues
Follows established procedures for change management across applications
Documents and maintains the production support standard operating procedures
Creates WIKI articles for common processes that are repeated and can be shared with others
Conducts Root Cause Analyses and makes recommendations to address issues.
Supports the resolution of general helpdesk tickets on an as-needed basis
Other tasks as assigned
Qualifications
Education: Bachelors degree or equivalent desired. Degree in computer science or related fields preferred.
Work Experience:
Software Engineering: understanding of and full hands-on experience across all software development practices
Minimum 5 years experience developing enterprise applications
Knowledge of software development patterns (like Singleton, Factory, etc.)
Hands-on development experience with ASP.NET, C#, JavaScript, HTML, SQL Server technologies, REST Web services
Experience developing SQL objects and programming in T-SQL
Hands on development experience in a Microsoft technology stack
Skills:
Excellent communication skills
Software development coding - object-oriented programming
Design software solutions
Map complex process to application architecture
Solution Support
Strong time management abilities within a fast-paced environment
Agile Software Engineering experience
Application / Code troubleshooting skills
Experience designing, implementing, and maintaining APIs and micro services using Web API Gateways and API Management Platforms