
Software Engineer
NinjaHoldings · Chicago, IL
- Hybrid
- Full-time
- $110,000 / year
- Chicago, IL
Job highlights
- Build and enhance financial service systems.
- Collaborate with cross-functional teams.
- Design scalable software solutions.
- Work with Ruby on Rails and databases.
- Contribute to engineering vision and roadmap.
About the role
Software Engineer
NinjaHoldings was founded in 2017 by a team seeking to revolutionize the way everyday Americans interact with financial services. Through our CreditNinja and NinjaCard brands, we empower people overlooked by traditional financial institutions to take control of their finances via a full suite of digital banking and lending products, providing incentives and rewards along the way as we guide them on a path to financial improvement. Through our NinjaEdge brand, we help companies better understand their customers by offering a package of bespoke underwriting, fraud detection, and analytics services. With offices in Chicago, Miami, and around the world through the power of remote work, we are a lean and innovative team always seeking like-minded talent to join us in our fight to disrupt consumer finance.
Job Summary
The Software Engineer will be responsible for building new systems, enhancing and refactoring existing systems, integrating with external systems, and performance projects. This person will work with the existing team of developers, QA and Product Managers to design and implement features, have input on roadmaps and bring prior experience to ensure a world class product. You will work closely with your technical lead to shape the overall Engineering vision and roadmap.
This person has built systems from the ground up and had to deal with bad design assumptions and scaling issues. The right candidate has developed good design instincts through a mix of seeing 'what not to do' as well as being a 'student' of good design.
You'll be part of a team that works in one of the following areas: Customer Communication - how we communicate with our customers & potential customers. I.e. email, sms, snail mail; Identity - managing customer and potential customer information; Decisions - Decision systems for bidding on marketing leads and automatically making underwriting decisions; Portfolio Management - Systems responsible for managing the life cycle of our lending and banking products such as integrations to external payment processing systems.
Key Responsibilities:
- Design, develop or modify software and/or software systems and also taking the service architecture into consideration
- Analyze user needs to determine how software should be built or if existing software should be modified
- Translate business requirements and specifications into usable and scalable software
- Lead design and code reviews
- Participate in discussions about the team’s future vision and strategy
Ideal Candidate Will Have:
- 3+ years of professional experience as a backend software engineer for non-trivial web applications
- 3+ years of Ruby on Rails, bonus point for Hotwire Turbo/Stimulus + Tailwind experience
- Thinks critically about work to guarantee business functionality. Understands and takes into account business goals into their technical decisions
- Can break down large initiatives into incrementally implementable deliverables
- Strong communication ability to describe complex problems and solutions
- Able to work across teams to tackle complex issues
- Extensive experience with data model design for relational databases
Additional Pluses:
- Extensive experience using SQL to investigate non-trivial issues or to create complex reporting
- Strong experience on the Frontend or the infrastructure (DevOps)
- Prior FinTech experience
Benefits:
- Competitive salary and benefits package
- Flexible, remote work
- Fun, fast-paced work environment
- Dynamic start-up culture
- Ability to make an immediate impact in a growth stage company
- Convenient downtown Chicago office located in the heart of the city
- Equal opportunity employer
Key skills/competency
- Software Engineering
- Ruby on Rails
- Backend Development
- System Design
- Database Design
- SQL
- Agile Methodologies
- Problem Solving
- Communication
- FinTech
Skills & topics
- Software Engineer
- Ruby on Rails
- Backend Developer
- System Design
- Database Design
- SQL
- FinTech
- Consumer Finance
- Web Application
- Remote Work
How to get hired
- Tailor your resume: Highlight 3+ years of backend experience and Ruby on Rails skills for this Software Engineer role.
- Showcase system design: Emphasize experience building systems from scratch and dealing with scaling issues.
- Quantify achievements: Use data to demonstrate your impact on business functionality and technical decisions.
- Prepare for interviews: Be ready to discuss complex problems, solutions, and your contribution to team strategy.
- Research NinjaHoldings: Understand their mission to disrupt consumer finance and their FinTech products.
Technical preparation
Behavioral questions
Frequently asked questions
- What is the application process for a Software Engineer at NinjaHoldings?
- The application process typically involves submitting your resume, followed by interviews with the hiring team. For the Software Engineer position, expect technical assessments focusing on backend development, system design, and Ruby on Rails. Our process aims to evaluate your problem-solving skills and alignment with our dynamic startup culture.
- What are the key technical skills required for the Software Engineer role at NinjaHoldings?
- The ideal candidate for the Software Engineer role at NinjaHoldings has 3+ years of backend experience with Ruby on Rails. Experience with Hotwire Turbo/Stimulus, Tailwind, SQL, and data model design for relational databases is highly valued. Experience with frontend or DevOps is a plus, as is prior FinTech experience.
- Does NinjaHoldings offer remote work for Software Engineers?
- Yes, NinjaHoldings embraces remote work and has offices in Chicago and Miami, along with a global remote team. The Software Engineer position offers a flexible, remote work arrangement, allowing you to contribute from various locations while being part of our innovative team.
- What kind of projects will a Software Engineer work on at NinjaHoldings?
- As a Software Engineer at NinjaHoldings, you will be responsible for building new systems, enhancing existing ones, integrating with external services, and undertaking performance projects. You'll contribute to areas like customer communication, identity management, decision systems, and portfolio management for our financial products.
- How can I demonstrate my understanding of business goals in my Software Engineer application at NinjaHoldings?
- To demonstrate your understanding of business goals, highlight instances where your technical decisions directly supported business functionality or objectives. In your resume and interviews, discuss how you translate business requirements into scalable software and consider the company's mission to disrupt consumer finance.
- What makes NinjaHoldings a unique place to work for a Software Engineer?
- NinjaHoldings offers a dynamic startup culture focused on revolutionizing financial services. You'll have the opportunity to make an immediate impact, work with a lean and innovative team, and contribute to a mission-driven company. We provide a competitive salary, benefits, and a flexible remote work environment.