The Senior Application Developer participates in choosing the best technical design for planned changes to the application. When doing so he uses industry standards and best practises (including software design patterns).
The Senior Application Developer helps testers in making sure the application works as expected. He applies good practices when writing code and writes unit tests to avoid bugs or find them early on. He works with testers on test automation scripts and helps to maintain the test environment.
The role does also encompass setting up and maintaining builds and deployments infrastructure. This is to ensure that the application is very easy to deploy to all required environments.
The Senior Application Developer is responsible for helping to identify the right tools to be used to work on the application. He establishes technical standards and best practises. He also mentors less experienced developers and encourages knowledge sharing in the development team.
The role includes distribution and coordination of development tasks among a small group of developers.
- Creating and maintaining programmer tests
- Creating and maintaining application code
- Fixing bugs
- Reviewing and approving code of other developers
- Designing technical implementation
- Participating in builds and deployment automation setup
- Mentoring other developers
- Designing features
- Establishing technical standards and best practices
- Recommending tools
- Coordinating work of other developers
- Very good skills and professional experience in all application layers: database (SQL), data access, business logic, UI
- Good skills and some professional experience in unit testing and TDD (RGR, unit testing design patterns)
- Excellent skills and long professional experience in:
- Java in Android\Android SDK
- Android Studio
- Web services (REST and / or SOAP)
- Common Android libraries: Dagger/ Retrofit or Volley
- Writing testable code & Android testing libraries: Espresso / Robotium / Spock
- Owns at least 1 app on marketplace
- Fluent English