Software Engineer – Mobile
Company | Alarm.com |
---|---|
Location | Lawrence, KS, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Entry Level/New Grad, Junior |
Requirements
- B.A. or B.S. in Computer Science or similar engineering program with strong academic performance. Liberal arts academic experience or interests are also a plus.
- 0-2 years of experience in Software Development, preferably in mobile development
- Understanding of computer science fundamentals: operating systems, data structures, algorithmic analysis, concurrency
- Ability to work collaboratively and cross-functionally with various teams
- 1+ year of iOS experienced preferred
- Self-starter, analytical, tenacious problem solver
- Strong verbal and written communication skills
- Rigorous attention to detail and focus on quality of deliverables
- Passion for working with technology and excitement for creating high quality consumer technology products
Responsibilities
- Developing mobile applications for iPhone [as well as server-side APIs]
- Writing coherent, organized code. The ideal candidates must be comfortable working on a complicated code-base with high levels of abstraction
- Working with Product Management to help define functional specifications for mobile applications
- Implementing multi-device application features as part of an interactive Agile development process
- Researching, adopting, and integrating new technologies
- Innovating and improving existing products and mobile app features
- Taking ownership of projects to ensure their successful completion with respect to deadlines
- Collaborating with Quality Assurance in developing a test plan to ensure successful deployment of updates
- Other duties as assigned
Preferred Qualifications
- Experience with Swift, Objective-C, Cocoa Touch, iOS SDK, Core Animation
- Experience with Git, JSON, Rest, XML and XHTML
- Experience with Smart Home Assistants
- Experience with unit testing (JUnit, Mockito, Robolectric) and UI testing (Espresso)
- Experience writing code for a multi-threaded environment
- Experience writing scripts in: Python, Ruby, Groovy, Bash, etc
- Experience with or knowledge of common architectural patterns: MVP, MVVM