Principal Software Engineer - Distributed System - Full Stack (Remote)

Sorry, this job was removed at 08:17 p.m. (CST) on Monday, Oct 28, 2024
Hiring Remotely in United States
Remote
Internship
Fintech • Information Technology • Legal Tech • Software • Financial Services • Data Privacy
We deliver end-to-end risk and compliance solutions through our software and domain expertise.
The Role

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.
You can read the bullets below. But they almost always look the same, right? Here is the deal - being a principal engineer here at DFIN means helping us deliver SaaS software solutions for our customers that primarily work with the SEC or other global regulating bodies. Our products are in demand because we solve regulatory problems for our customers. As a principal engineer, you'll own projects end to end, write code that others will look towards as a standard, understand how we operate our systems and make sure our technology grows and doesn't become a big pile of tech debt.
This isn't your simple, run of the mill, boring system. This is a system with an interesting mix of design challenges such as eventual consistency, messaging, concurrency, network resiliency, data replication, load/demand prediction, observability engineering, build and deployment pipeline optimization, etc. This system is like Google docs, but with more sophisticated features, and this is a role working on the most advanced and challenging aspects of the system.
Responsibilities:

  • 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 speed.
  • 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.
  • Find ways to reduce/decompose complex software components along appropriate boundaries.
  • When apparently irreducible functionality is encountered and resists beneficial decomposition, find ways to simplify through quantization.


Responsibilities (cont.):

  • 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 software development, the products you work on, and the firm.
  • 6-15+ years of experience working in full stack distributed systems.
  • Experience meeting secure coding standards and willing to participate in financial systems security practices.
  • Ability to explain complex topics to managers/directors, program/product managers


Non-negotiables:

  • Strong in 2 of Java, C#, Javascript/Typescript, NodeJS.
  • Must be willing to work with C#, Node JS, Java, Typescript
  • REACT (preferred), Angular, or other SPA frontend development tech stack


Roughly 50% or more of the following in rough order of importance:

  • Distributed systems design patterns and experience
  • Concurrency and/or asynchronous operations.
  • Messaging systems and patterns using tech like Azure Service Bus, Rabbit MQ, etc.
  • Azure (Preferred), AWS, and/or GCP
  • Advanced HTTP protocol/Networking
  • In depth REST API experience
  • Docker, AKS/Kubernetes
  • Build pipelines and ideally IaC such as Terraform
  • Typescript/JavaScript
  • RDBMS such as SQL Databases such as PostgreSQL or SQL Server
  • WebSockets or other push technologies
  • Service workers, Web workers, or WASM
  • Browser APIs
  • Algorithm design/optimization and combinatorial problem solving.
  • Profiling for compute and memory optimization.
  • Stream processing or functional reactive programming.
  • Micro-frontends
  • Browser Canvas
  • Experience with heavy, sophisticated, complex frontend SPA or PWA software.


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 access j obs.dfinsolutions.com as a result of your disability. You can request a reasonable accommodation by sending an email to [email protected] .

What the Team is Saying

Aravinda
Carey
Gary
Stephen
The Company
Chicago, IL
1,900 Employees
Hybrid Workplace
Year Founded: 2016

What We Do

DFIN is a leading global risk and compliance solutions company. We provide domain expertise, software and data analytics for every stage of our clients’ business and investment lifecycles. Markets fluctuate, regulations evolve, technology advances, and through it all, DFIN delivers confidence with the right solutions in moments that matter.

Why Work With Us

DFIN is shaping global markets and is an environment where you can bring your whole self to work and do your best work every day. We are a values-based culture in which you can build a rewarding career.

Gallery

Gallery
Gallery
Gallery
Gallery
Gallery
Gallery
Gallery

DFIN Offices

Hybrid Workspace

Employees engage in a combination of remote and on-site work.

We operate in a fully flexible work environment, our employees can work remotely, but our offices remain open and available for collaboration.

Typical time on-site: Flexible
Chicago, IL

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account