Donnelley Financial, LLC
Principal Software Engineer - Frontend SPA (Remote)
Donnelley Financial, LLC, Rockville, Maryland, 20849
Description: Donnelley Financial Solutions (DFIN) is a leader in risk and compliance solutions, providing insightful technology, industry expertise and data insights to clients across the globe. We're here to help you make smarter decisions with insightful technology, industry expertise and data insights at every stage of your business and investment lifecycles. As markets fluctuate, regulations evolve and technology advances, we're there. And through it all, we deliver confidence with the right solutions in moments that matter. Summary: We are looking for technical team members at all levels who want to push themselves to deliver best in market SaaS solutions. We offer a challenging environment where you will have to grow, adapt and use your skills consistently. Our customers rely on us in the moments that matter. Engineering delivers on that promise. As a Principal Frontend Engineer, you will be part of key engineering team within our engineering organization, responsible for the architectural vision, design, and implementation of our frontend systems. You will work closely with cross-functional teams, engineers at all levels, product managers, and UX designers, to deliver a world-class user experience for our SaaS platform. This role requires deep engineering skills in modern frontend technologies, strong leadership skills, and a strategic mindset to drive the evolution of our systems in alignment with business goals. This isn't your typical, boring, web application, but a highly sophisticated, modern, SPA plus Node JS BFF, that pushes the boundaries of memory and computation in a browser requiring many components to be meticulously engineered for optimal performance. Challenges include use of web workers, algorithmic design/optimization, replication patterns, caching, async design, and the successful management of complexity. The system involves real-time collaborative document editing, requiring concurrency and distributed systems thinking. This role focuses on the most advanced and challenging aspects of this system in an environment of innovation and technical excellence. Responsibilities: Complex web frontend SPA development and architecture. Design and implement concise, modular, cohesive, frontend and backend services in a distributed system context that are resilient, efficient, and reliable. Ensure automated tests are highly effective in terms of software quality, refactor flexibility, and integration/delivery/build speed. Design, refactor, implement, or work within micro-frontend SPA(s). Optimize builds for speed and deterministic dependency management. Concurrent and asynchronous software design/development. Advanced asynchronous and resilient network communications design and implementation. Software development on complex, but potentially irreducible algorithms or combinatorials. Understand the basics of determinism, complexity classes, and resource constraints. Find ways to reduce/decompose complex software components along appropriate boundaries. Responsibilities (cont.): When apparently irreducible problems are encountered and they resist beneficial decomposition (np-ness), find ways to simplify through approximation theory and quantization. Extensive usage of all aspects of observability systems from experienced instrumentation of code to well-designed queries, dashboards, and alerts. Data driven optimization of latency, compute, memory, storage, and network traffic. Maintain awareness of production system performance, errors, and code usage. Communicate with clarity with diagrams, documentation, and presentations to other developers, dev teams, SREs, and management. Optimize build, deployment, and IaC provisioning pipelines. Rigorous analysis of escaped defects to determine corrective actions with depth of insight. Communicate clearly via software architecture, embedded docs, or o11y. Design and develop defensively to maintain or increase security going beyond OWASP and zero trust patterns by truly understanding the area of the system being worked on. Rigorous and proficient review and clear feedback on pull requests by team members. Keep up with relevant technologies, techniques, tools, and patterns. Ensure the software is as simple as possible, but not simpler. Build software with people. Product managers, other developers, SREs, junior engineers, senior engineers, and offshore. Construct software that matters Constantly address technical debt. Shine a light on it, even when it hurts. Participate in the planning of technical engineering and product roadmaps. Plan, lead, or manage projects when called upon to do so while remaining hands on. Qualifications: BS in Computer Science or equivalent work experience.Commitment to your development, the products you work on and the firm. 6-15 years of experience designing and building frontend software applications Experience with secure coding standards and participation in systems security practices. Ability to explain complex topics to managers/directors, program/product managers Non-negotiables: Strong Typescript/JavaScript/ECMAScript REACT (preferred), Angular, or other SPA frontend development tech stack Roughly 50% or more of the following (in order of importance): Roughly 50% or more of the following (in order of importance): Experience with heavy, complex frontend software. Redux/Redux-Saga Browser APIs Immutable data structures In depth REST API experience Frontend test frameworks Javascript V8 GC Service workers, Web workers, or WASM Concurrency and/or asynchronous operations. Algorithm and combinatorial design and optimization Memory optimization including binary/byte level techniques Node JS Micro-frontends WebSockets or other push technologies like Signal R or long polling Browser Canvas Advanced HTTP protocol/Networking Pluses Java, C#, PostgreSQL, SQL Server Docker, AKS/Kubernetes Distributed systems backend experience It is the policy of Donnelley Financial Solutions to select, place and manage all its employees without discrimination based on race, color, national origin, gender, age, religion, actual or perceived disability, veteran's status, actual or perceived sexual orientation, genetic information or any other protected status. If you are a qualified individual with a disability or a disabled veteran, you have the right to request a reasonable accommodation if you are unable or limited in your ability to use or accessjobs.dfinsolutions.comas a result of your disability. You can request a reasonable accommodation by sending an email toAccommodationRequestsdfinsolutions.com.