General Summary:
Do you want to be part of a team of talented engineers that are supportive with a passion for high quality, testable code? Do you want to take a pivotal role in advancing a brand new, state-of-the-art, scalable distributed securities processing system and data warehouse? If so, read on. CRSP is a leader in providing research-quality data to scholars and investors, advancing the body of knowledge in finance, economics, and related disciplines for over 60 years. Nearly 600 leading academic institutions in 35 countries around the world rely on CRSP data for quality and timely academic securities research.
Current projects include development using Scala, Python, Apache Spark, SQL Server, Apache Parquet, Microsoft Azure technologies, and Microsoft Azure DevOps. Join us in our effort to create the highest quality financial research data and providing the input for some of the most influential financial research studies.
Principal Duties and Responsibilities:
- Implement, design, and maintain value-adding, performant, and scalable solutions which enhance and extend the CRSP Research Products platform
- Make high-impact contributions of the designing, development, and implementation of quality solutions and platforms
- Collaborate with all levels of the organization during the phases of the software development lifecycle to craft and build workable implementation plans, timelines, and ultimately, robust solutions
- Provide technical guidance to team members through education and coaching of best practice functional and object-oriented principles
- Maintain mutual and positive working relationships with all members of CRSP through an environment of cooperation, coordination, and respect
- Help drive the adoption of Azure cloud architecture within the organization
- Design and help implement CI/CD pipelines using Azure DevOps to streamline software delivery processes
- Collaborate with development, QA, and systems teams to ensure smooth deployment and operation of software solutions on Azure
Required Knowledge, Skills, and Experience:
- Bachelor’s degree, preferably in computer science or related field or an equivalent combination of education and experience
- Minimum four years of applicable programming experience
- Programming skills in Scala, Java, or C#
- Proficiency in data-driven programming
- Expertise with various databases
Preferred Skills and Experience:
- Master's degree, preferably in computer science or related field
- Minimum three (3) years of applicable programming experience
- Strong problem-solving skills
- Experience leading software projects and mentoring junior engineers
- Familiarity with functional/declarative programming concepts (monads, functors, higher-order functions, currying, immutability, side effects, pure functions, etc.)
- Experience using both Scala and Apache Spark
- Experience with Python 3 and Panda’s library
- Experience diagnosing and resolving relational database performance issues, including analysis of query plans, structure, and indexing
- Familiarity with Git or similar version control
- Experience working in an Agile environment with strong engineering best practices, including unit testing, code reviews, continuous integration, and automated deployments
- Excellent written and verbal communication, including the ability to communicate technical concepts to non-technical staff, users, and partners
- Experience in the securities and/or financial industry and/or additional education in finance preferred
- Experience with Azure cloud services
- Understanding of Azure DevOps and general CI/CD principles and practices
WORK LOCATION: 105 West Adams Street, 17th Floor, Chicago, IL