The Mid-Level Software Engineer develops software products and improves overall product quality across the software development life cycle, working independently on complex efforts with general guidance. Incumbents take on problems of moderate to substantial scope that require sound technical judgment - designing, building, and maintaining applications that ingest multiple data sources and surface insights through correlation and analysis - while growing toward broader technical ownership and beginning to guide less-experienced engineers.
Essential Job Functions
• Designs, develops, tests, and maintains features and services that ingest multiple data sources and surface insights through correlation and analysis, delivering clean, maintainable, well-tested code.
• Takes ownership of moderately complex components end to end - from design through delivery and support - with limited guidance.
• Participates in architecture and design discussions, contributes technical input, and helps shape solutions for the team.
• Identifies and resolves technical issues and dependencies, escalating broader risks appropriately to keep work on track.
• Supports production systems, troubleshoots issues, and improves reliability, performance, and maintainability of existing code and infrastructure.
• Participates in code reviews - submitting own work and providing constructive feedback - and helps apply and improve the team's coding standards, tools, and best practices.
• Provides informal guidance to junior engineers and contributes to onboarding and knowledge sharing.
• Applies computer science fundamentals - algorithm design, problem solving, complexity analysis, and data structures - and growing experience with Big Data technologies to solve business problems.
• Uses AI-assisted development tools to work more effectively, applying good judgment to review generated output for correctness, security, and quality.
• Builds productive working relationships across the team, communicates progress and blockers proactively, disagrees and commits when needed, and demonstrates FINRA's values through in-person and virtual collaboration in furtherance of FINRA's mission of investor protection and market integrity.
Required Technical Skills
• Proficiency in Java, Python, and/or Node.js, with solid object-oriented development and RESTful API design; familiarity with microservices architecture.
• Working experience with Big Data processing frameworks such as Apache Spark, EMR (Presto, Trino), and Athena.
• Experience building ETL/ELT pipelines for data ingestion, transformation, and loading, including batch and (ideally) streaming processing.
• Understanding of data lake and data warehouse patterns - partitioning, schema management, and file formats (Parquet, ORC, Avro) - with SQL performance tuning for analytical workloads.
• Exposure to workflow orchestration and scheduling (AWS Glue, Step Functions, Airflow) and to data quality, validation, and pipeline monitoring.
• Relational databases (PostgreSQL, MySQL, Aurora) and working knowledge of NoSQL databases (DynamoDB, MongoDB, Cassandra).
• Core AWS services (EC2, S3, Lambda, RDS, ECS, API Gateway), CloudWatch/CloudTrail, IAM, and basic VPC networking; exposure to Infrastructure as Code (Terraform/CloudFormation).
• CI/CD pipelines, test automation and unit testing, and software security best practices.
Nice to Have
• QuickSight for dashboards and data visualization.
• Frontend applications (React, Angular).
• GitLab CI/CD exposure.
• AI development tools (e.g., Amazon Q or similar code assistants), with the ability to validate generated code for correctness, quality, and security, and good judgment about when human review is required.
Education/Experience Requirements
Bachelor's degree in Computer Science, Information Systems, or a related discipline with at least five (5) years of related experience, or the equivalent combination of education and work experience. Requires solid experience in object-oriented development, cloud technologies, and data storage technologies (both relational and NoSQL), along with growing experience in system design, performance tuning and optimization, DevOps and CI/CD, test automation and unit testing, and software security.
Working Conditions
Hybrid work environment, with defined in-person presence requirements.