Elder Research, America’s leading consulting company in data mining, predictive analytics, and text mining,is interested in candidates with professional software engineering experience to join our growing software development teams in Baltimore, MD, Washington, DC, and Charlottesville, VA. 

We look for dynamic, collaborative software engineers to help craft solutions for mission critical problems in a team-based setting.  A software engineer works closely with data scientists and business consultants to build systems that create, manage, and deploy meaningful statistical models from large datasets in a variety of formats (RDBMS, NoSQL, Spark, flat file, etc.) for clients ranging from startups to Fortune 50 companies. We are looking for experienced software engineers with 5-7 years experience and 2-3 years working with functional programming (Scala preferred) in a data-driven environment.  The ideal candidate also has experience with statistical and mathematical programming, machine learning, natural language processing, or equivalent. 

Technologies we use:  Scala, Spark, Akka, R, Python

Responsibilities:

  • Develop robust systems for helping our customers make data-driven decisions in collaborative, team-based environment.
  • Participate in every stage of the software development lifecycle, from ideation and requirements gathering through implementation, testing, deployment, and maintenance as part of a team of mutually supportive and goal-oriented developers.
  • Provide leadership and coordination for certain stages of the software development lifecycle as needed, including the potential for mentoring junior developers and providing technical thought leadership.
  • Perform other technical tasks as needed, including writing project reports, managing, implementing, and/or maintaining technical infrastructure, etc.

Requirements:

  • Bachelors or Master’s degree in Computer Science or related field, or equivalent experience.
  • Excellent written and verbal communication skills. Ability to evaluate and describe complex technical solutions for clients, management and team members is essential.
  • Deep knowledge of Java, Scala, Python, C++ or other object-oriented language, and have demonstrated ability to adapt and learn new technologies quickly while meeting scope, schedule, cost, and quality requirements for multiple initiatives.
  • Deep experience with functional programming.
  • Demonstrated ability working with high-level mathematical concepts and associated code-form representations.
  • Familiarity with data manipulation, SQL, relational databases, and/or NoSQL databases.
  • Senior Software Engineers will have:
    • A minimum of 7 years technical and mathematical programming experience.
    • Master’s or Ph.D. in Computer Science or related discipline, or equivalent experience.
    • Significant experience rapidly delivering complex solutions while maintaining quality and supporting company objectives.

Desired Skills and Abilities:

  • Experience in deploying web and/or desktop applications to large user bases.
  • Experience developing, refining, and promoting software best practices and processes including architectural standards, code and API reusability, and shared content.
  • Experience in continuous integration and continuous delivery highly desirable.

Interested candidates may view open positions and submit applications using our Career Center