How I got my first freelancing job as an android developer

How I got my first freelancing job as an android developer

From learning stuff and building portfolio to finding clients and growing network + 10 important tips for new freelancers

ยท

11 min read

In January 2020, I started learning android app development. In October 2021, I got my first freelancing job as an android developer. From learning stuff and building portfolio to finding clients and building network, this article is specially written for those who are aspiring to become an android developer in 2022

About Me ๐Ÿ˜ƒ

I am Ishant, a computer science engineering student from India. I have over 6+ years of programming experience and throughout my career, I have worked on many different domains like app development, web development, and game development

Around nearly 2.5 years ago, I was clueless about android app development. I had zero idea how to get started and was full of questions which I am going to answer in this article

In this article, I will be explaining you all about android app development, why it is an excellent field, how to learn stuff along with all the resources and roadmaps, how to build a portfolio by making some cool projects, freelancing opportunities, their pros and cons, how to find and engage with clients, tools to estimate the amount you should charge, how to grow your network, 10 tips for new developers and other awesome stuff :)

I will also share my story on how I went from creating my first "Hello World" android app to getting my first freelancing job :)

Why Learn Android App Development? ๐Ÿ’ป

Screenshot.png

Some of the reasons which inspired me to learn android development are:

  • One can make use of smartphone technologies like Bluetooth, Wifi, GPS, Motion Sensors , Light Sensors, and Touch Sensors to make creative apps
  • Android has 2.5 Billion users which makes it a perfect market for a person's ideas
  • 95% of people in India are Android users
  • Unlike iOS, android is open source. You can freely modify it's code and make your own OS
  • I wanted to try something new :/

How I Learned Android Development? ๐ŸŽฏ

Copy of Copy of Presenting you (2).png

There is a popular android developer on youtube named Philipp Lackner. I met this guy on instagram when he just had started his youtube channel. He provided me the roadmap and guidance to get started

I followed his advice and learned all the concepts like Kotlin language, Android Studio IDE, Coroutines, Database, API Calling, Design Architectures, Dependency Injections and other stuff

I also took help from other Youtubers like Coding In Flow and Coding With Mitch. I also bought some paid courses to master Firebase, Augmented Reality (AR), and Ktor (Kotlin based framework for backend development)

Roadmap to become an Android Developer ๐Ÿš€

Here, I have mentioned a simple roadmap for all those people who are aspiring to become an android developer in 2022 :)

All you need to do is to learn the following concepts step by step

Newbie Level ๐Ÿ’ฅ

  • Kotlin Language
  • Android Studio IDE (File Explorer, Code Editor, Logcat, Debugger, Profiler etc)
  • Android UI Components (Layouts, Buttons, TextViews, EditTexts, RecyclerView etc)
  • Activities and Fragments, their implementation and lifecycle, and Android Intents

Basic Level ๐Ÿ’ฅ๐Ÿ’ฅ

  • Coroutines
  • Room Database Storage
  • MVVM (Model View-ViewModel) Architecture
  • Make a todo list app

Intermediate Level ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ

  • Retrofit
  • Dagger Hilt
  • Android Permissions and Shared Preferences
  • Make an app which fetches data from newsapi.org, displays it in app and user can save the news in offline database

Advanced Level ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ

  • Android Services and Notifications
  • Firebase
  • Google Maps SDK

Legendary Level ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ๐Ÿ’ฅ

  • Exoplayer
  • File Handling
  • Android Sensors
  • Network and Telecommunication Handling

Once you complete this roadmap, you will become capable enough to develop most of the android apps in this world :)

It is not mandatory to complete the entire roadmap, but I highly recommend that you should atleast complete the roadmap till the "Advanced Level"

How I built my portfolio ๐Ÿ’ป

Learning the stuff mentioned in above roadmap alone took nearly an year for me (I also had university classes which consumed a large portion of my free time). Once I was confident about my skills, I went on to create my portfolio

For that, I first learned about Github. If you don't know, github is a place where developers can showcase their projects, collaborate with other developers and handle source code changes in their projects

After this, I simply went to create a couple of projects over next few weeks. Some of those projects were:

  • Password Manager (An app to securely manage a user's password and other credentials)
  • Bike Rush (An app to track a user's location, speed and distance)
  • Musicify (A spotify like music player app)

Freelancing Journey - The most awaited section of this article :)

Now it was time to get some money using my skills. Getting a full-time job was difficult due to university restrictions and internships paid quite less. So I decided to go with freelancing!

The best part of freelancing is

  • You have fully flexible hours and location. You can work at any time and from anywhere :)
  • You have a complete control over the clients and projects you want (Unlike in full-time jobs where you don't have any option to reject projects you don't like)
  • There are no office politics related issues

How I started looking for clients ๐Ÿ”

I had no previous freelancing experience and was highly nervous to get started. I heard about freelancing platforms like Upwork and Fiverr but they had a huge competition and it was very difficult for a beginner to find clients there

So what I did was I opened instagram and searched for tags like #android, #androiddevelopers, #androiddevelopment, #freelancing, #digitalmarketing. Whenever I saw any posts related to someone's project needs, I messaged that guy

I sent over 50+ messages and luckily I found my first freelancing client :)

The task was quite simple. All I had to do was to integrate client's business website in the app using webview, prepare a splash screen and manage offline state of app.

How I engaged with client ๐Ÿ™Œ

Dialing-number-meme-template-Tom-Jerry-Memes-750x430.jpg

