Lasso Data Systems · May 29th 2019
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.