Senior Android Developer

Winnow Solutions
Cook Smarter. Technology to cut food waste in half and boost kitchen profits.

Job details

  • Full-time
  • calendar
  • map markerLondon, GB
  • GBP45.000 - 50.000
    Gross Anual Salary
  • homeWork from home allowed
    Companies who have a 'work from home' policy typically allow employees to stay at home a few days per month.
  • cardRequires Work Permit
    Requires that you're a citizen or have a valid work permit / visa sponsorship to work in the country in which this position is based.
  • routeIntermediate
  • routeEnglish
    Preferred spoken language

Apply now

Sign up to apply

Or sign up to refer and earn a reward of £500

Intro

This is an extraordinary opportunity best suited to talented, high calibre candidates. You will work closely with an exceptional Agile/Scrum team where collaborative development and coding practices are emphasised. You will have the chance to develop code in a fast paced environment and have the satisfaction of seeing your work being rapidly used by customers.

As a Senior Android Developer you will be performing four main functions: development, architecture, specification writing and technical leadership. Your architecture function will involve understanding our high level future state architecture and designing solutions which accommodate or incrementally move our current systems to this target architecture. Your specification writing will focus on discussing requirements and user stories with our Product Owner and turning them into technical design documents. It will require an in depth knowledge of our code base but also of our future state architecture. These design documents will define the development work necessary to solve the problems we face. It will be necessary to communicate details of these documents and elaborate on their concepts with members of our remote development teams in Romania and India.

This is a hands-on role so your development work will take more than 66% of your time. As an experienced developer, you will be expected to lead by example to produce high quality, maintainable, re-useable code. You will relentlessly promote the benefits of professional development practices such as TDD, unit test writing and appropriate use of source control systems.

Your technology leadership function will involve mentoring of junior developers, doing code reviews and providing application architecture guidance. Our company structure is flat and prioritisation is driven by the Scrum process, so a collaborative style is essential.

You will also have the opportunity to grow with the company. If you excel in the role, you can progress to team lead, scrum master or architect roles.

Main requirements

  • Extensive experience programming complex native Android apps beyond a simple UI presenting and editing data in the main thread. Should include network communication, interruption of in-progress Activities, data queuing or interaction with Bluetooth and/or USB serial devices.
  • Can explain what constitutes good vs bad Android application architecture and how code should be written to ensure stability, maintainability and predictable behaviour.
  • Demonstrable experience developing event driven systems with numerous threads.
  • Advanced Object Oriented Programming knowledge gained in Java.
  • Solid grasp of programming algorithms and their significance to performance.
  • Practical knowledge of networking protocols and how to write code that performs well under varying network conditions. Experience with a range of protocols including http, https, websockets, firebase messaging ( protobuf or other prototype buffers a plus).
  • Good understanding of distributed and cloud based system architectures.
  • Know how to write code which is resilient, recovering gracefully from unexpected errors and exceptions.
  • Knowledge of Android distribution platforms and Mobile device management
  • Advanced Java development and OOP.
  • Advanced Android Application Framework development.
  • Deep understanding of event driven programming, the Android Event Framework, callbacks, activity lifecycles and event lifecycles.
  • Android network communications development
  • Development using Android Studio and adb.
  • Use of an ORM to access/manipulate SQLite data.
  • Experience with a source control system (Preferably Git/Bitbucket).
  • Application architecture and technical design.
  • Technical specification writing.
  • Good technical problem solving especially of previously un-encountered issues.
  • Self-Starter with the ability to operate autonomously but also in a team.

Nice to have

  • Android Theming for best display on varying device resolutions.
  • Android Enterprise Mobile Management (EMM), Device Management and Software distribution/updates various options other than GoogleMarketplace.
  • Rooting of Android devices.
  • USB serial communications development.
  • Experience syncing data across distributed, intermittently connected systems particularly modification conflict resolution to establish eventual consistency.
  • AngularJS development.
  • Node.js development.
  • Cloud Computing (preferably on Amazon Web Services).
  • HTML5/CSS.
  • Linux/Unix.
  • Windows 7/8/10, Server 2012.
  • Systems Architecture.

Perks

  • Opportunity to take equity in a fast growing startup
  • Be part of an exceptional team who are all passionate about building world class tech systems
  • Shared office space in central London with free happy hours and a great working environment
  • Underground bike parking with serviced showers (fresh towels every morning)
  • Company part-funded health insurance
  • Matching pension scheme
  • 25 days of paid vacation time p.a. in addition to national holidays

Apply now

Sign up to apply

Or sign up to refer and earn a reward of £500