What are the responsibilities and job description for the Software Engineer II position at Storable?
Software Engineer II
Storable is looking for a SE II to join its all-remote Insurance product team! As an engineer for our Insurance products, you will be responsible for designing and developing Insurance systems to support our highly trafficked self-storage software. We enable our clients to DO MORE and worry less through building trusted relationships, delivering innovative technology solutions and providing an exceptional, worry-free experience.
How is this different from other software engineering jobs?
As the leading provider of technology solutions in the self-storage space, we are creating innovative experiences in an industry where that has not existed before. Storable is making an investment in a sizable shift to our architecture and this job is an opportunity to get in on that close to the ground floor of our new direction and help shape the future of a leading provider's technical approach. You should be passionate about building the right solutions and be comfortable working in an open-ended dynamic environment where roles are flexible and communication is essential, but most of all, have a real love for coding patterns, and technical design across our teams. This is a great opportunity for you to join a growing team that encourages creativity, teamwork, professional growth, and advancement.
What you'll do every day:
- Design and develop the Insurance platform
- Improve our ability to shift quality to the left in our application engineering process
- Communicate and coordinate effectively within the squad, across our technology team, and with our business partners to deliver on top priorities
- Working with other engineers, encouraging engineering best practices, demonstrating how to create effective designs and write maintainable, reusable code
- Contribute to documentation and the testing of our Insurance applications
- Contribute to the software design of our Insurance applications to improve development velocity, maintenance cost, testing, functionality, platform independence, and performance
Job Responsibilities
- Design, develop, and maintain software applications across multiple tech stacks
- Identify, prioritize, and execute tasks in the software development life cycle
- Write clean, maintainable, and efficient code
- Automate tasks through appropriate tools and scripting
- Review and debug code
- Write effective test cases that thoroughly validate software functionality
- Collaborate with internal teams and vendors to fix and improve products
- Document development phases and monitor systems
- Ensure software is up to date with the latest technologies
- Make improvements to existing code as needed
Desired Skills
Must haves
- BS in Computer Science (or equivalent)
- 5 years of professional work experience in software development
- At least 3 years of professional experience developing applications using Node.js (Typescript) and React
- Experience with relational databases, preferably PostgreSQL or MySQL
- Proficient with cloud technologies (AWS)
- Soft skills to support a positive and productive team environment
- Willingness to learn and work across varied tech stacks to deliver new features
- A self-starter with the ability, passion, creativity, and confidence to independently problem solve and produce results
- Ability to work remotely in an environment conducive to productivity
- Strong understanding of object-oriented software design patterns
- Excellent analytical and problem-solving skills
- Excellent understanding of software testing methodologies and best practices
- Solid written and verbal communication skills
- Experience with Agile software development
Nice to haves
- Experience using Docker containers, Kubernetes, CI/CD
- Experience with C#, PHP, or Ruby on Rails
- History of implementing testing methodologies to move quality to the left. Specific focus on implementing unit tests in a monolithic application base.