At Haystack, we believe privacy is first a right, then followed by a choice. It is our goal to help individuals maintain their right to privately and securely protect their personal data, all the while giving them the choice to with whom it is shared. The company understands that having the right of choice in certain important areas of life is paramount to living in peace and happiness. Although this is only one of those certainly important areas of life, Haystack was born to assist here.
Job Duties & Responsibilities
The Mobile Software Engineer will be responsible for technical design, execution, and maintenance of software associated with business initiatives affecting all consumers of Haystack’s platform in order to meet performance, reliability, stability, quality, security, and testability standards.
- Collaborate with a multitude of professionals across the organization in order to gain a shared understanding of the needs of the initiative.
- Create or modify code to implement the needs of the initiative.
- Ensure that the technical details of the initiative meet performance, reliability, stability, quality, security, and testability standards.
- Create or modify a suite of tests to exercise the initiative’s functionality in an automated manner.
- Modify existing software to correct errors, adapt it to updated versions, or to upgrade interfaces and improve performance.
- Consult with other departments and functions on project status, proposals and technical issues such as software system design and maintenance.
- Analyze the needs of the initiative with respect to desired outcome in order to determine the technical feasibility while balancing time and cost constraints.
- Additional responsibilities as assigned.
- Possession of an undergraduate degree in Computer Science or related field of study or commensurate industry experience.
- 4+ years experience in software engineering.
- Experience working on a team of cross-functional engineers.
- Experience building mobile apps.
- Experience with multithreaded programming.
- Experience with writing unit tests and writing testable code.
- Well-versed in one or more Agile software development life cycle methodologies with emphasis on SCRUM, Kanban, Lean, and DSDM.
- Ability to communicate effectively via multiple channels (verbal, written, etc.) with technical and non-technical staff.
- Solid understanding and practical experience using Object-oriented design
principles and patterns.
- For iOS Mobile Engineers:
- Intermediate to advanced technical knowledge in computer programming with emphasis on one or more of the following languages – Objective-C, Swift
- Knowledge of UIKit, GCD, Auto Layout, Blocks, iOS memory
- Knowledge of Xcode and associated tools like Instruments.
- Knowledge of Human Interface Design and app compatibility.
- Experience in building complex applications for iPhone or iPad using Cocoa Touch Frameworks.
- For Android Mobile Engineers:
- Intermediate to advanced technical knowledge in computer programming with emphasis on one or more of the following languages – Java, RxJava /RxAndroid
- Knowledge of third party solutions to implement common patterns /tasks (Networking, Image Loading, UI, Dependency Injection).
- Intermediate to expert working knowledge of Activities, Fragments, Custom Views, Services, and Intents.
Experience in building complex applications for Android using Android
Studio, Gradle and JUnit.
Salary: Commensurate with experience.
Parent Company: Uber Brands (UberBrands.io)
Developing Apps Is Our Business…
But listening to what people need is our mission.
Uber Brands’ focus is to identify needs in niche markets and then build solutions to satisfy those needs and then work to transcend those niche markets into global acceptance and desirability by the masses.