Position: Middle/Senior Android Developer
Company: Intellias
Experience required: 2y
English level: upper

Our ideal candidate is a creative self-starter with great drive and motivation who wants to work on exciting products deployed by large global companies.
If you're looking for a challenging opportunity to work and have a say on products and services that are re-shaping one of the biggest industries in the world and want to be surrounded by a team of innovative and passionate software engineers.

Requirements:

Good understanding of the following design patterns:
• Observer;
• Singleton;
• Factory;
• Constructor/builder;
• Command, chain of responsibility;
• Adapter;
• Facade;
• Iterator;
• MVC;
• MVVM.
Proficiency in Java for Android:
• User interface and widgets;
• WebView;
• MediaCodec;
• Connectivity (USB, WiFi, BT, BT Low energy);
• Live data;
• Permissions;
• App data and files;
• User location;
• Sensors;
• Images and Graphics;
• NDK and using C and C++ modules;
• Services and background tasks.
Good understanding and experience with:
• Multithreading and synchronization;
• Network programming (TCP/IP);
• Files, process management and kernel objects;
• Video and audio encoding/decoding (FFMPEG codec);
• Unit tests and code coverage;
• Docker - creating and using docker images;
• RESTful web services;
• Handling crash reports.