With the Android Operating System (OS) operating most smartphones worldwide, Android development is here to stay. In this article, we’ll go over why the Android developer ecosystem is such an exciting space, before touching on both the technical and soft skills you’ll need for an internship position.
Besides bright job prospects, there are several other factors that make the Android platform a compelling one to master. It’s open-source, which gives the Android community a collaborative atmosphere and allows developers to study the platform by simply browsing source code. Another benefit of the Android environment is that Google takes care of the functionality behind tasks like sign-in, authentication, location and storage, allowing Android engineers to focus on building out the unique aspects of their apps.
Once these apps are built, developers must submit them to the Google Play store. There’s more good news: this process is highly streamlined. To offer a new Android app you only need to register for a Google Play publisher account and follow the provided launch checklist. You’ll see your app appear in the store once it’s submitted via the Google Play Developer Console and approved by Google. That’s it!
Lastly, Android is now using the new Material design language to create cross-device user experiences. This makes for a high-quality, interactive user experience and provides enriching work for developers who contribute to building out the platform.
Getting Into Android Development
Before you can hone the skills you need to become an Android developer, you’ll need the appropriate equipment for the job: either a Mac, Windows PC or Linux computer, as well as an Android-powered device for testing. With that in place, you’ll need to brush up on the skills necessary to start your journey as an Android developer.
Any developer intern will need proficiency in at least one programming language specific to a given job. In the Android world, that language is primarily Java. For an internship, you’ll at least want to be familiar with concepts like loops, lists, variables, and control structures in the context of the Java language. To access data and organize databases within the Android ecosystem, you’ll also want to learn the basics of SQL, the query language of choice for Android. A solid understanding of XML, a mark-up language that describes data to enable you to accomplish tasks like parsing data feeds, won’t hurt either. That said, Android Studio abstracts away most tasks requiring the mark-up language.
Familiarity with Android’s integrated development environment (IDE) and project structure is imperative. Android Studio is the official IDE for Android app development and the main program with which developers write code and assemble their apps from various packages and libraries. Fortunately, it’s free to download, as is the Android Software Development Kit (SDK), which includes sample code and software libraries to help you develop and test Android applications.
As an Android developer intern, you’ll likely be working on a larger project under the guidance of a senior engineer, rather than starting your own project from scratch. Understanding how to do a full build of the project you’re on will give you insight into the Android environment. Even if you’re not performing a full build now, knowing how your role aligns with the project’s greater goal will help enhance your performance and allow you to meaningfully contribute to solutions down the road.
No developer workflow is complete without testing, so it’s crucial to know how to test and run your application on a physical device. Android classifies tests based on whether they’re running on an emulator or an Android device, so you’ll want an Android mobile device for the full testing experience.
The majority of your tests will consist of local unit tests that check specific functions and classes in your code. Since these don’t test performance, you can use your development machine for the unit tests instead of running those tests on a mobile device. You will want to use an Android mobile device or an emulator when performing end-to-end and integration testing. These tests are often referred to as instrumentation tests because they use the Android Instrumentation API, and not the system itself, to control Android components and their lifecycle.
Here is an article covering the testing frameworks you can use for Android applications.
While technical skills will be crucial, an Android developer internship — like any other software engineer role — requires you to be a congenial coworker and clear communicator. Let’s now go over some of the soft skills you’ll need for your work experience.
Despite software engineers’ being stereotyped as hackers working alone in their basements, most developer jobs require a high degree of both technical and non-technical collaboration. Internships especially involve pair-programming with other engineers and having senior developers approve pull requests before code is pushed to production. You may also have to “translate” your code to non-technical employees when providing a high-level overview of your work to create an infrastructure for a new project, so enthusiasm for collaboration is key.
Becoming a developer within a company that works with the Android platform requires you to take ownership of your work. Start by volunteering for small assignments to get comfortable assuming responsibility for your code and workflow.
Asking for Feedback
Approaching more experienced engineers for feedback shows you care about your work and that you value your team members’ expertise. Even as they gain seniority, great developers avoid the arrogance trap and stay open to feedback — technical and non-technical — from their coworkers.
Getting Tasks to Completion
Taking responsibility for your work does not entail simply volunteering for tasks and starting them. We all know that employee who has 10 tasks started and none completed. Finishing your work before taking too much on your plate demonstrates that you are able to effectively manage your workload and that you are invested in delivering what you signed up for.
Proactively Raising Issues
Raising issues as they come up allows your teammates to help you resolve issues promptly and ensure that each project goes smoothly. It also signals to your colleagues that you are a trustworthy employee aware of obstacles that may arise in the development process. Just make sure you do this appropriately — raising issues that may affect your workflow or projects does not equate to complaining to your boss or gossiping with peers. You should do what’s required to steer clear of or work around obstacles, not cause conflict in the workplace.
Fun Fact: Expect to Work with Older OSes
As an Android developer, you’ll work with a version of Android OS that aims to power smartphones around the world. But did you know that the first version of the Android SDK was released without any actual phone on the market? While the Android OS was first developed in 2004-2005 and launched by Google in 2007, the first smartphone running the OS was not released until 2008. Nowadays, Google tracks Android smartphones to calculate ETAs and determine traffic on Google Maps, so you could say they’re pretty important!
In all seriousness, there are many devices running different versions of Android, and you should expect to sometimes come across “somewhat antiquated tech,” as it makes sense for companies to support older Android versions in some cases.
In this article, we highlighted the high demand for Android OS-related jobs and the various perks to entering Android development space. We also went over the skills — both technical and people-oriented — required of new developers looking to dive into the Android experience.
If this sounds like an exciting career path for you, we recommend taking our Nanodegree program to become an Android developer. You’ll learn material design principles, as well as to make your apps more responsive and even publish to the Google Play store. All the best with your Android journey!