Lead Software Engineer, Full Stack
We are at the forefront of change in this rapidly evolving lending market. mello™, the Greek word for “future,” was the product of a recent $80+ million dollar investment in research & development to transform & streamline the home buying process into a digital experience like no other competitor offers. But mello™ is just the beginning… loanDepot will continue to invest in developing our own advanced technology ecosystem built around serving our customers & enabling our valued employees to provide exceptional service. We have funding, we have opportunities, you have ideas—it’s a perfect match. Come join us!
loanDepot — We are America’s Lender.
As our Lead Software Engineer you are responsible for delivering senior level innovative, compelling, coherent software solutions for our consumer, internal operations and value chain constituents across a wide variety of enterprise applications through the creation of discrete business services and their supporting components. Under the direction of Software Engineering Manager, the Lead Software Engineer works as part of a team to execute projects.
What You Will Be Doing:
- Develop software: Designs and implements new technologies, frameworks and platform improvements. Subject-matter expert for platforms.
- Estimate tasks: Estimates and delivers significant projects and initiatives on schedule.
- Troubleshooting and problem solving: Expert debugging. Read memory dumps, analyze log files for patterns. Very familiar with common problems (memory leaks, deadlocks, etc.) Uses tools to analyze code and look for problems.
- Project design & execution: Correctly reads and delivers business and technical requirements. Looks for opportunities to group capabilities into frameworks, suggests innovative solutions, and leverages existing technologies. Balances elegant & sophisticated against pragmatic. Strong attention to detail. Sponsors initiatives and is a driver of requirements. Leads complex and significant projects. Plans and manages scope, resources and schedule.
- Testing: Expert, builds happy-path and sad-path unit tests. Builds tests which validate key capabilities or fragile code. Builds automated functional and integration tests. Experienced with Test Driven Development (TDD), Behavior Driven Development (BDD) and other testing methodologies. Creates testing strategy.
- Document Solutions: Clearly documents solutions by following established templates. Improves existing templates and creates new templates as needed. Drives the strategic development of documentation to improve efficiency and transparency.
- Governance: Completes all mandatory training and abides by all policies, laws and guidelines. Champions new and improved policies and procedures. Manages organizational change.
- FRONT-END DEVELOPMENT FOCUS
- Constructs web page HTML & CSS layout templates for use by UX/UI engineers.
- Works with the team’s graphic designers to obtain usable assets.
- Implements and/or stylizes controls both from scratch and from reference material.
- Maintains CSS application-wide.
- Participates in UI/UX testing.
- BACKEND DEVELOPMENT FOCUS
- Designs, develops and delivers solutions that meet business line and enterprise requirements.
- Creates enterprise-grade application services.
- Participates in rapid prototyping and POC development efforts.
- Advances overall enterprise technical architecture and implementation best practices.
- Assists in efforts to develop and refine functional and non-functional requirements.
- Participates in iteration and release planning.
- Performs functional and non-functional testing.
- Contributes to overall enterprise technical architecture and implementation best practices.
- Informs efforts to develop and refine functional and non-functional requirements.
What You Will Need To Be Successful:
- Relevant Languages: Expert competence with multiple relevant languages. 7+ years of experience.
- Analysis: Deep experience with advanced methods for analyzing information of almost any kind.
- Tool Knowledge: IDEs, editors, debuggers, open source and commercial alternatives, ORMs, code analysis, containers, VMs, cloud (AWS, Azure) etc. Has authored tools.
- Data Structures: Deep understanding of many data structures, including arrays, records, linked lists, dictionaries, heaps, graphs, hashtables, queues, etc. Understands how data structures impact performance, concurrency and other considerations. Knowledge of emerging structures and alternative ways to manage data (filestreams, key/value pairs, blockchain, etc.)
- Algorithms: Deep understanding of many algorithms such as Bubble Sort, Binary Sort, Backtracking, Quicksort, Mergesort, Breadth/Depth First Searches, Divide and conquer, Tree Traversals, etc. Understands how algorithms impact performance, caching, memory utilization and other considerations. Knowledge of advanced algorithms such as Kruskal's Minimum Spanning Tree, Dijkstra's shortest path, Single-Source Shortest Paths, etc.
- Systems: Deep experience of how programming languages work including compilers, linkers, interpreters, threading, sockets, network protocols, caching, garbage collection, memory addressing, scaling, etc. Understands the impact of these on performance, resource utilization, etc. Deep understanding of architectural concepts such as Service Oriented Architecture, microservices, etc. and the performance, maintenance, scaling and other considerations of these approaches. Ability to learn new technologies and languages.
- Design Patterns: Deep understanding of many design patterns the pros and cons of different approaches. Knows when to apply different patterns and understands performance and maintenance impacts of various patterns.
- Source/Version control: Deep understanding of one or more source/version control systems. Develops branching and merging strategies. Experience with Distributed Source Control.
- Webservices and APIs: Expert, deep and broad knowledge of the entire API suite, knows many from memory. Designs and implements new APIs, directs colleagues in doing the same. Experience building APIs and services using SOAP and REST. Familiar with the pros and cons of each.
- Code Quality and Readability: Creates code which is readable, clear and concise. Develops and adheres to coding standards based on best practices. Develops guidelines for coding best practices. Builds frameworks for validations and testability. Builds and/or implements tools to analyze and improve code quality. Sets design and coding standards.
- Database: Advanced queries and table design. Understanding of indexing and normalization. Capable of performance tuning queries. Understanding of both DDL and DML. Basic administration. Understanding of all database capabilities (triggers, views, stored procs, etc.). Familiarity with ORM tools. Understanding of datamart and data warehousing concepts including variant schemas (Star, Snowflake). Familiar with big data patterns.
- FRONT-END DEVELOPMENT FOCUS
- Expert in HTML/HTML5.
- Expert in CSS.
- Expert in CSS pre-processors such as LESS and SASS.
- Expert in cross-browser/cross-platform development techniques.
- Solid working knowledge of image editing tools (Photoshop/Fireworks).
- Solid understanding of responsive design and other modern web techniques.
- Expert in designing best practices for page layout, typography and usability.
- Strong experience working with Microsoft (Visual Studio 15, TFS, IIS8) and related tools strongly desired.
- Strong working knowledge of ASP.NET MVC and/or C# is a plus.
- Experience with KendoUI.
- BACKEND DEVELOPMENT FOCUS
- Expert in developing enterprise level systems on the .NET framework using C#.
- Expert in developing web services.
- Proficient in Visual Studio 2013/2015 to develop enterprise grade software.
- Expert in service oriented architecture design principles, patterns and best practices.
- Expert in modern object-oriented development techniques.
- Expert in enterprise architecture principals, patterns and practices.
- Expert in SQL and relational database design.
- Expert in Web API, REST, JSON.
- Solid understanding of unit testing creation.
- Solid understanding of MS SQL Server preferred.
- Solid understanding of MS IIS preferred.
- Experience with continuous integration tools and processes is a plus.
Nice to Have:
- Education: B.S. in Computer Science or B.S. Software Engineering or B.A. in Computer Information Systems or equivalent education or experience.
- 7-10 years of relevant technology job experience.
- Experience in the Mortgage industry preferred.
- Competitive compensation reliant on ability & experience.
- Excellent benefits package including multiple health, dental & vision options.
- Company paid life and AD&D Insurance, as well as additional voluntary benefit possibilities.
- 401K with robust company match.
- The opportunity to work for America’s Lender under the vision of industry legend, Anthony Hsieh.
We are an equal opportunity employer and value diversity in our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.