Software Engineers at Raftr possess a passion for pushing mobile technologies to the limits, enjoy working in a fast paced startup environment, and work closely with the Product and Design Teams to implement engaging UI and UX functionality.
Software Engineers at Raftr design and build advanced mobile applications for the Raftr platform, from our Python and NodeJS based server code running in AWS, through our AngularJS web applications and our Android and iOS mobile applications. As a Raftr Software Engineer, you will collaborate with cross-functional teams to define, design, and ship new features; test code for robustness, including edge cases, usability, and general reliability; work on bug fixing and improving application performance; and continuously discover, evaluate, and implement new technologies to maximize development efficiency and application functionality.
Software Engineers at Raftr also demonstrate a strong understanding of good object-oriented programming (OOP) practices, an understanding of agile software development processes, and good communication skills including clear and thorough documentation. A Software Engineer at Raftr is analytical and adept at problem-solving, with strong attention to detail.
- Developing and supporting mobile consumer applications
- Providing work breakdowns from high level concepts into engineering tasks, and estimating the time needed to complete assigned work
- Supporting the design and implementation of custom views and controllers supporting dynamic layouts and animations, as well as alerts
- Working with RESTful APIs, making asynchronous requests, and reliably parsing JSON data
- Enhancing data model layer supporting common design patterns
- Supporting robust, self-healing and asynchronous networking layer enabling reliable server connectivity and relevant offline functionality
- Identifying bottlenecks (both perceived and real), improving app performance and adding async processing support for complex tasks
- Measuring user engagement via integration with third party services for tracking user activity and application performance
- Working with QA to identify and fix bugs and improve application performance
- Supporting automated QA efforts through creation/modification of automated test scripts
- A proven track record with 5-10+ years of experience in mobile development with fluency in relevant programming languages
- Demonstrated success in a remote working environment
- Strong knowledge of OOP, common design patterns, and various debugging techniques
- Experience working with IDE tools
- Experience with code quality practices and ability to follow agile methodologies
- Extended hands-on experience with several mobile applications deployed and available in relevant app store(s)
- Experience with Social Media integration and related tracking and analytics
- Ability to work with cross-functional software engineers to define robust RESTful, JSON based APIs and build high quality and loosely coupled integration of various components between the mobile application and server
- Strong technical and design skills with a passion for leveraging technology to quickly solve unique problems
- Ability to work in a fast-paced, dynamic work environment.
- Fast learner of new and emerging technologies and self-motivated with the ability to drive features from initial design through high quality delivery
- Excellent written and verbal communication, presentation, and listening skills with the ability to present complex technical information to a variety of audiences, including non-technical
- Demonstrated ability to work well with others in a cross-functional team environment
- Experience with common team development tools such as Jira, Git, Slack
- Experience with automated testing frameworks and/or test driven development (TDD) is a plus
- BS degree in computer science (or equivalent), MSCS degree a plus