FIVE ESSENTIAL STEPS TO CONSIDER WHEN STARTING OUT AS AN ANDROID DEVELOPER

Love Ubadinma
6 min readJul 4, 2021

--

The Android Logo

Source: The Android Logo

Most people are of the opinion that a path in software development is an impossible journey as a lone ranger, which I continue to disagree with. It is recognized as a great feat accomplished by a rising number of people especially in this technology era, hence the journey is far from impossible, although it may be a bit demanding.

OUTLINE

Certain courses are available online mostly paid, with promises of a smooth ride but the payments are mostly time bound and require total diligence. In certain cases, these subscriptions expire with low utilization but these could be avoided by simply taking note of multiple learning paths and developing one for yourself that balances across the curricullum online and finally diving into the various available and reputable tutors via videos or blogs (depending on what works for you). To ease this journey, I have drawn out a concise overview of some aspects you should be exposed to,and necessities that will aid you in your Android Software Development journey and give you the required foundation to kick start an amazing career from here on.

  1. Introduction — A bit about the Android platform.
  2. Programming languages for Android development.
  3. Android Development Kit (SDK).
  4. Design Requirements (XML & Material Design).
  5. Data Management with Personal or Cloud Service APIs.

Extras:

Project Based Learning(Hands-on).

Conclusion — Ground Breaking Idea.

1.0 Introduction

Starting a career in android application development sounds welcoming, but really is it? Of course, it certainly isn’t what it seems, it’s much more. A solid fundamental understanding of programming and design can get you smoothly surfing when the waves hit. In this light, these essentials have been provided to make the surf even smoother. Starting with a quick overview of the Android Operating System and its appeal.

Android is basically a mobile Operating System(OS) owned by Google and developed for touchscreen devices. Over the years,so many applications have been developed to work on the android platform, with its easy clicks and drags, it has been a delight developing over. In this vein, I delved into the realm of Android Software Development triggering the desire to CREATE — the passion which is and always has been the special ingredient for success(Trust me… starting this journey, means you’ve got it already).

2.0 Programming Language

With Java at the core of android development, very little is left on the table for other languages in android mobile development. However, in May 2017 at google I/O, it was stated that Kotlin is now one of the official languages of android( joining Java and C++) and even the google developer’s site has created corresponding code labs covering every topic previously created in java for kotlin as well. Both languages are Object Oriented Programming (OOP) Languages although Java is uncompromising in handling its data hence the code ends up bulky and error-prone. In the light of this, Kotlin is super flexible and developer friendly and equally interoperable with Java, meaning they can be used together in one code base. In my opinion, a solid foundation in Java is necessary before moving on to developing with Kotlin, since we cannot make the developer’s life any harder while trying to solve problems.

Source: Kotlin And Java Interoperablility

3.0 Design Requirements (XML & Material Design)

3.1 Extensible Markup Language(XML) is a Markup language out of the others with the most popular being HyperText Markup Language (HTML for web) that is mobile-development suitable. It is a set of tags and codes for defining the structure of Texts and objects in digital contents. Although, XML is used for mobile development, Google created Jetpack Compose.This is Android’s modern Toolkit for its Native UI designs which aids the quick update of UI with changes in the data, anticipated by many in the Android space to replace XML-designed UI building by using the toolkit which makes its development faster and easier. However, I would recommend for a start, the use of XML for design.

3.2 Google Material Design Guide: Although XML (or compose) brings everything to life, creating the screens using layouts and view elements would still not hit hard enough if you do not get familiar with the Material design guideline, providing standard android view designs created to aid uniformity in android applications that are more appealing including animations (Material Design Animations) for a better user experience.

4.0 Android Software Development Kit(SDK)

The Android SDK (software development kit) is a set of development tools used to develop applications for the Android platform as defined by Techopedia. It includes highly required Libraries,a debugger, an emulator and documentation about the Android API. This software development kit is offering an ideal development tool set for Android apps. These are embodied in the official Integrated Development Environment for Android developers, being Android Studio IDE. The SDK is provided by the Android OS manufacturers being Google. There are other SDKs used in applications like a payment SDK to integrate in-app payments, such as payment portals with libraries aiding its usage and code recognition in the project during the compilation but this SDK is platform specific to the android operating system. The Android Studio IDE was built by JetBrains, over the frame of their prestigious IntelliJ IDEA providing amazing developer coding support such as Code completion, assess to Debugging tools for ease of debugging by Devs as well as Performance and memory monitors ensuring consistent high performance of the code across various devices.

5.0 Data Management & Networking

We certainly do not expect all the data used and generated on the app to be stored in the device. This instigates the need for storages such as Firebase which provides simple APIs(Application Programming Interface) to manage your data and personally built cloud storage with even complex APIs. There are also locally provided storages like Room ORM (accessed using SQLite) which are in the form of libraries to cache the data for user’s offline access which is synced regularly on internet access to provide users with updated info each time. Bottomline is, the data storage forms are numerous, but the onus lies on deciding the best storage for each data used or required by the application and querying the database for it when needed.

Project Based Learning Plan(Hands-on)

Of all the listed recommended areas to look into, a project based learning format tops it all. Steming from Aristotle’s Quote: ‘For the things we have to learn before we can do them, we learn by doing them’. There are numerous guides and courses, but simply reading or learning methods and patterns without going hands-on into Project after Project, you’re hardly ever certain if you’ve learnt anything, hence letting imposter syndrome creep in. So trust me when I say, I’ve taken countless notes but I’ve scarcely returned to read them again but my codebase has been receiving regular visits. Alongside a healthy documentation of your codes in your project, through commenting, I assure you practice indeed makes perfect. I’ll recommend some projects to kick-off that’ll touch a whole lot of these essentials and here’s a straight link to Google Codelabs- Android Fundamentals providing amazing hands-on step-by-step project based learning and practice materials.

Conclusion-Ground Breaking Idea

To crown it all, you should be able to think, dream and solve problems. One prevalent question in the tech sphere has been, “What do you do, when you are not coding?” And I’ll always answer, “I dream…” . It’s not about the music I’m listening to, it’s not about the movie or anime I’m watching, it’s not about the trip I’m taking or the conversations I’m having… It’s about where my mind is between those glances and words, it’s about how deeply I relate with every experience. It’s about how we can make things better… So lets get down, get dirty and get codiiiiing!!!

PS: Here’s the Link to the list of projects as promised.

Starter Projects in Android Development

If this was helpful, i’ld appreciate a honest feedback. Cheers!

Feel free to reach me on:

LinkedIn and Github.

#android #androidDeveloper #mobileDeveloper #javaAndroid #kotlinAndroid #beginner #newbies #technicalwriting #softwareDevelopment #boot-camp

--

--

Love Ubadinma
Love Ubadinma

Written by Love Ubadinma

Android Developer(Kotlin), Creating is what I do, Coding is my Art... Reality is the Canvas... Let's talk Solutions!