At BQ we work in autonomous teams that are responsible for a part of the BQ ecosystem. We are passionate about making technology and we put all our effort into presenting something more than a product. We value talent and we believe on it as a fundamental pillar to grow together.
We are looking for a Native iOS Apps Development Engineer with a passion for the creation of mobile applications and the desire to grow professionally applying his knowledge in a large technological company like bq.
Accompanied by a highly qualified multidisciplinary team, will work not only the development of iOS projects, but also its architecture and design having the SOLID precepts as a starting point. All this supported by the use of agile development methodologies such as Kanban.
Responsabilities:
- Development of native applications for iOS.
- Ensure the correct use of software standards that help maintain a clean and decoupled code, as well as able to grow, test and maintain over time.
- Realization of estimates, definition of architecture, technical solutions and project structure. Facilitate communication between department colleagues and knowledge sharing.
- Keep up to date with the technical advances related to the iOS ecosystem to apply them in the projects under development.
- Always work ensuring software quality to achieve not only a low crash rate in the developed applications, but also an excellent user experience.
Background requirements:
- Engineering degree in Telecommunications, Computing, Software or similar.
- Spanish and English (high).
- At least 2 years of experience as an iOS developer.
- Demonstrable experience will be positively evaluated through apps published in Apple Store or iOS projects of any other nature that can be tested today.
- IOS ecosystems: XCode, Carthage / CocoaPods, ...
- Experience in the correct use of native iOS components.
- Knowledge about software design patterns, especially those used in iOS.
- Knowledge about usage experience patterns and interface design according to the iOS design guide and the use of storyboards, auto layout, ...
- Optimization of applications with high processing load.
- Management of concurrency / threads, GCD, etc.
- Experience in the use of REST APIs and web services.
- Use of version control based on GIT.
- Person with great analytical capacity, creative attitude, proactive, resolute and methodical.
- Accustomed to working in a team and with communication skills.
We´ll value:
- Use of architectures such as MVVM, CLEAN, VIPER, FLUX, REDUX, ...
- Reactive programming: ReactiveCocoa, RxSwift, ...
- Injection of dependencies.
- Use of M2M protocols oriented to IoT projects (DDS, MQTT ...).
- TouchID and FaceID.
- Integration of Firebase services: analytics, crash reporting, storage, ...
- Third-party APIs: Facebook, Twitter, Dropbox, etc. Scalability, performance, memory profiling analysis tools, etc.
- Testing at different levels (unitary, integration, functional, etc.) with frameworks such as XCTest / XCUITest, EarlGrey, ...
- Continuous integration tools such as Fastlane, Jenkins, Travis, CircleCI, ...
- Other programming languages: Ruby.
What we offer:
- Salary according to profile and experience.
- Teleworking once a week.
- Flexible schedule.
- Intensive working (fridays and summer months).
- Good work environment.
It will be necessary to carry out a technical test at the beginning of the selection process.
If you are passionate about technology, researching, learning, and want to develop professionally in a leading technology company, committed to education and in full international expansion and growth, this is your opportunity!