The Software Engineer I - Mobile designs, develops, troubleshoots and debugs mobile applications. This includes developing software components such as Networking, Frameworks, Views, Utilities, Deployment and Automation tools.
MINIMUM QUALIFICATIONS AND REQUIREMENTS :
- Bachelor s Degree in Computer Science or equivalent
- 5+ years of industry experience in developing mobile applications, web and / or large-scale enterprise products
- Mobile Development Experience : Swift, Objective-C, and Xcode
- Familiarity with Apple Human Interface Guidelines
- Experience with standard mobile architectures (MVC, MVVM, MVP, etc)
- Ability to effectively apply software design patterns and architectural principles
- Knowledgeable in building complex user interfaces
- Experience in server side programming is must
- Experience with software development processes (Agile, Scrum, Kanban, etc)
- Experience with app code signing, archiving, and deploying
- Familiar with git branching strategies and semantic versioning
- Knowledge of mobile continuous integration best practices and tooling
- Skillful at reviewing new feature impact on an application and recognizing potential risks
- Uses time effectively and efficiently
- Quickly learns new technologies
- Detailed oriented, professional and possesses a positive work attitude
- Communicate professionally both verbally and in writing
- Ability to train and mentor fellow team members
PRINCIPAL DUTIES AND RESPONSIBILITIES :
Serves as a self-directed, key contributor to code development on features and bugs to produce successful team sprintsBreaks down complex projects, makes implementation design decisions around new feature components and delegates work to junior engineersAnalyzes technical requirements with the team to gauge level of effortCollaborates with Engineering Managers and Mobile Architects on engineering design and implementationBrainstorms with Product Managers and designers to conceptualize and estimate new featuresCollaborates with backend engineers to efficiently build out new API for mobile appsPromotes internal best practices and coding conventions to write and execute tests for your own code, including creating comprehensive unit testsTakes an active interest in mobile application qualityIdentifies and pragmatically addresses technical debtRequests constructive feedback for designs early in the processCommunicates successfully with large teams and various personalitiesProvides mentorship for Software Engineers and participates in interview panels to hire new Software EngineersAssists in removing obstacles for the team to yield successful sprintsMonitors health of app releases and responds to any mobile escalationsPerforms peer code reviews to ensure quality of the codebaseEnsures designs and projects created comply with design library guidelines, internal best practices, and coding conventions when applicableOccasional on-call duty rotation to respond to after-hours mobile incidentsUpdates job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizationsWorks effectively with multiple projectsAll other duties as assignedWORK ENVIRONMENT AND PHYSICAL DEMANDS :
Dexterity of hands and fingers to operate a computer keyboard.This position is mostly stationary and will be required to remain stationary for extended periods of time.Specific vision abilities required by this position include close vision, color vision, and the ability to adjust focus.The noise level in the work environment is usually moderately quiet.Skills Required
Continuous Integration, Mobile Development, Programming, Scrum, Kanban, Agile