Responsibilities: Develop in-depth knowledge of several Clients Utility products business processes and systems environment Act in the capacity of a software engineer to actively participate in the definition, design, development, testing and implementation of software functionality using the Agile methodology Create or modify complex programs, modules, routines, scripts and data objects from a detailed design where efficiency, performance and reliability are critical Work with and advise both business and technology teams (internal and external) on how best to implement desired features and enhancements Ensure that technical solutions follow best practices, are reliable, are easily maintainable and are scalable under sustained load Participate in design and code reviews Collaborate to identify, isolate and resolve malfunctions related to software Conduct knowledge transition on solutions to the designated application support team(s) Create and evolve application documentation as required Operate in compliance with IT standards, policies, procedures, and best practicesWhat Youll Need: Bachelors Degree (CS preferred) or equivalent work experience 6+ years of full software development lifecycle experience including the ability to perform independent analysis 4+ years of experience developing applications in web technologies (C#, asp.net, MVC, web.api, IIS experience, NodeJs) 3+ years of experience in AWS/Azure and developing applications with relational database technologies (DynamoDB/PostgreSQL preferred) 4+ years of experience working web server technologies 4+ years of experience working with web services (REST) Strong analytical abilities and a strong intellectual curiosity Strong verbal and written communication skills Strong time management and organization skills Ability to balance multiple priorities at a given time Must be team oriented and have a customer service mindset Self-driven, able to work independently