Job Details
Experience Needed:
Career Level:
Education Level:
Salary:
Job Categories:
Skills And Tools:
Job Description
About the Job
We are looking for an Android Developer who possesses a passion for pushing
mobile technologies to the limits and will work with our team of talented
engineers to design and build the next generation of our mobile applications
Responsibilities:
- Build native Android applications in Java;
- Write native mobile applications using best techniques, design patterns and industry standards;
- Deploy Android applications to the Google Play Store;
- Participate in the development of mobile application design;
- Collaborate with business analyst and mobile UX designer to determine detailed tasks;
- Provide required application development and support for mobile apps;
- Work with technical leads to determine the system integration design;
- Communicate risks and issues to project and technical management teams;
- Work with testing team to find and resolve defects;
- Work with Project Managers to help determine timelines and project tasks;
- Be part of the requirements gathering process;
- Work with QA team and developers to diagnose and resolve performance related problems;
- Responsible for creating and documenting systems designs and architectures;
- Address client concerns and escalate all project issues appropriately and manage the resolution;
- Perform special projects and initiatives as assigned.
Job Requirements
Requirements
- Proven software development experience
- Proven working experience in Android development
- Have published at least one original Android app
- Experience with Android SDK
- Experience working with remote data via REST and JSON
- Experience with third-party libraries and APIs
- Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies
- Solid understanding of the full mobile development life cycle.
Core Skills:
Coding - handles coding responsibilities including the ability to:
- Understand code at their level independently
- Properly document code
- Follow coding standards
- Engineer sections of code independently and subsystems with guidance
- Create tools to be used by the team
- Refactor code at a sub-system level
Ownership - takes accountability and ownership for work:
- Being responsible for understanding work before commencing
- Following through on a task to completion
- Handling responsibility beyond the explicit for his/her own tasks, bugs, and designs
- Being proactive in addressing unforeseen issues
Technical Design - designs/develops effective technical designs that:
- Are written to the level of expectation of code responsibility
- Accurately estimate times for his/her tasks
- Include resource maps and optimization plans on a sub-system level
- Assess risks for tasks on a system level
- Identify missing aspect of a design, particularly at the sub-system level
- Identify missing aspects of someone else’s design
- Apply techniques of object oriented design and meta-programming
- Anticipate problems in their own area of code
- Include the interface design with some guidance
- Take into account methods of automatic testing
- Identify the need for tools ahead of time
Debugging - fully debugs familiar and unfamiliar areas of his/her own code, other’s code (of similar level), and higher-level code (with limited guidance).
Debugging responsibilities include:
- More consistent use of exception handlers to track down problems
- Basic understanding working with and debugging assembly
- Use of profiling as a standard step
Time Management - looks for ways to save time, including:
- Multitasking
- Helping the broader team identify high risk tasks so they can be scheduled early
- Effectively prioritizing tasks
Featured Jobs
Similar Jobs
- Automation Testing Engineer.Fawry for Banking Technology and Electronic Payments S.A.E - Smart Village, Giza2 hours ago