Who We Need:
Cardinal Financial understands that great people are the key to great companies. We are looking for intelligent, hard-working, passionate individuals that want to be part of something very different. We need people that dream big and possess a work ethic that will inspire those around them. We are seeking forward thinking people, who produce results rather than wait for them. You will not be micromanaged; but you will need to meet specific expectations and it will be entirely up to you to make sure that this happens. You will be backed by one of the strongest, most supportive and technical mortgage banking leadership teams in the industry and we are all committed to the success of the enterprise.
We are currently looking for energetic, hardworking, and knowledgeable Full Stack Software Engineers located on the East Coast and West Coast.
What You Will Do:
- You’ll be involved in every aspect of building and supporting our SaaS enterprise mortgage lending platform.
- We’re an agile shop and you’ll be part of choosing what stories you’ll work on as they come up in the backlog.
- You’ll do full-stack development because we’ve found it benefits the team and product when an engineer is familiar with the entire stack and has a genuine interest in all our software technology. We also recognize that each engineer is passionate and skilled in specific layers. We manage to blend the two realities very well.
- You’ll manage your stories completely including working with end users to determine what is required, designing the UI, classes, business logic and data. We describe our approaches informally to get rapid review and critique by others.
- You’ll write clean, concise code, and robust unit tests for all your work. Finished code will be reviewed by others in the team. We mix up the review teams so everyone has good exposure to the whole system.
- You’ll find ways to improve our product and how we work. We leverage tools and innovation to make more happen with less. When we identify an improvement, we implement it fast.
- You’ll help with production support and help users when needed.
What You Are Like:
If you think you’d like to work with us, here are some things that should apply to you:
- You’re comfortable working in a small team. Each of us has a huge impact and we depend on each other to get things done.
- You love a fast environment with a lot of churn.
- You’re passionate about good object-oriented design, great UX, security, performance optimization and testing.
- You pride yourself on understanding projects top to bottom.
- You enjoy working alone or working with others. You’re comfortable doing things even when you’re not told exactly what to do.
- You take pleasure in creation, chaos, spontaneity, change, debate and silence.
- You like helping others become better and more successful. You know how to make life easier for others on your team.
- You’re OK chipping in on things that have nothing to do with your current project, or helping with off-hour production emergencies and deployments.
What You Need:
- You have a bachelor’s degree in Computer Science or related field and at least two years software development experience on a large-scale web application. Mortgage knowledge and experience is a plus.
- You can analyze a feature story and design a robust and complete solution for it. You have excellent debugging skills and use tools to aid you.
- You write well-designed, reliable code that you or others will find easy to understand and modify six months from now.
- You know Java, databases and SQL very well. You’re comfortable with Linux commands and tools.
- You're comfortable implementing integrations with third-party systems using HTTP and XML.
- You know and use all of these: IDE, source control, debugger, continuous testing, build automation.
- You communicate well whether you’re patiently helping a user, explaining a design to your colleagues, or writing a specification.
Our SaaS enterprise mortgage lending platform 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 8 on Jetty, and Node.js for asynchronous tasks. We persist our data in MySQL using MyBatis and use Redis for caching, metrics, and non-critical message queueing.
We develop on Macs and deploy on AWS. Our tools include: github, Jenkins, gradle, grunt, JAXB, iText, Aspose, IntelliJ IDEA, Pivotal Tracker.