Back to Job Search

Lead Software Engineer

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

Posted 12 days 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
  • A college degree or equivalent experience in Computer Science or similar field, including a solid understanding of Computer Science fundamentals
  • 5+ years of developing and implementing systems at scale
  • Strong understanding of computer science concepts, object-oriented design principles
  • Strong understanding of distributed systems, operating systems, networking, databases, security, and analytics
  • Experience developing software in different programming languages, and demonstrated ability to quickly learn new languages, including but not limited to JavaScript, Java (Spring), Python and Golang
  • Experience and knowledge in developing REST APIs including tooling for documentation (swagger, REST-docs, openapi spec), versioning, service discovery/registration, testing and management; experience using API gateways a plus
  • Experience and knowledge in web and API security including authentication, authorization, OAuth, OWASP, OpenID, and SAML
  • Experience in backend development design and implementation; database (relational, NoSQL, caching), messaging and big data development, implementation and optimization
  • Experience in responsive web front end / single page application development using modular JavaScript including apps targeted for mobile devices or native mobile languages (Objective-C, Swift, Android Java)
  • Hands on experience on modern JavaScript tools such as Webpack, Babel, ESLint, npm and similar technologies
  • Experience with deployment pipeline scripting for cloud-environments such as Amazon Web Services
  • Actual experience developing continuous integration, continuous delivery and continuous deployment pipelines for distributed apps
  • Knowledge and experience on approaches and tools for automated testing and monitoring
  • Recent experience working in an eXtreme Programming (XP) or agile environment
  • Experience in Test Driven Development; including knowledge and experience in testing frameworks like JUnit, Mockito, jasmine, protractor, cucumber, and other like technologies
  • Able to learn new technologies, and teach other members of the team/s