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 extensive experience in building high-performing production 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.

If you are someone who wants to be part of an innovative initiative transforming the way state-of-the-art chatbots communicate, strive for excellence in how you build your software, want to see the real impact of your work and ready to put in extra effort in building-up a new NLG ecosystem for the platform - we have a perfect opportunity on our young and growing team!

NLG project is a new component on the platform and your main responsibilities will include run-time/memory optimizations of the code, implementation of custom parsers, ensuring stability, resilience and adhering to best practices in software development.

The idea candidate would be:

  • An experienced engineer with a track record of bringing new components into production and ensuring their stability
  • A Research-minded individual, capable of doing their research autonomously and rapidly, and then apply their findings to build up, optimize and upgrade NLG functionalities
  • A team-player, with extensive experience of work in a software developer team of people actively modifying common code base
  • A goal-oriented individual who can take responsibility and get things done regardless of the circumstances
  • A critical thinker, who can bring their suggestions to the table to better implement the desired functionality
  • A self-starter, ready to dive into code and learn all ins-and-outs of the project
  • A quick learner who can work with minimal supervision


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.


Back to top