What does a great Software Developer, Senior do?
You’ll be working in multidisciplinary teams where your focus will be on integration/user interface development and improvements of our cutting-edge online banking technology and products.
Essential Functions/Job Duties:
- Develops and reviews requirements, ensuring that there is agreement on what software is to be built.
- Synthesizes design, incorporates review comments and provide critical review of other designs.
- Often responsible for creating and documenting the architecture and design for several interrelated components, which are subsequently developed by other engineers.
- Writes production-quality code and is able to implement entire subsystems or feature sets independently. Software developed should have very few defects, should be robust in the face of environmental errors, should perform at or beyond requirements, and should be able to be understood by more junior developers.
- Builds and tests code to validate functionality against requirements.
- Facilitates code inspections and design reviews. Mentors others on software development practice.
- Participates in establishing large and/or complex project goals, milestones and timetables.
- Accurately estimates and tracks personal work. Helps other engineers create accurate estimates.
- Communicates accurate status to managers and project managers.
- Coordinates work with project managers and other engineers. Develops and maintains strong relations with clients, partners, peers and other associates.
- Identifies project responsibilities outside of the standard implementation process and coordinates with the appropriate area.
- Assists in the development and presentation of manuals, user guides, and other materials relating to client products.
- May provide staff and clients with training and technical assistance relating to new, existing, and revised products.
- Provides post-release support to internal and external customers.
- Helps identify closed loop corrective action for removing process defects in the software development life cycle.
- Demonstrates self-development by attending courses and conferences. Routinely presents topics and training to other software developers.
Basic Qualifications for Consideration:
- Four-year degree plus graduate work in software engineering, computer science, computer engineering or equivalent experience is required. During this time should have written programs of significant complexity (several thousand lines).
- At least 7 years’ experience writing software in a production environment, preferably in product development setting. Software development experience should include distributed server solutions with rigorous quality, scalability, robustness and reliability requirements.
- At least 4 years’ experience with Microsoft technology stack (.NET, C#, RESTful API Web Services, ASP.NET, etc)
- At least 4 years’ experience with Cloud Computing technologies (Azure, AKS, GCP, etc)
- Proven practical experience with software product development/management processes and software configuration management.
- Proven project or sub-project technical leadership. Experienced with project management tools and techniques. Able to manage multiple tasks and meet assigned deadlines.
- Ability to assess and inspect coding practices and review software designs.
- Good interpersonal and written communication skills
Preferred Skills, Experience, and Education:
- Exposure to with API management tools like Apigee
- Experience with API integration