.NET Software Engineer II
- Deliver technically complex solutions.
- Perform system integration support for all project work.
- Consult and partner with the business product owners to understand the end goal and offer solutions and recommendations during the design.
Following is a summary of the essential functions for this job. Other duties may be performed, both major and minor, which are not mentioned below. Specific activities may change from time to time.
- Develop customized coding, software integration, perform analysis, configure solutions, using tools specific to the project or the area.
- Lead and participate in the development, testing, implementation, maintenance, and support of highly complex solutions in adherence to company standards, including robust unit testing and support for subsequent release testing.
- Build non-functional monitoring capabilities and provide escalated support for highly complex applications in production.
- Build in and maintain security controls and monitoring in support of company standards.
- Typically lead moderately complex projects and participate in larger, more complex initiatives.
- Solve complex technical and operational problems.
- Act as a resource for teammates with less experience May oversee the work of a small team in an Agile environment:
- Responsible for delivering high quality working software and automating manual/reusable tasks working directly, and engage with, the business from the beginning of the design work.
- Leverage continuous engineering practices to deliver business value regarding effectiveness of the design.
- Actively participate in refining user stories.
- Responsible for design, developing, and maintaining automated unit testing, and supporting integration and functional testing.
- Responsible for providing automated monitoring capabilities, providing warranty support, and providing knowledge transfer to production support.
- Develop code in accordance with the acceptance criteria established by the Product Owner.
The requirements listed below are representative of the knowledge, skill and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Bachelor’s Degree and four to seven years of experience or equivalent education and software engineering training or experience
- In-depth knowledge in information systems and ability to identify, apply, and implement IT best practices Understanding of key business processes and competitive strategies related to the IT function
- Ability to plan and manage projects and solve complex problems by applying best practices
- Ability to provide direction and mentor less experienced teammates.
- Ability to interpret and convey complex, difficult, or sensitive information
- Bachelor’s degree in computer science, computer engineering or related degree and eight years of experience or an equivalent combination of education and work experience
- Knowledge of specific applications, technology platforms, programming languages, systems, or business segments Banking or financial services experience.
- Knowledge of one or more of the following: Solid foundation in data structures, algorithms, and software design with strong analytical and debugging skills
- Professional experience building high-quality apps or services from the ground up and scaling at an enterprise level Experience with Open Source tools and frameworks
- Experience with cloud technologies, such as AWS, Azure, or GCP Strong understanding of SOA and/or
- Open API methodologies and service architectures
- Experience using web servers, application containers, caching technologies
- Solid knowledge of relational database design and development (SQL, stored procedures, data modeling)
- Experience with messaging systems (i.e., MQ and JMS)
- Experience with build tools, such as Git, Maven, and Jenkins. Proven ability to write comprehensive unit and integration tests