Junior or Senior Software Engineer - Data Engineering


Industry: Financial Services | Austin, TX, USA | Charlotte, NC, USA

1 year ago

Primary Skills Required
Please see notes in job description

Resource Type
Direct Hire

110,000.00 to 150,000.00 Salary + Bonus


Job Description

As a Software Engineer working in the Investment Data Services team, you will be part of a team that is responsible for management, engineering, and operations of the enterprise investment data platform which supports Research, Portfolio management, Trading, and Analytics. 

In this role, you will design, develop, document, and test multiple application services focusing on building scalable data platform and services. You will also expand and optimize our data and data pipeline architecture.  The successful candidate will demonstrate strong technical and analytical ability across multiple tech stacks as well as are detail oriented and passionate about building data applications.  You also enjoy optimizing data systems and building them from the ground up.


  • Build and deliver investment data technology solutions in support of Research, Portfolio Management, Trading, Analytics and Reporting functions.
  • Formulate, design, develop, test, and deliver data technology solutions with a balanced focus on speed and quality.
  • Collaborate with business analysts, product owners, and project managers to develop user stories, estimates, and work plans.
  • Work with minimal supervision and advise business clients and IT management of technology capabilities and recommend strategies to maximize the benefits of new technologies.
  • Identify, design, and implement changes to data pipelines at various stages including data ingestion, data validation, and quality control, data integration, storage, management, and data delivery.
  • Write unit/integration tests, contribute to engineering wiki, and write detailed documentation
  • Build high-performance and scalable data-transfer toolsets which reliably transfer datasets between endpoints within established SLA's. 
  • Focus on data consistency, refresh rates and caching requirements while keeping the data current across a variety of interfaces.
  • Build and enhance CI/CD pipelines and develop supportable solutions. Participate in code and design reviews.
  • Provide technical troubleshooting and support for production systems.


  • Bachelor’s degree in engineering, math, computer science, or a related field. A Master’s degree is preferred.
  • 4 to 5 years of programming experience in C# .Net or equivalent, and Python (open source) or equivalent. Ability to work on multiple programming languages and platforms is highly preferred.
  • Proficiency in building RESTful APIs and web services.
  • 4 to 5 years of SQL experience (No-SQL experience is a plus)
  • Familiarity with SOLID principles and Domain-driven design
  • Experience in high performance and high availability data applications and must have a keen eye for performance optimization and tuning.
  • Experience with automated acceptance testing and ability to write unit-tested, maintainable code.
  • Good understanding of cyber security risks and demonstrated ability to design and build highly secure applications.
  • Experience working in a dynamic and interactive team environment to build world-class software implementations.
  • Knowledge of best practices and IT operations in an always-up, always-available service.
  • Experience working with Agile Scrum and waterfall methodologies with software development and integration focus.
  • Strong analytical and problem-solving skills.
  • Effective written and verbal communication skills with a keen sense of customer service

Preferred Qualifications

  • Financial services industry knowledge or experience a plus

Experience with the following:

  • Kafka
  • Mongo
  • Airflow
  • PostgreSQL
  • Ansible
  • Elastic stack
  • RabbitMQ
  • Angular and/or React
  • Redis
  • Docker
  • Knowledge of Okta, OAuth2, PlainID.