Oh Snap!
This job is no longer active - but you can still view the details below.

Lead Software Engineer

| Chicago

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. 


Donnelley Financial Solutions (NYSE: DFIN) is seeking a Senior Software Engineer to evolve our Venue Virtual Data Room product into a set of fault tolerant, autonomously scalable, and performant microservices in Azure. We are seeking passionate software craftspeople to solve complex data storage, access, search, and analytics problems. If you are committed to delivering high quality, maintainable, reliable, performant, and scalable software, this role might be the perfect fit. Come be part of a growing, innovative team that cares about you and your personal growth and development. This role is availible for both our downtown Chicago location or our office located in Downers Grove

What you will do

  • Take ownership of complex problems and provide solutions with minimal direction.
  • Specify non-functional software requirements and analyze requirements to determine design feasibility within time and cost constraints.
  • Estimate and be accountable to software development timelines. 
  • Design object oriented software using best practice software engineering including separation of concerns, high cohesion, low coupling, abstraction, encapsulation and information hiding, interfaces, and dependency injection. 
  • Implement object oriented software using defensive programming and exception handling, design patterns and object oriented programming (OOP) principles like SOLID.
  • Test software with traceability back to requirements using autonomous frameworks and Continuous Integration.
  • Follow and improve agile software development process and practice.
  • Identify and reduce technical debt.
  • Set an example of software engineering best practice junior engineers can emulate.

Required Experience and Skills

  • Deep understanding of and fanatical adherence to best practice software engineering including separation of concerns, high cohesion, low coupling, modularization, encapsulation and information hiding, interfaces, and dependency injection; you can think abstractly and transform your thinking into practical implementation. 
  • Object orientation analysis (OOA) and design (OOD) is part of your daily working agile methodology, including the application of design patterns and object oriented programming (OOP) principles such as SOLID; you actually do class, component, sequence, system, and deployment diagrams.
  • Proven success delivering solutions for different types of problems for fault tolerant, low latency distributed systems, data storage, transformation and access, or text search. 
  • Performance monitoring and scalability is part of your architecture and design work, not an afterthought in implementation. 
  • Excellent interpersonal and teamwork skills 
  • At least 6 years of software engineering experience on complex distributed systems.
  • Fluent in C#/ . NET, Java, Scala, and/or C++, git and branching models like Gitflow.
  • Experience with small teams that move fast.
  • Willing and able to set and meet delivery deadlines. 
  • Expert application of modern automated test frameworks and Continuous Integration.
  • You can go up and down the stack from deep in the infrastructure layer all the way up to the client libraries.
  • API first design building scalable ReSTful APIs, ideally using an IDL like OpenAPI.
  • Bachelor of Science degree in Computer Science, Math, or Computer/Electrical Engineering. 


Preferred Experience and Skills

  • Relational and non-relational database experience; you've also used a cache like Redis.
  • Knowledge or experience with cloud platforms (Azure or AWS) and infrastructure as code.
  • Understanding or experience with Docker & Kubernetes


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

Read Full Job Description

Technology we use

  • Engineering
    • .NETLanguages
    • C#Languages
    • PythonLanguages
    • RLanguages
    • SqlLanguages
    • ReactLibraries
    • AngularJSFrameworks
    • ASP.NETFrameworks
    • Microsoft SQL ServerDatabases
    • SAP HANADatabases
    • TeradataDatabases


Located in the heart of downtown Chicago’s financial district, we are steps from all Metra stations, good eats and entertainment.

An Insider's view of DFIN

What’s the vibe like in the office?

I am working among an extremely smart group of people, of which I have created great friendships with. During lunch break we play board games and have interesting technical and financial discussions. It’s exciting to wake up and go to work knowing that I’ll be collaborating with some of the best colleagues I’ve had in my career.


Software Engineer

What projects are you most excited about?

In transforming and improving FinTech products, excitement comes from the challenge of knowing that the problems are complex, yet the solutions must be easy to use. When we start a new project, I can't wait to sink my teeth into understanding the problem space, talking to users, designing the solution, and seeing it through to release.


Principal Product Designer

What makes someone successful on your team?

A successful member of our team at DFIN is comfortable to work with or learn any part of the tech stack. They effectively communicate during meetings to help plan out our next projects as a team, and they ask other members of the team for support if they happen to get stuck while coding.


Associate Software Engineer

What are DFIN Perks + Benefits

Friends outside of work
Eat lunch together
Daily stand up
Team owned deliverables
Team based strategic planning
Group brainstorming sessions
Open office floor plan
Highly diverse management team
(Discuss our CTO?)
Health Insurance & Wellness Benefits
Disability Insurance
Dental Benefits
Vision Benefits
Health Insurance Benefits
Retirement & Stock Options Benefits
401(K) Matching
Vacation & Time Off Benefits
Generous PTO
Paid Holidays
Paid Sick Days
Perks & Discounts
Casual Dress
Commuter Benefits
Stocked Kitchen
Fitness Subsidies
Professional Development Benefits
Lunch and learns
Cross functional training encouraged
Promote from within
More Jobs at DFIN10 open jobs
All Jobs
Dev + Engineer