Lead Software EngineerWorking independently, the Lead Software Engineer owns development of software products and works on improving the overall quality of the product throughout the software development life cycle and mentors other Software Engineers. Reports directly to a Director or Senior Director.Essential Job Functions:Seasoned contributor that works on complex projects requiring extensive knowledge of specialty area and industry practicesManages processes, projects or products to improve efficiency within org or product areaInfluences outcomes in cross-functional settingsDemonstrates solid understanding of systems and processes within job area and recommends improvementsDesigns and develops industry-leading solutions that meet defined quality standards, reliability specifications, and help achieve key strategic objectivesEnsures comparison of tasks and quality of work, supporting peers to ensure the team delivers consistentlyExcellent understanding in computer science fundamentals - Algorithm design, Problem solving, Complexity analysis and data structures.Engineering/Operations Excellence:Helps identify gaps between system components and designs and delivers solutionsImplements methods for managing and maintaining the organization's software development environments to ensure software engineers are equipped with the tools and resources necessary to create and validate buildsTakes broad perspective to problems and exercises independent judgement in techniques and evaluation criteria to obtain resultsDevelops actionable insights from analyzing software development trends, software engineering best practices, and innovative test environment management tools and communicates integration recommendations to managementIdentifies ways to overcome challenging situations that jeopardize the achievement of business goalsCollaboration:Coaches and trains less experienced colleagues in techniques, processes, and responsibilitiesIntegrates the culture of intelligence, integrity, and initiative into team goals and decisionsPartners within and across teams to remove barriers and identify shared goals and prioritiesOpenly shares progress and priorities with key stakeholders, communicating complex or technical information at the right level.Demonstration of FINRA's values.Collaboration, both in-person and virtually, in furtherance of FINRA's mission of investor protection and market integrity.Essential Technical Skills:Big Data Technologies: Extensive hands-on experience with Hadoop, Spark, Hive, and Trino for processing petabyte-scale datasets. Proven ability to diagnose and resolve data skew, resource limitations, scalability challenges, and job failures in production environments.Apache Spark Expertise: Deep understanding of Spark architecture including executors, tasks, stages, and DAG execution. Demonstrated proficiency in performance tuning techniques such as partitioning strategies, caching, broadcast joins, and optimization of large-scale data processing jobs.SQL Mastery: Advanced proficiency in complex SQL including window functions, multi-table joins, aggregations, and query optimization.
Experience handling edge cases involving NULLs, duplicates, and ordering in production environments.Cloud Technologies: Strong experience with AWS services including S3, EMR, Glue, Lambda, Athena, EKS, and serverless architectures. Practical knowledge of file format optimization, consistency management, and cloud-based data processing workflows.Programming (Python/Scala): Proficiency in writing clean, modular, and performant code using Python or Scala. Strong understanding of functional programming concepts (immutability, higher-order functions), collections, concurrency, and memory management for scalable data processing.AI Tool Proficiency: Hands-on experience with AI development tools (GitHub Copilot, Q Developer, etc.) and AI workflow design. Proven ability in prompt engineering and leveraging AI coding assistants for enhanced productivity.Agile Methodology & Change Management: Extensive experience with Scrum, Kanban, and continuous improvement practices. Demonstrated experience leading teams through AI adoption, technology transformation, and workflow optimization initiatives.System Design & Architecture: Strong system design experience with ability to architect scalable, distributed data processing solutions and enterprise-level applications.Object-Oriented Development: Strong experience in object-oriented programming principles, design patterns, and software engineering best practices.Data Storage Technologies: Strong experience with modern data storage solutions, database technologies, and data modeling approaches for both relational and NoSQL systems.Performance Tuning & Optimization: Demonstrated expertise in identifying bottlenecks and optimizing application and data processing performance across the full stack.DevOps & CI/CD: Strong experience with DevOps practices, continuous integration, continuous deployment pipelines, and infrastructure as code.Software Security: Strong understanding of security best practices, secure coding principles, and application security across all layers.Data Analysis & Insights: Ability to interpret AI-generated insights and data-driven metrics, translating them into actionable technical improvements and measurable business value.Education/Experience Requirements:Bachelor's degree in Computer Science, Information Systems or related discipline with at least 7 years of related experience, or equivalent training and/or work experience.Strong system design experienceStrong experience in object-oriented developmentStrong experience with cloud technologiesStrong experience in data storage technologiesStrong experience in performance tuning and optimizationStrong experience in DevOps and CI/CD technologiesStrong experience test automation and unit testingStrong experience software securityWorking Conditions:Hybrid work environment, with defined in-person presence requirements.Occasional travel and extended hours may be required.