C# .Net Software Engineer, Global Banking Technology
Bank of America
Job Description:
At Bank of America, we are guided by a common purpose to help make financial lives better through the power of every connection. Responsible Growth is how we run our company and how we deliver for our clients, teammates, communities and shareholders every day.
One of the keys to driving Responsible Growth is being a great place to work for our teammates around the world. We’re devoted to being a diverse and inclusive workplace for everyone. We hire individuals with a broad range of backgrounds and experiences and invest heavily in our teammates and their families by offering competitive benefits to support their physical, emotional, and financial well-being.
Bank of America believes both in the importance of working together and offering flexibility to our employees. We use a multi-faceted approach for flexibility, depending on the various roles in our organization.
Working at Bank of America will give you a great career with opportunities to learn, grow and make an impact, along with the power to make a difference. Join us!
Your background
- Bachelor's Degree preferred 8+ years of experience in full stack development; designing and building applications with the latest version of the .NET Framework, C#, HTML/CSS (UI/UX), Entity Framework, SQL Server and/or Oracle Database, Aspose.NET, and others.
- Demonstratable experience of Entity Framework and thread modelling for Database calls using LINQ
- Experience with container environments e.g., Kubernetes utilizing tools such as OpenShift or Docker.
- Demonstratable experience with modern JavaScript frameworks and libraries e.g., Angular, JQuery, and others.
- Possess a functional understanding of APIs to integrate systems using a wide variety of protocols such as REST, SOAP, JSON, gRPC, and others.
- A solid understanding of front-end design patterns and principals: Responsive Web Design, MVC, Server-side vs. Client-side rendering
- Experience with Continuous Integration (CI) tools such as Jenkins, and utilizing source control tools for branching/merging such as Git, BitBucket, Subversion
- Experience working with DevOps, Agile tools (e.g., JIRA, Confluence, Jenkins, nUnit, jUnit, XL Release) and development methodologies (e.g., Scrum and Kanban), but most importantly possess an ability to work in a constantly changing environment.
- Responsible for developing and delivering complex software requirements to a Program Increment consisting of teams spread across multiple global regions.
- Proven ability to methodically troubleshoot large systems, by drilling down to the code level to identify the root cause of issues.
- Excellent communication skills to effectively interact with project managers and developers in a remote setting.
What you can expect
The successful candidate will be involved in designing, developing, and deploying solutions in a .Net environment. The technological solutions deployed will meet a series of objectives to improve the productivity of a GCIB Banker.
This is a very engaging role with both the LOB and Global Technology partners, and therefore a strong command of English is necessary to ensure the candidate can communicate in a coherent and concise manner.
The candidate will be required to understand and analyze the business processes and be involved in Program Increment and Sprint Planning (Scaled Agile Framework) that will be crucial in the refinement and estimation of stories/tasks to accomplish agreed upon business goals and objectives.
The developer role enables the candidate to continue along a technical path that could lead to ultimate ownership of a major function, and the ability to take on a leadership role to coach and mentor team members in the full lifecycle of product delivery/release (CI/CD) events.
The existing team in Global Banking Technology focusses on developing and supporting a suite of applications that are used globally c.5000 Corporate and Investment Banking associates and control partners. The core members of the development team are based in Hong Kong, Australia, UK, India, and US.
What you will do
- Execute assigned tasks in various projects impacting Global Corporate & Investment Banking business by transforming the business requirement into a technological solution through the means of development and POC/spikes.
- Serve as a fully seasoned/proficient technical resource; provide technical knowledge and capabilities as a team member and an individual contributor.
- Manage sprint deliverables and communicate any risks or impediments at daily stand ups to allow the team to provide any help as necessary.
- Be comfortable with participating in joint sessions/working groups to discuss technical solutions within an integrated team dispersed across the globe geographically.
- Partner closely with the front-line business, COO team and product owners to execute projects, discuss priorities, brainstorm ideas, and conduct presentations.
- Adopt an iterative development approach via the Agile development model – create stories/tasks, drive discussions in Program Increment, discuss priorities, manage risks, and be involved with all Agile ceremonies of the project life cycle.
- Collaborate virtually with other team members via ad-hoc/planned phone calls, video calls and emails when in-person meetings cannot take place.
- Research, design, and develop computer and network software or specialized utility programs.
- Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
- Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
- Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.