Senior Backend Developer (JVM)
Lasso Data Systems Inc
ECi Lasso is seeking a Senior Back-End Developer to continue to provide the best in Software Solutions to small and medium sized businesses
Lasso is the developer of the leading cloud-based, on-demand Customer Relationship Management (CRM) software for the new-home-building industry. .
We have experienced consistent growth during the last decade and our user base asks a lot of our system. Scale, reliability, and innovation keep us learning on daily basis. You will join our server-side team to enhance and maintain our server-side Java 8 and Kotlin applications.
We have distributed systems hosted in AWS, which are presented to our users through an AngularJS frontend.
Moving forward, the biggest challenge we face is scaling our systems to work with large data-sets and high system load. You’ll help us build systems that can easily scale up and down the number of processing nodes as needed and implement rate-limiting to ensure rogue systems don’t impact our SLAs for other applications.
Additionally, you’ll improve the performance of our main data store by adding or changing indexes as appropriate, add caching functionality where possible and set up monitoring to catch performance bottlenecks early on.
Culture and Work Environment
As a fully remote team, communication is extremely important - there is no chance to drop in on interesting discussions around the water cooler or to see if someone is busy just by glancing at their desk. We have systems to signal busy-ness; regular meetings and stand-ups to disseminate information, frequent one-on-ones to ensure there are no frustrations building up, a code of conduct and a formal complaint process to resolve conflicts early-on.
As a key member of our server-side team, you’ll specifically be expected to:
- Design and build API endpoints for our internal and public APIs
- Architect efficient task scheduling and processing systems
- Keep up-to-date on new AWS features and integrate them into our tech stack if appropriate
- Work closely with the VP of Engineering to adapt and develop our architecture and systems
- Implement monitoring systems for performance bottlenecks on our main data store
- Determine through performance profiling where to add caching to our distributed systems and internal interfaces
- Monitor the growth of our data-sets and assist in creating strategies to address the systems where growth could become an issue
- Write effective high-quality code with a focus on performance and maintainability
- Create reliable tests and work closely with our QA team for end-to-end testing
- You thrive in a self-directed and open work environment. There’s no boss breathing down your neck, no deadlines, no fixed work hours and no in-office requirements. It’s really important that you can manage your time well, and you know what you need in order to do your job well (e.g. what work hours to pick so you have enough time to communicate with team members effectively)
- Deep knowledge of the OOP paradigm, experience with functional programming and other approaches is a plus
- Experience building complex systems with many moving parts, such as different protocols, varying restrictions on latency or CAP parameters
- Experience building and maintaining CI/CD systems is a bonus
- Excellent knowledge of static type systems and compiled languages
- Deep knowledge of various data stores such as SQL, document stores, key-value stores or queuing systems, as well as their performance characteristics and scalability issues
- Good understanding of caching and cache invalidation strategies
Lasso’s vision is to be the technology hub for new home sales in North America by providing a unique combination of remarkable software and expert services. To achieve our vision we need great developers. That’s why we’ve created a great work environment, encouraging self-direction, personal development, and teamwork.
Lasso is based in Richmond, BC, Canada. To learn more please visit www.lassocrm.com.