Android Developer

ING Bank N.V.
Municipality of Madrid, Spain
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Remote
Municipality of Madrid, Spain

Tech stack

JavaScript
Data analysis
Android Studio
Unit Testing
Biometrics
Profiling
Code Review
Continuous Integration
Serialization
Software Debugging
Dependency Injection
Gradle
JUnit
Model View ViewModel
Session Management
Stateflow
Transport Layer Security
Firebase
Kotlin
Solid Principles
Jetpack Compose
Asynchronous Programming
Functional Programming

Job description

To design, develop and test the code that will shape the different components of the application, ensuring that they meet the requirements of functionality, quality and performance.

To deliver in Production a working software by giving the best use to technology and development practices. It includes the testing, observability,documentation and parameters that can help reaching that goal. To support Production by monitoring crashes, analysis and fiing any bugs that occurs. Contribute to improve the technical discipline by collaborating with the cross technical chapter.

As an epert in the native technology, you specifically add value on that technical layer but always keep in mind the rest of the technical stack as part of the Squad responsibilities.

Your key responsibilities:

Features &Stories Refinement

Coding

Testing & Release

Monitoring

What are we looking for?

Want to know if this job is made for you? These are some of the qualities that we value the most for this role. And if the shoe fits… don't hesitate to apply!

As an eperienced Android Developer for one of our tribes you should have the following knowledge and eperience:

Essential (must-have)

  • Advanced Kotlin (data/sealed classes, inline/reified, etensions, null-safety, basic DSLs)
  • Functional programming in Kotlin: immutability, pure functions, composition, eplicit error handling with Either/Validated/Optional for safe domain modelling and flows.
  • Clean Architecture applied to Android (domain/data/presentation layers, feature modules, dependency injection, separation of concerns) with MVVM and MVI following SOLID principles.
  • Coroutines & Flows (scopes, structured concurrency, cancellation, operators, backpressure, cold/hot flows, StateFlow/SharedFlow) for asynchronous programming.
  • Solid ML layouts (custom views, styles/themes, accessibility).
  • Navigation and robust lifecycle management
  • Communication layer: interceptors, timeouts/retries, serialization, caching strategies, error handling and modelling.
  • Dependency Injection (DI): scopes, entry points, testing with fake modules.
  • Unit tests with JUnit and MockK and reactive-flow tests with Turbine or similar solutions
  • Biometrics and operation-validation flows with a focus on U/security and resilience.
  • Observability with Analytics and ability to correlate metrics with releases.
  • Code review and teamwork in development teams.
  • Security awareness (secure storage, obfuscation, SSL pinning, tampering/rooting protection according to policy), privacy, and approved dependency management.

Desirable (nice-to-have)

  • Deep WebView integration: JS bridges, secure JavaScript injection, cookie/session management, error handling and log visibility. Eperience debugging native web calls in critical flows (login/validation).
  • Testing: UI tests with Espresso (Idling resources, robots, custom matchers/actions)
  • Monitoring with Analytics and performance using Firebase (instrumentation of critical events, traces, ANRs/Crashlytics, performance traces) and ability to correlate metrics with releases.
  • Advanced Jetpack Compose (Lazy performance, Compose testing, ML interoperability, multipreview, scalable theming).
  • Security (Crypto, Keystore, hardware-backed, risk evaluations, Play Integrity, Recaptcha, code obfuscation with R8).
  • Performance: profiling with Android Studio Profiler, WebView optimization (caches, prerender, cold start).
  • Quality Tools configuration: linters, detekt/ktlint, Gradle tasks for coverage, CI.
  • Eperience with App Bundles / Play Console.
  • Accessibility (TalkBack, font sizes, contrast, focus, custom views).
  • Continuous Integration: pipelines, automated checks, branching strategies, quality gates, security policies...

Requirements

Do you have experience in UI?

About the company

We are a team of more than 1700 people sharing one idea: doing our bit in helping our clients create a better future for themselves, by providing them with the tools they need to get where they want to go. A fully online bank where technology, innovation, simplicity and transparency are the main ingredients, and the first one to work with agile methodologies. And although we are based in Spain, we are lucky to work in an international bank with presence in more than 40 countries. We are proud to have a diverse team, and we are committed to continue developing a culture of Diversity, Inclusion and Belonging to foster a culture of collaboration and innovation that represents all collectives in the society. And even though we look orange on the outside, we are green on the inside. Our ambition in Sustainability is Empowering (y)our Sustainability journey. We are embarking on our path, for us, but we are also there for when our clients decide to embark on this journey. Making things happen, helping others be successful, always being one step ahead-that's our DNA. If you look at yourself in the mirror and your reflection matches our way of being and working…we are looking forward to meeting you!

Apply for this position