Tech Stack
AndroidElasticSearchGrafanaiOSJavaJavaScriptJenkinsKafkaKotlinMariaDBMongoDBReactRedisReduxRubyRuby on RailsSQLite
About the role
- Work in an agile team with other mobile developers, API engineers and UI/UX designers to develop and maintain our Android app, building new features and shaping our product
- Track down and fix performance bottlenecks and bugs, improving the reliability of our Android app
- Employ A/B testing to measure the performance of different approaches to features and implementations, providing the best UX for our users
- Review and evaluate code from fellow team members, exchanging comments that make you and the author better engineers
- Build, ship and iterate on Android app features used by hundreds of thousands of users as part of Skroutz’s mobile-first strategy
- Collaborate with cross-functional teams to align product and technical decisions
Requirements
- At least 2 (two) years of experience as an Android mobile developer
- Proven track record of building and shipping Android apps in the Google Play Store
- Deep knowledge of Java and Kotlin
- Good knowledge of the Android SDK (Components, Lifecycles, Layouts, Fragments, Animations, Drawables)
- Knowledge of OO design principles, software and Android design patterns
- Familiarity with modern Android architectures (MVP, MVVM)
- Expert knowledge of asynchronous programming
- Experience with developing highly-performant code and the ability to diagnose performance bottlenecks
- Fluency with web service architectures and technologies: JSON and RESTful APIs
- Passion for readable, maintainable and performant code
- Familiarity with common software engineering tools and practices (Git, Unit Testing, CI)
- Some familiarity with design/UX principles
- Intrigued by the product as much as by technology
- Proficiency in Greek: the role involves regular interactions with Greek-speaking stakeholders, and a strong command of the Greek language is essential to ensure effective communication
- Projects you’ve built/contributed to (e.g. Github account)
- Optimization of data usage over mobile networks
- Knowledge of Reactive/Functional programming
- Knowledge of SQLite
- Familiarity with agile methodologies and practices