Senior Software Engineer - remote

Cardinal Financial
Posted 1 year ago
Who We Are:
Cardinal Financial is a fast-growing, technology-based mortgage lender reinventing how people get home loans. We understand great people are the key to great companies.

Who We Need:      
The Senior Software Engineer is responsible for producing scalable software solutions and the full software development life cycle, from conception to deployment as well as mentoring other engineers. As a full stack senior engineer, you should have mastery of both front-end and back-end coding languages, development frameworks and third-party libraries.

What You'll Do:  
  • Collaborate with greater engineering team in an agile environment
  • Partner with Leadership, Executive Management, and key business stakeholders to identify and solution software request and needs
  • Perform full-stack development to benefit the team and product when an engineer is familiar with the entire stack. 
  • Mentor other engineers in best practices and team conventions and standards.
  • Manage your stories completely, including prioritization, working with stakeholders for design and specs, communicating status to all, writing the code, and documenting what you've done.
  • Lead large projects with multiple engineers contributing, closely collaborating with designers and stakeholders.
  • Write clean, concise code, and robust unit tests. 
  • Create well-designed UIs that make our users productive and simple for our customers to understand.
  • Lead code reviews and daily interactions to ensure our application meets our high standards. We mix up the review teams so you'll get exposed to the whole system.
  • Find ways to improve our applications and how we work. allowing us to make more happen with less.
  • Daily video call interaction required 
  • Extended and weekend work hours may be required

What You're Like:
  • You love a fast environment with a lot of churn. You take pleasure in creation, chaos, spontaneity, change, debate and silence.
  • You’re passionate about great code design, great UX, security, performance and testing. 
  • You pride yourself on understanding projects top to bottom.
  • You’re comfortable working in a team where each of us has a huge impact and we depend on each other to get things done. 
  • You enjoy working alone or working with others. You’re comfortable doing things even when you’re not told exactly what to do.
  • You like helping others on things that have nothing to do with your project.

What You Need:      
  • Bachelor’s degree in Computer Science or related field and at least 5 years of software development experience on a large-scale web application.
  • You communicate well whether you’re getting specs from a stakeholder, writing those specs, explaining a design to your colleagues, or patiently helping a user 
  • Demonstrated ability to analyze a feature story and design a robust solution for it. You can create specs for complex business rules and calculations.
  • You write well-designed code that you and others will find easy to understand and modify six months from now.  
  • Demonstrated ability to review code and specifications ensuring high quality standards of other engineer’s stories.
  • Mastery of object-oriented design and how to implement your designs in Java.  
  • Comfortable with Linux commands and tools.
  • Demonstrated success in designing good databases and your SQL skills are solid.
  • Demonstrated success building UIs using HTML, CSS, and Javascript. 
  • Demonstrated success with Octane software stories.
  • Demonstrated success implementing HTTP / XML integrations with third-party systems
  • You love a fast environment with a lot of churn. You take pleasure in creation, chaos, spontaneity, change, debate and silence.
  • You’re passionate about great code design, great UX, security, performance, and testing. 
  • You pride yourself on understanding projects top to bottom.
  • You’re comfortable working in a team where each of us has a huge impact and we depend on each other to get things done. 
  • You enjoy working alone or working with others. You’re comfortable doing things even when you’re not told exactly what to do.
  • You like helping others on things that have nothing to do with your project.

Our Technology:    
Our application is a challenging and complex system that includes lender and borrower interfaces, workflow, document management, advanced automation, and integrations with external entities and services. 

The server architecture is stateless, cleanly managing the business logic and persistence layer, exposed as a RESTful JSON API. The server is written using a combination of Java 11 on Jetty, and Node.js for asynchronous tasks. Our database is MySQL with MyBatis ORM and uses Redis for caching and non-critical message queueing.

The UI uses a custom, JavaScript MVC framework with dynamic code loading modules, client-side routing and templates, powerful data-binding features, integrated services, and advanced component architecture.

Our applications are containerized, utilizing AWS services to deploy on EC2 via ECS.  We use Aurora to scale and handle DB failover. We monitor with CloudWatch and push urgent issues to PagerDuty for triage.  We use Jenkins to test and deploy.

All infrastructure is built with Infrastructure-as-code tools like Terraform. Server images are built with Packer to enable reproducible results with security hardening. We use GuardDuty, AWS Config and Macie for security analysis.

We develop on Macs, manage our code in git, and collaborate using chat and Asana.

What We Offer:
  • Strength, Stability, and Vision.
  • Great compensation package.
  • Opportunity for career growth.
  • A commitment to be a relevant market leader - we are aiming for the top!
  • Octane, our engineered proprietary technology that is transforming the mortgage industry.
  • An empowered culture where your ideas are important and your voice matters.
  • Full Benefits, beginning the first day of the month following your start date, including – Medical, Dental, Vision, Life, Disability Insurance, and much more.
  • Generous paid time off package that also includes all major holidays.
  • 401K w/ 50% match - Beginning the 1st of the month following 30 days of employment.

Cardinal Financial is an Equal Opportunity Employer. We respect and aim to empower individuals and support the diverse cultures, perspectives, skills and experiences within our workforce. California residents click here to review Cardinal's California Employee Privacy Policy &Notice at Collection. The expected base salary for this position ranges from one hundred nineteen thousand dollars to one hundred fifty thousand dollars, determined based on the applicant's experience, skillset, education, training, certificates, and licenses.