Back to Job Search

Software Engineer Lead

  • Location: Charlotte, North Carolina, 28262
  • Salary: 0.0
  • Job Type:Permanent

Posted 4 months ago

Position: Software Engineer Lead
Location: Charlotte, NC 
Type: Permanent - FTE

As a Software Engineer Lead Consultant, you will contribute to developer innovation for the company.  This extends from improving the experience of existing products to developing new products for the unit along with the strategic product vision.  The Software Engineer Lead Consultant serves as a member of a product team. You will practice and champion the Agile delivery utilizing Continuous Integration & Deployment practices.  You will leverage test driven development and continuous integration to ensure agility and quality of products.  You will actively participate in the decision-making process of the team ensuring that the simplest appropriate technology and design is chosen to meet user needs.  You will coach other team members, creating an environment of continuous learning, and constantly challenging and stretching the knowledge of the team.

Key Responsibilities
  • Participates in inceptions and iteration planning meetings, infusing backlogs with technical input working in close partnership with the product manager
  • Leads and participates in daily site, cross-site, and product team standups
  • Leads and participates in retrospectives; demonstrating and encouraging each participant to provide feedback with empathy
  • Partners in collaboration and strategy alignment across product portfolios (cross-product) in partnership with product managers, other peers and key stakeholders with the customer needs and wants in mind
  • Serves as an expert on one or more business domain and a lead advocate of one or more technology stacks and shares that knowledge across organizations
  • Participates in the effort of shaping the architecture and design of the product; actively helps the team in choosing the right technology, solving technical problems,
  • Coaches the team in writing software and building products
  • Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices likely including cloud-based infrastructure deployment
  • Provides support for software products in user environments
  • Leads and participates in knowledge sharing and contributes to the overall growth of the collective knowledge of the engineering community.

Job Qualifications
  • 5+ years of developing and implementing systems at scale
  •  A college degree or equivalent experience in Computer Science or similar field, including a solid understanding of Computer Science fundamentals
  • Experience developing software in different programming languages, and demonstrated ability to quickly learn new languages, including but not limited to JavaScript/React and Java/Spring Boot
  • Recent experience working in an eXtreme Programming (XP) or agile environment
  • Experience in Test Driven Development (TDD); including knowledge and experience in testing frameworks like JUnit, Mockito, Jest, Enzyme, and other like technologies
  • Knowledge and experience on approaches and tools for automated testing and monitoring
  • Actual experience developing continuous integration, continuous delivery (CICD) and continuous deployment pipelines for distributed apps
  • Experience in responsive web front end / single page application development using modular JavaScript including apps targeted for mobile devices
  • Hands on experience on modern JavaScript tools such as Webpack, Babel, ESLint, npm and similar technologies
  • Experience in backend development design and implementation; database (relational, NoSQL, caching) and messaging
  • Experience and knowledge in developing REST APIs including tooling for documentation (OpenAPI), versioning, testing and management
  • Experience and knowledge in web and API security including authentication, authorization, OAuth and OWASP
  • Strong understanding of computer science concepts, object-oriented design principles
  • Strong understanding of distributed systems, operating systems, networking, databases, security, and analytics
  • Able to learn new technologies, and teach other members of the team/s