Back to search results

Software Engineer II

Plano, Texas;

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!


This job is responsible for developing and delivering complex requirements to accomplish business goals. Key responsibilities of the job include ensuring that software is developed to meet functional, non-functional and compliance requirements, coding solutions, unit testing, and ensuring the solution can be integrated successfully into the overall application/system with clear, robust, and well-tested interfaces. Job expectations include an awareness of development and testing practices in the industry.

Position Summary

A Network Automation Developer is responsible for developing, deploying and testing microservices, application and user interfaces, ansible templates and resource adapters (i.e. plugins) in our BofA Network Automation Engine platform. The developer will be writing python and ansible modules that deploy network fabrics via a controller. The developer will also write and execute tests to validate the automation against known standards.

Required Qualifications

Technical Skills:

  • Strong proficiency in Python programming and Linux OS. (Ubuntu, CentOS, etc.).
  • Familiarity with shell scripting (Bash).
  • Experience with version control systems (e.g., Git).
  • Understanding of network protocols and services (DNS, DHCP, HTTP, SSH, etc.).
  • 8 years of experience required .
  • Bachelor’s degree in Computer Science, Information Technology, required .

Software Development:

  • Develop and maintain Python-based applications and scripts.
  • Write clean, efficient, and well-documented code.
  • Debug and troubleshoot software issues.
  • Develop microservices, APIs, service templates that define the services that we provide to our customers.

Systems Administration:

  • Manage and maintain Linux servers and systems.
  • Perform routine system monitoring, performance tuning, and troubleshooting.
  • Ensure system security and compliance in line with BOA best practices.
  • Effectively use Jira and Confluence to manage and document work.

Automation and Scripting:

  • Automate repetitive tasks and workflows using Python and shell scripts within virtual environment.
  • Develop and maintain CI/CD pipelines for deployment automation.
  • Deploy code to our development, QA, Staging and Production servers using our continuous integration and deployment pipeline platform
  • Test new services are functioning as expected using our testing framework, and add new test cases to the test suite to continuously improve our quality assurance bar.

Collaboration:

  • Work closely with cross-functional teams to understand requirements and deliver solutions.
  • Participate in code reviews and provide constructive feedback.
  • Collaborate with DevOps engineers to streamline operation and process.
  • Participate where required in on team on call rota to support application users.

Documentation:

  • Create and maintain technical documentation for systems and processes.
  • Document code and systems configurations.

Desired Qualifications -

  • Proven experience as a Python developer (3+ years).
  • Hands-on experience with Linux system administration (3+ years).
  • Experience with automation tools and frameworks.
  • Agile (Lean or Scaled Agile Framework) (3+ years)
  • Excellent problem-solving skills.
  • Strong communication and collaboration abilities.
  • Ability to work independently and as part of a team.
  • Attention to detail and commitment to quality.
  • Preferred Qualifications:
  • Knowledge of database systems (SQL, Nautobot).
  • Arista ACE Level 5+ or Cisco DevNet S/P/E
  • Familiarity with infrastructure as code (IaC) tools such as Ansible.

Responsibilities:

  • Codes solutions and unit test to deliver a requirement/story per the defined acceptance criteria and compliance requirements
  • Utilizes multiple architectural components (across data, application, business) in design and development of client requirements
  • Performs Continuous Integration and Continuous Development (CI-CD) activities
  • Contributes to story refinement and definition of requirements
  • Participates in estimating work necessary to realize a story/requirement through the delivery lifecycle
  • Contributes to existing test suites (integration, regression, performance), analyze test reports, identify any test issues/errors, and triage the underlying cause
  • Performs spike/proof of concept as necessary to mitigate risk or implement new ideas

Skills:

  • Application Development
  • Automation
  • Collaboration
  • DevOps Practices
  • Solution Design
  • Agile Practices
  • Architecture
  • Result Orientation
  • Solution Delivery Process
  • User Experience Design
  • Analytical Thinking
  • Data Management
  • Risk Management
  • Technical Strategy Development
  • Test Engineering

Shift:

1st shift (United States of America)

Hours Per Week: 

40

Learn more about this role

Full time

JR-24034745

Manages People: No

Travel: Yes, 5% of the time