Android Job Paths
Get ready for your dream job
Android Job Paths
With Android development skills, there are multiple types of work you can pursue. You can secure a full-time employment opportunity as a developer, become a freelance developer, specialize in Java, UI/UX, or find other ways to apply your skill set in a rewarding career. If you like being your own boss as well as having full control of your work environment and time, and are interested in working on many different projects, then becoming a freelance developmer is a great option. If, on the other hand, you prefer working on a team, having consistent working hours, and focusing on developing a product, your end-goal may be full-time employment. Both have their benefits and drawbacks, and we’ll help you decide which is the better one for your career development goals.
Typically, as an in-house developer, you can expect to develop a product for a company within a team. A team will include people responsible for different parts of the development lifecycle, from conception to creation, quality assurance, and delivery. People you may work with include other developers, designers, product managers, and admin staff.
One of the biggest benefits of working as a full-time employee is that you will be surrounded by industry professionals who you can use as a sounding board, review your code, and help you grow professionally. Your training can be formal or informal; many companies pair new employees with more experienced ones to learn the ropes or may encourage the members of a department to find time to learn and share information. Typically, there will also be a person who will take care of communication with the clients. Not to mention that your supervisor will take care that the team adheres to deadlines and monitors the work distribution and progress.
Full-time employees often get paid time off and enjoy a certain amount of stability in their day-to-day routines. A lot of companies will go beyond this and also provide additional benefits such as free or subsidized health insurance, a work phone or laptop, free meals, gym membership, and more, though this will also depend on the size and age of the company, as well as the industry standards if the technical role exists within a non-tech company (such as finance).
On the other hand, it’s also important to consider whether these benefits are worth some of the trade-offs you may encounter. For example, when starting out as an entry-level developer in a company, you may not have as much creative autonomy as the senior developer or product managers in charge of designing the product. You may be assigned to one aspect of the product rather than the whole project, or you may work on a single product for a long period of time. You may want to move onto the implementation of new functionality, do some research and development, or experiment with a new version of an operating system, but the company’s business priorities may require you to keep working on the old product instead. You may also be restricted by a physical commute, inflexible work hours, and a particular stack.
Typical Day at Work
Here are some core responsibilities an in-house Android developer might encounter on a day-to-day basis:
- Write code
- Test new implementations
- Answer emails related to the product
- Attend meetings, both within the developer’s own team and with other stakeholders
- Demonstrate their work to teammates, management, and/or clients
- Perform research and development (R&D)
- Continue to keep up with and learn new technologies relevant to the field
As an Android developer, in most cases your primary responsibility will be to write quality code. On average, Android developers spend between five and six hours per day writing code. You will have access to a range of smartphones, as well as an Android Emulator. Most developers have an opportunity to prioritize their tasks and workflow as long as they are moving towards the common goal set by the leadership team. In a healthy and well-functioning team, you will be expected to ask for clarification or a second opinion--usually another developer or your manager--if you get stuck in the process. Once you have completed a task (sometimes referred to or issued to you as a “ticket”), you will provide the details to a Quality Assurance specialist, who will make sure that your code is bug-free and ready to be shipped.
Among other duties, you will be expected to answer emails, attend meetings, demonstrate your work to the management or clients, and participate in research and development activities. A lot of companies will let you dedicate some time to study to make sure that you are up-to-date with industry trends. The development lifecycle is busy, but you can be sure that it will never be boring!
Where to Look for Jobs
If you are interested in working for a particular company, browse their website and look for a "Careers" or "Jobs" page. Most companies, including Udacity, list vacancies on their websites.
You can also use the following international job-search websites, which aggregate job postings:
Some countries also have their own specific job search websites--including state or government job boards. If you have any affiliation with an institution of higher learning, check to see if they have career services available for students and alumni.
Different Job Titles and Expected Rates of Pay
Even though job titles vary from company to company, most tech hubs seem to be on the same page about professional experience in relation to the seniority of the role. Here are a few examples of what different job titles might signify:
- A Junior Android Developer has successfully completed a few personal projects using Java. They know how to work with a smartphone, access web services, store information on a device and perform other routine tasks. They may have zero to one or two years of relevant professional experience, and will usually start out developing a product with a team.
- An Android Developer (with no additional descriptors) is a title usually given to a mid-level professional who has at least three years of relevant professional experience and can work on projects independently. Most of the time we’ve found they are individual contributors, but in some cases they may lead a team or make decisions on how to move forward with developing a product.
- A Senior or Lead Android Developer has developed a broad range of different applications and has an expert knowledge of multiple technologies; they have experience working on multiple platforms including smartphones, tablets, wearable devices, etc. They are familiar with industry best practices and common design patterns, and how to write fast and reliable applications. In many cases, they may be expected to lead a team of developers in completing a project, so management experience is often cited as a desired quality in a candidate.
Below are several potential job titles you may find on job boards across industries. Salary information has been taken from Paysa, is valid for August 2017, is in USD and covers the USA job market.
Junior Android Developer
A Junior Android Developer is someone who is just starting their career. They may have experience building Android applications as a hobby or have built some applications during their studies, but little-to-no professional experience is expected.
Android Developer and Android Engineer are the most common job titles you are likely to see on job boards. Unlike a Junior Developer, an Android Developer has up to five years of professional experience developing Android applications and can usually point to specific parts of a product over which they’ve had ownership.
Senior Android Developer
A Senior Android Developer is a professional who has spent five-plus years developing Android applications. They are experts in their field, familiar with the best architecture and design patterns, and know how to solve any problem related to Android app development including memory and performance issues.
As a Mobile Developer, you will most likely either use cross-platform development tools or work on multiple platforms such as Android and iOS. You will need to pay close attention to the Job Description to find out exactly what the company requires for this job.
Android Developer Lead
As an Android Developer Lead, you will be in a role of higher responsibility, including making architectural decisions for the mobile applications your team will be building, as well as mentoring and supervising junior members of the team. There will also likely be more involvement with clients and business interactions.
Freelance work can take many forms. Freelance Android developers don’t work for a single company. Instead, they usually either work for many businesses or individuals on a project-by-project basis, or own their own businesses and choose the projects they want to pursue. A client who would like to get an application built might approach a freelance developer directly, or through a staffing firm. They will negotiate and discuss the requirements with either the developer or the firm connecting the developer with the opportunity and, once the terms and conditions of the contract are agreed upon, the developer will deliver the project.
Freelancing can be challenging, but the advantages can also be enormous. One of the most often-cited benefits is that a freelancer gets to pick their preferred environment and work hours. They have more autonomy over the types of projects they want to work on, and usually command a higher hourly rate to compensate. As someone considered to be self-employed, a freelance developer may also be able to claim expenses on their taxes (depending on the country), as well as work with the equipment and software of their choice. Because they usually work with many different clients, freelance developers have the opportunity to experience a variety of assignments.
However, in exchange, freelance developers are naturally not entitled to paid leave or guaranteed income as clients will be charged on an hourly or project-by-project basis. Other considerations to take into account are more stringent deadlines, non-traditional work hours, and significantly more direct contact with the client or customer. Because of this, freelance developers are required to develop exceptional communication and interpersonal skills. It may take a long time until a freelance developer becomes well-known enough to develop a self-sustaining stream of new clients, so aspiring freelance developers should expect to work hard to proactively build their client networks and deliver consistently strong projects their first few years.