Senior Software Engineer, Natural Language Processing/Generation

Towers Crescent (12066), United States of America, Vienna, Virginia

At Capital One, we're building a leading information-based technology company. Still founder-led by Chairman and Chief Executive Officer Richard Fairbank, Capital One is on a mission to help our customers succeed by bringing ingenuity, simplicity, and humanity to banking. We measure our efforts by the success our customers enjoy and the advocacy they exhibit. We are succeeding because they are succeeding.

Guided by our shared values, we thrive in an environment where collaboration and openness are valued. We believe that innovation is powered by perspective and that teamwork and respect for each other lead to superior results. We elevate each other and obsess about doing the right thing. Our associates serve with humility and a deep respect for their responsibility in helping our customers achieve their goals and realize their dreams. Together, we are on a quest to change banking for good.

Senior Software Engineer, Natural Language Processing/Generation

Are you an expert Python software engineer with experience building high-performing software components, and a passion for languages, linguistics and NLP? Capital One is seeking a Senior Software Engineer, Natural Language Processing to build up Natural Language Generation (NLG) capabilities for our intelligent assistant, Eno.

As part of our core development team, you'll help create innovative technologies that drive human-chatbot engagement through fluid and natural dialogue. Working within an Agile framework, you'll iterate on new solutions and features for NLG, helping us deliver exciting new capabilities to Eno.

In particular, we're looking for experienced and passionate software engineers with knowledge of one or more of the following: runtime/memory optimizations, implementation of custom parsers, and writing highly scalable, resilient, and modular software.

You will:

  • Bring new components into production and ensure their stability
  • Research autonomously and rapidly, and then apply findings to build up, optimize and upgrade NLG functionalities
  • Work with a software developer team actively modifying common code base
  • Critically think and bring suggestions to the table to better implement the desired functionality
  • Self-start, dive into code and learn all the ins-and-outs of the project


Basic Qualifications:
  • Bachelor's degree in Natural Language Processing, Computational Linguistics, or Computer Science or military experience
  • At least 4 years of experience in software engineering
  • At least 4 years of experience with Python
  • At least 2 years of experience with Unix or Linux systems
  • At least 2 years of experience in the design of natural language processing software components and systems
  • At least 1 year of experience with language structure and language theories
  • At least 1 year of experience with GitHub


Preferred Qualifications:
  • Master's Degree or PhD
  • Experience with Natural Language Generation technology
  • Experience with building parsers
  • Experience with context-free grammars and FSAs
  • Experience in researching and implementing state-of-the-art techniques for dialogue system components
  • Experience designing and developing modular software architectures
  • Experience with concurrent programming, multithreading and multiprocessing
  • Experience with successful integration of new components into complex systems
  • Track record of delivering high-quality results and meeting strict deadlines


At this time, Capital One will not sponsor a new applicant for employment authorization for this position.


Meet Some of Capital One's Employees

Jyotisana

Senior Manager, Software Engineering

Jyotisana manages five teams who simultaneously work on internal and external technology projects in areas from communication to customer service.

Abhishek

Senior Manager, Data Science

Abhishek and his team work horizontally to support other business teams by building tools they can leverage to make more efficient use of their time.


Back to top