Opera Software is looking for an Android Developer to join the growing Opera Fintech Engineering Team located in Tallinn, Estonia.

With a global user base of over 350 million, Opera is an international internet company that has expanded into product areas beyond our popular browsers. Our product portfolio includes web browsers, fintech solutions, news aggregation services, as well as data compression and privacy software.

The team in our Tallinn office is focusing on a new European fintech product and for this reason we need to grow our team with smart and playful colleagues. On our team you will work surrounded by supportive, experienced team members that have a curiosity for both technology and the product domain we work in. Our team enjoys a lot of independence building products that address the real needs of millions of people.

The Tallinn office is all about creating an environment that is not only suited for working in comfort, but also values helping employees continuously develop their professional skills. It is hard to imagine life in our office without pub nights, board game evenings and laughs around the kitchen table.

Responsibilities:

You will work on a team of software engineers. On a daily basis you’ll be in contact with our product, design, and backend teams. Your main responsibilities will be the implementation of new features, refactoring of the existing code base, stabilization, bug-fixing and code reviewing.

All members of the Android development team are also carriers of the platform expertise. This means you will help refine the incoming requirements and discover new ones related to the Android platform itself.

As part of the engineering team, you will have a big share in the ownership of the quality of the final product. This means taking initiative in facilitating improvements to the Android application and related product parts, as well as the project tooling. Along with your teammates, you will continuously learn and bring innovations to mobile projects at Opera.

Requirements:

  • BS or MS in Computer Science or equivalent experience, with a keen interest in technology
  • Ability to work independently and take initiative, as well as being creative and curious
  • Autonomous working style, with an eagerness to improve systems, processes, and yourself
  • At least 1 year of mobile app development experience on a team

Key skills:

  • High-quality implementation based on requirements
  • Understanding constraints and tradeoffs applicable to the work at hand, and tailoring implementation accordingly
  • Communicating with the design team about the visual specifications and graphic assets of the product
  • Creating performant, reusable, reliable and testable Kotlin code
  • Considering the fragmentation of the Android ecosystem in your solutions, such as different screen sizes and API levels
  • Communicating with the QA team about the testability of the app and verification of implemented changes

Key knowledge areas:

  • Android SDK, Android Studio, build tools and artifacts
  • Profiling and optimization of Android apps
  • Unit tests and instrumented tests
  • Tools for static analysis of Android app code and resources
  • Proficient understanding of code versioning, Git specifically
  • Fluency in English, both written and spoken

Ideal knowledge and skills:

  • Strong knowledge of Kotlin DSL for Gradle
  • Familiarity with Google Play Developer Console and Firebase
  • Experience in fintech projects
  • Experience with networking and backend APIs: REST, GraphQL, gRPC
  • Experience with mainstream libraries such as Android Jetpack, Android Architecture Components, OkHttp, Retrofit
  • Understanding of the Material Design Guidelines and best practices for Android app engineering and design
  • Git CLI
  • Familiarity with continuous integration and change management