Assurant Labs has cultivated a fast-paced, Agile development environment where creativity and teamwork are paramount.
We are looking for positive, take-charge individuals to join our growing team as a Senior Full Stack Software Engineer. Candidates must have exceptional communication skills, the ability to manage multiple tasks efficiently, excellent judgment, and the ability to be productive in a fast-paced, team-oriented environment.
Responsibilities
- Building scalable, highly reliable product features
- Designing, implementing, and maintaining applications used by both mobile and desktop clients
- Working closely with client developers to architect high-throughput systems
- Building user-facing interfaces for interacting with data
- Applying problem solving and analytical skills to a variety of issues
- Interacting with cross functional teams to produce scalable solutions
- Estimating engineering effort and coming up with realistic schedules
- Identifying and resolving complex production issues
- Rapidly fixing bugs and solving problems
- Conducting design and code reviews
- Making disciplined use of source control and bug tracking systems
- Documenting best practices and helping create knowledge base
- Unit-testing code for robustness, including edge cases, usability and general reliability
- Refactoring and improving maintainability of existing code base
- Participating in resolving customer support issues as needed
Requirements
- BS or MS in Computer Science, Computer Engineering or related fields preferred; equivalent professional experience will be considered
- Solid understanding of the full development life cycle
- Hands-on knowledge of version control systems such as GIT
- Track record as a results oriented person with a delivery focus
- Strong technical leadership skills with the ability to resolve ambiguity in requirements
- Ability to understand and articulate both technical and business issues with peers, management and external teams
- Ability to manage and prioritize many tasks at a time
- Ability to push the envelope for performance and reliability
- A disciplined approach to development, testing, and quality assurance
- Experience practicing Agile development methodologies
- Exceptional collaborative, written and verbal communication skills
- Flexibility with changing job requirements as the company and team grows
- 4+ years of Ruby experience, or similar dynamic scripting language experience
- 4+ years of Rails experience, or similar web framework experience
- Experience with templating frameworks (e.g., Haml, ERb)
- Experience with MySQL and relational database design
- Knowledge of RESTful API design
Hopes
- Willingness to participate in mentoring and skills transfer among team members
- Experience with modern Javascript development (e.g., ES6 and unidirectional data-binding frameworks)
- Experience with various programming languages (e.g., Java, C/C++)
- Experience with NoSQL solutions, such as Redis or MongoDB
- Experience with TDD/BDD frameworks, such as Rspec and Cucumber
- Experience with Git for version control
- Knowledge of realtime app development practices, and technologies (e.g., Websockets)
This position has been filled.