Many new developers feel nervous or anxious when dealing with freelancing clients for the first time. In my case, the client was just 3 to 4 years older than me and was calm in nature. Furthermore, the simplicity of the project also made me a bit confident

I shared my resume with the client and soon he sent me a google meet link. There, he explained me about his app needs in detail and then asked me few questions like

  • How much do I know about android development
  • What projects I have made so far
  • How much experience do I have
  • How will I approach to his app's needs?
  • How long will it take to complete the app
  • Some other basic questions about my qualifications, location etc

Once everything was done, at last he asked me how much will I charge for the project? I had no idea what to say so I simply asked how much he was willing to pay? He said around Rs 1200 (Around $15). Having no familiarity with the amount to ask for, I simply said yes!

After that, the client sent me details of his business, his logo, website, color palettes, app's UI prototype and other stuff. The very next day I started working on the project

Within 3 days I finished the project and further confirmation and cross checking took another 2 days. At last, the client sent me the payment through paytm and in return, I shared the app's .apk file and its source code to the client via github

This was my first freelancing experience :)

What Next?

After my first freelancing project, I became confident! I went on to find even more projects through sources like Instagram, Facebook Groups and Linkedin! I also teamed up with my fellow developers and together we were able to develop complex android apps for different clients belonging to domains like healthcare, education and ecommerce!

Remember, this was not an overnight journey! It took me around 2 years to get to this stage!

Tips for new freelancers ๐ŸŽฏ

In this section, I will be sharing 10 tips for new developers who are planning to work as a freelancer

Be professional ๐Ÿ’

If you become too friendly with the client, he will for sure insist you to reduce your charges or make you do some extra stuff like adding some more features in the app

Have an excellent portfolio ๐Ÿ’ป

Having a good portfolio not only increases your chances of getting a good project, but also boosts your confidence when approaching a client

Never work underpaid ๐Ÿ’ฐ

If you are an absolute fresher, it is fine to work for what client is giving you. But after doing 2-3 projects, you should increase your charges. My biggest mistake was that I charged very less amount of money from clients during my first few months of freelancing

Write clean and scalable code ๐Ÿ”ฉ

Your code should implement MVVM architecture and clean code practices. You should avoid using any third party libraries and make use of OOPs (Object Oriented Programming Concepts), DRY (Don't repeat yourself) and SOLID coding principles while writing the code

As a result, in case your client wants to hire a new developer, that developer will easily be able to understand your code. If possible, also add comments in code wherever required and provide your client with a short documentation about the code flow

Be 100% clear about your role ๐Ÿ

When discussing with the client about projects, always ask the following questions

  • Does he have the UI prototype prepared for the app?
  • Are you also supposed to deploy the app on playstore? If so, are you also supposed to make all the graphics, video intros, mockups and other stuff?
  • If the app needs to use some backend, does the client have any hosting or some sort of existing setup?
  • Does the client prefer Firebase or Custom Backend? (If he is unaware about these terms, let him know the pros and cons of both)
  • Is it mandatory to write test cases for the app?
  • Will there be any app maintenance required in future?

And accordingly, decide the amount you should charge from the client

Always add 4 to 5 days extra to the deadline ๐Ÿ•

Lets say you think you can finish an app in 2 weeks. But what if you get some error? Many times, you will get errors that will take around 2 to 3 days to get fixed. Also, cross checking the app, making final changes and other stuff will take some time. So it is a good idea to ask for additional 4 to 5 days to finish the app

Work in teams ๐Ÿ‘ฌ

It is a good idea to work in teams when making complex freelancing projects. You can quickly fix any encountered bugs, easily make right decisions, and also save lots of mental energy!

Ask for feedback โœ‰๏ธ

At end of every project, you can ask for the feedback from client to know about your mistakes. Moreover, you can also list the client's feedbacks in your portfolio

Showcase your work ๐Ÿ’ก

Tell others about your work. Build an upwork or fiverr profile. Build your network on Linkedin and Instagram. You can also run Instagram ads to get some reach. As you grow, eventually you will start getting even more clients and better offers

Tips for new android developers ๐ŸŽฏ

  • Most of the courses and resources I have mentioned in this blog were created 1 to 2 years ago. Since then, there have been many major updates made in android. So if you plan to learn from those courses, you may get some errors. So always ensure you use the latest version of android studio, kotlin, gradle and other project libraries
  • Never use Java for android app development. Kotlin is much better, supports coroutines, null exception check, extension functions and lots of other cool stuff. Also, it is the official language declared by Google for android app development
  • When you learn the android's XML UI components and learn to build some apps, I highly recommend you to learn Jetpack Compose. It is a new way of creating UI in android apps using kotlin language and over few months, most people will start using it instead of XML

Important Note ๐Ÿ“Œ

  • There are millions of android freelancers in world. Platforms like Upwork, Fiverr, Linkedin are full of them. To become superior than most android developers, it is essential to have a solid understanding of android concepts I've written in roadmaps. Also, it is highly important to have an excellent portfolio and communication skills!
  • Don't think that you can earn millions using freelancing. It takes a lot of time, consistency and even experience to get some good quality projects
  • The biggest disadvantage of freelancing is that you sometimes will feel lonely or isolated unlike in a full-time office job where you work with dozens of people

Resources ๐Ÿ“

Thanks ๐Ÿ’™

I would like to thank Hashnode for providing such an amazing platform to share your thoughts and ideas. I hope this article will answer most of your questions and help you begin your freelancing career as an android developer. If you have any questions, let me know in the comment section or send me a message on my instagram or linkedin :)

ย