Software Developer
Role details
Job location
Tech stack
Job description
Works independently as a senior resource to the development team. The Senior Software Developer will ensure that development project deliverables meet business, architecture and technical requirements, while supporting existing systems. This role will contribute to the quality our systems via automation that enables unit testing. Responsible for reviewing and analyzing existing applications and assisting with modernization by leveraging cloud native functionality, where applicable., * Assists in the development of organizational standards for system architecture, system security, and system documentation, and ensures that application design and development deliverables align with MSRB standards, policies, and procedures.
-
Serves as a senior technical resource to development staff and ensures that business goals are translated into effective and efficient applications.
-
Liaises with the software development manager, enterprise architect, and business owners to define project requirements and ensure efficient implementation.
-
Designs, codes, tests, debugs, configures, and documents applications. Creates unit and regression tests to identify defects and validate that developed code meets project specifications.
-
Develops and integrates applications with underlying database technologies and ensures appropriate testing at the database level.
-
Analyzes, defines, and documents system requirements related to data, workflow, logical processes, cloud infrastructure, operating system environments, system interfaces, and internal and external controls.
-
Works independently and as part of an Agile development team to design and develop new SQL queries, stored procedures, and database applications. Modifies existing stored procedures and applications in AWS native database technologies, PostgreSQL, and Oracle Linux/Windows environments to support IT delivery projects.
-
Creates, supports, and maintains CI/CD technologies and processes.
-
Assists in the definition, capture, and reporting of relevant development metrics.
-
Analyzes and estimates feasibility, cost, time, and compatibility with other systems and available computing capabilities.
-
Researches, evaluates, and recommends software products where applicable.
-
Guides team development efforts toward successful project delivery.
-
Identifies and encourages areas for growth and improvement within the team.
-
Mentors team members and collaborates across teams to help increase technical proficiency and development skills.
-
Works closely with the release manager to identify cross-functional dependencies and ensure conflict-free releases.
-
Provides technical assistance by responding to inquiries regarding errors, problems, or questions related to programs, and trains end users or technical support staff in their use.
-
Demonstrates the ability to define problems, collect data, establish facts, and draw valid conclusions.
-
Monitors the Agile work board and guides the team toward continuously improving the velocity and quality of product development. Works with the team to meet or exceed department metric targets.
-
Writes, speaks, and presents effectively. Explains the immediate context of a situation, asks thoughtful follow-up questions, and seeks advice when appropriate before acting. Develops compelling presentations that clearly communicate information and influence others.
-
Demonstrates the ability to use different problem-solving strategies and select the one that best fits the situation. Gathers data to support recommendations and seeks approval before taking action to minimize potential risk. Keeps the big picture in mind while addressing specific issues.
-
Takes initiative to actively participate in team interactions. Draws on the strengths of fellow team members and actively seeks opinions and ideas from people with varied backgrounds and experiences to improve decisions.
Requirements
- 7+ years of relevant software development experience
- Extensive experience developing and debugging frontend applications using JavaScript, React.js, Next.js, and TypeScript
- Strong experience developing applications in Python
- Working knowledge of AWS services, including API Gateway, AppSync, Lambda, CloudFront, CloudFormation, DynamoDB, and RDS
- Experience creating GraphQL APIs is preferred
- Experience using unit testing frameworks across the technologies listed above
- Experience with application performance tuning and optimization
- Experience working with source control systems and CI/CD pipelines
- Experience developing applications, databases, and infrastructure as code using AWS native services
- Experience creating REST APIs
- Experience developing AWS serverless and highly available applications
- Experience supporting and enhancing legacy enterprise applications built with .NET Framework, .NET Core, C#, MVC, and ASP.NET
- Familiarity with Windows Server and IIS-based application environments
- AWS certification is preferred, * Experience developing and testing SOAP and REST APIs, including authentication and SSL/X.509 certificate handling, is a plus
- Strong SQL and PL/SQL skills are preferred
- Experience with Oracle 11g/12c and stored procedure development is preferred
- Familiarity with non-relational databases is a plus
#SNIT