Lifeley is a venture-backed startup delivering the most advanced Life Insurance technology in the world. Our industry-leading software helps agents and IMO's alike run their business with efficiency.
We're looking for a full time Smalltalk web developer, preferably with Seaside experience, to join our team. The ideal candidate would have experience in some other popular back end language like Python/.Net/Javascript/Typescript or equivalent. Salary range from 100k to 140k depending on having the necessary experience to hit the ground running. You will be expected to collaborate with leadership and solve problems on a Linux/Postgres platform utilizing creative yet practical solutions to maximize your efforts while maintaining the overall simplicity required by a startup with a small team.Our company values creativity and innovation above all else - it's what drives us forward every day! We want someone who can bring their own ideas to the table as well as work collaboratively with others. This is an exciting time of growth at our company so there will be plenty of opportunities for advancement!
Requirements:
You must be a U.S. resident living in the continental United States; do not apply otherwise.
Create a single class that when subclassed allows this sample test code to run using only the file system for storage, no pre-built database allowed; use files.* Create all classes required to pass the test case.
The id, save, delete, and find methods must be in the superclass only; subclasses must not implement these methods themselves.
Do not put your solution on Github, or a zip file, or an attachment, code is just text, email handles text just fine; you can submit the code in the body of an email as plain text. We're interested in the classes you create, not in build-able solutions or projects, just submit a fileout.
The purpose of the exercise is to see some of your code and discuss with you the solution you if you make it to an interview. Your resume will not be looked at without code that passes this test. Submit your code along with your resume to [email protected]. If we like your solution, we'll contact you to continue the process.
testProgrammer | address customer company savedCustomer savedCompany | address := (Address new) street: '56 Main St'; city: 'Mesa'; state: 'AZ'; zipCode: '38574'; yourself. customer := (Customer new) firstName: 'John'; lastName: 'Doe'; address: address; yourself. company := (Company new) name: 'Google'; address: address; yourself. self assert: customer id isNil. customer save. self assert: customer id notNil. self assert: company id isNil. company save. self assert: company id notNil. savedCustomer := Customer find: customer id. self assert: savedCustomer notNil. self assert: customer address == address. self assert: savedCustomer address equals: address. self assert: customer id equals: savedCustomer id. self assert: customer firstName equals: savedCustomer firstName. self assert: customer lastName equals: savedCustomer lastName. self assert: customer equals: savedCustomer. self deny: customer == savedCustomer. savedCompany := Company find: company id. self assert: savedCompany notNil. self assert: company address == address. self assert: savedCompany address equals: address. self assert: company id equals: savedCompany id. self assert: company name equals: savedCompany name. self assert: company equals: savedCompany. self deny: company == savedCompany. customer delete. self assert: customer id isEmptyOrNil. self assert: (Customer find: customer id) isNil. company delete. self assert: company id isEmptyOrNil. self assert: (Company find: company id) isNil