**Senior Full Stack Python Developer Role Description**
We are seeking a highly skilled Senior Full Stack Python Software Engineer to work on a new data lineage reporting project.
As a key member of our team, you will be responsible for developing and delivering software that meets business objectives. Your primary duties will include ensuring that software is developed to meet functional and non-functional requirements, refining stories, coding solutions, building unit tests, and integrating them successfully into the overall application.
You will become an expert in development and testing practices at Bank of America and collaborate closely with business users, business analysts, and development team colleagues to build best-in-class solutions.
Our culture values teamwork, and we interact closely with our business partners. We work in an agile fashion and strive to continuously improve our processes. We leverage a wide range of technologies and emphasize researching new approaches and technologies.
Becoming part of our growing team of five people, which aims to expand to 14 over the next year, requires being proactive, intellectually curious, and enjoying problem-solving. Bank of America's scale and scope offer exceptional career development paths, including opportunities for long-term rolling contracts on multiple projects and conversion to permanent positions.
**Key Responsibilities:**
* Build efficient back-end features in Python.
* Collaborate with cross-functional teams to gather requirements and translate them into technical specifications.
* Write clean, efficient, and reusable code following coding standards and best practices.
* Collaborate with UX/UI designers to implement designs into the code.
* Implement software enhancements and suggest improvements.
* Coach junior team members and provide technical leadership and guidance to Junior Developers.
* Optimize application performance by identifying and resolving bottlenecks and implementing efficient algorithms.
**Required Skills:**
* Strong proficiency in Python programming language, including its syntax, data structures, and object-oriented concepts.
* A minimum of 5 years of experience programming with Python, preferably on enterprise-level applications.
* Experience with Python frameworks (SQLAlchemy, Django, Flask, Bottle).
* Good relational database/SQL experience, e.g., PostgreSQL and MySQL or SQL Server.
* A basic knowledge of JavaScript & Typescript using Angular.
* Experience in performance optimization techniques, including profiling, caching, and code refactoring.
* Solid understanding of software testing methodologies, including unit testing, integration testing, and end-to-end testing.
* Knowledge of NoSQL databases and Graph databases is strongly preferred.
**Nice to Haves:**
* Solid Linux/UNIX experience.
* Familiarity with testing frameworks for Python applications, such as Selenium or Pytest.
* Knowledge of Openshift, Kubernetes, and cloud-native applications is a major plus.
* Familiarity with integrating services such as Amazon Web Services (AWS) and REST API.
* Experience with CI/CD tools, such as Git, Jenkins, Artifactory, Ansible.
* Proficiency in working in an Agile project management environment.
* Building and deploying Microservices in Python.
* Experience working within the financial domain.