Principal .NET Software Engineering (Hands-On)

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. We do this by driving Responsible Growth and delivering for our clients, teammates, communities and shareholders every day.

Being a Great Place to Work is core to how we drive Responsible Growth. This includes our commitment to being an inclusive workplace, attracting and developing exceptional talent, supporting our teammates’ physical, emotional, and financial wellness, recognizing and rewarding performance, and how we make an impact in the communities we serve.


Bank of America is committed to an in-office culture with specific requirements for office-based attendance and which allows for an appropriate level of flexibility for our teammates and businesses based on role-specific considerations.


At Bank of America, you can build a successful career with opportunities to learn, grow, and make an impact. Join us!

Job Description:

This job is responsible for defining and leading the engineering approach for solutions at the program or portfolio level, to deliver significant business outcomes. Key responsibilities include continuously improving the design, quality, and reuse of the solution and delivering technology enablers that improve development efficiencies for the solution. Job expectations include familiarity with at least one area of engineering, acting as a “go to” reference across the organization, and applying knowledge to improve technical competencies through recruitment and development activities.

We are seeking a deeply technical, hands-on Principal .NET Software Engineering to lead our core application development team. This is a "player-coach" role designed for a leader who remains passionate about coding and architecture, not just managing people. You will spend a significant portion of your time working alongside your team, contributing directly to the codebase, leading architectural discussions, and solving our most complex technical challenges. If you are an expert engineer who also excels at mentoring others and building high-performing teams, this is the perfect opportunity for you.

Responsibilities:

  • Develops the engineering approach for the entire program/portfolio solution and works with Architecture, to develop/analyze/deliver the implementation of technical enablers

  • Leads the planning, definition, and design of the complex features which span multiple teams and explore solution alternatives

  • Creates ideas on designing complex technology and solution development approaches

  • Leads the technical oversight for teams in solution development including design reviews and code within own domain

  • Defines the technology tool stack for the solution within ranged of internally approved and supported technologies

  • Explores state-of-the-art technologies to improve development efficiencies, quality of test/QA coverage, and release management

  • Leads and is responsible for the end-to-end test strategy/creation/adherence, and the integration between teams for a program/portfolio solution

What You'll Do:

  • Hands-On Technical Leadership & Development: Dedicate a part of your time to writing high-quality, production-ready code for key features and initiatives. Lead by example as the team's foremost technical expert, driving design, architecture, and implementation of robust solutions using .NET Core 8.

  • Team Mentorship & Growth: Manage and mentor a team of .NET developers, fostering a culture of excellence and continuous learning. Provide direct technical guidance through collaborative design sessions, in-depth code reviews, and one-on-one coaching to elevate the team's capabilities.

  • Drive Technical & Architectural Excellence: Architect scalable, maintainable, and secure applications. Champion and implement software development best practices for coding standards, CI/CD, automated testing, and security.

  • Strategic Collaboration: Partner with Product Managers, QA, and SRE to translate business requirements into clear technical specifications and achievable roadmaps, ensuring your team is building the right solutions effectively.

Required Qualifications:

  • 10+ years of experience required technical expertise in software development using .NET 8 and C#.

  • Proven experience in a hands-on technical leadership or management role, where you were still actively coding and designing systems.

  • Mastery of building web applications and services using ASP.NET Core (Web API & MVC).

  • Strong experience with relational databases, specifically Oracle.

  • Proficiency with front-end development, including HTML, CSS, JavaScript, jQuery, and experience with modern frameworks like VueJS or ReactJS.

  • Solid experience implementing and managing CI/CD pipelines, as well as good understanding of source control best practices (GIT)

  • Experience writing and maintaining unit tests using frameworks like NUnit or xUnit.

  • Deep understanding of web security principles (e.g., OAuth 2.0) and API design patterns (e.g., REST).

  • Excellent problem-solving skills and the ability to articulate complex technical concepts to a non-technical audience.

Desired Qualifications:

  • Direct experience working in the payments systems or FinTech industry.

Skills:

  • Automation

  • Influence

  • Result Orientation

  • Stakeholder Management

  • Technical Strategy Development

  • Application Development

  • Architecture

  • Business Acumen

  • Risk Management

  • Solution Design

  • Agile Practices

  • Analytical Thinking

  • Collaboration

  • Data Management

  • Solution Delivery Process

Minimum Education Requirement: Bachelor’s degree or equivalent work experience.

Shift:

1st shift (United States of America)

Hours Per Week: 

40
Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...