Welcome to CodingWithMitch.com

The best place to learn Android Development

Android Tutorials Courses

What's new?

Android Firestore Introduction


Start your free trail on Pluralsight to watch the course!

I know some of you have been waiting a very long time for this. I finally created a Cloud Firestore course!

In terms of course content, it's meant for complete beginners when it comes to Firestore. However, I expect you to have a good foundational knowledge of Firebase already. I'm not going to be covering the basics of integrating Firebase into your Android project.

Major concepts:

  • Firestores unique document-oriented design
  • Firestore vs the Firebase Database
  • Firestore security rules
  • Firestore data indexing
  • Firestore limitations
  • Inserting new data
  • Querying data
  • Updating data
  • Deleting data
  • Sorting, ordering, filtering and paginating queries
  • Uploading images, querying images and removing images

The course is available on Pluralsight. Here's a link to the course and a link to start a free 10 day trial:

Firebase on Android: Cloud Firestore

Try Pluralsight for 10 days free!

Not sure you want to invest money learning about Firestore? I also have a free course on YouTube. It's meant to give you a 'taste' of Firestore. Then you can decide if you want to watch the complete course on Pluralsight.

Watch the free introduction course

CodingWithMitch Merchandise


Go to the Store

I'm really excited that I finally got a store up and running.


  • T-Shirts
  • Hats
  • Half-Sleeve Shirts
  • Tanks
  • Cell Phone cases
  • Hoodies
  • And even coffee mugs

Check out the store by clicking here, click the image of this post, or click the "Store" option in the top navigation bar.

Thanks ahead of time for your purchases! Any revenue goes towards me spending more time making FREE content.

Firebase on Android: Cloud Messaging, Cloud Functions and Crashlytics


Start your free trial at Pluralsight.com to watch the course: Click Here!

Short Description:

Every app needs the ability to send push notifications to users. Google has officially announced that Google Cloud Messaging is no longer the preferred method to send these notifications. Firebase Cloud Messaging is now the recommended method by Google. In this course you'll become a master of Push Notifications, Cloud Messaging, Cloud Functions and get a bonus section on Firebase Crashlytics.

Detailed Description:

To put it simply, Cloud Messaging is complicated. There are so many nuances that most documentation doesn't talk about.

  1. How do you receive messages when the app is in the background?
  2. How about Foreground?
  3. What about Closed?
  4. How to you build a service class to intercept incoming Cloud Messages?
  5. How the hell do you even send a cloud message? Let alone targeting specific users.

After taking my course you'll have expert level answers to all these questions and be able to implement effective Push Notifications using Cloud Messaging. I'll show you how to send Cloud Messages from the Android client to specific users, how to send Cloud Messages with database triggers, and how to send Cloud Messages using a Firebase Cloud Function.

I haven't seen anything so comprehensive on this complicated topic anywhere on the internet! I'm not just saying this to plug my course. I really believe it's true.

Watch this course if Cloud Messaging confuses you. You won't regret it!

The Complete Software Developer's Career Guide (Book Review)


4.8 / 5 stars on Amazon.com

I just finished listening to the Audio version of The Complete Software Developer's Career Guide and I wanted to take the time and write a book review since I think it will help a lot of developer's, especially junior developer's, student's and those just starting on their software development journey.

I think every single software developer should read this book. The advice and experiences John talks about in this book will shave years off the hardships you'll likely endure. For $25 or whatever you pay for this book you get THOUSANDS of dollars of value. I'd even argue this book is worth more than 5 - 10 years in the work force because it will give you that much wisdom. Obviously it can't give you the technical skills, but you'll adopt the mindset of a mature, senior software developer who knows exactly what their next move is.

John tells you how to do things the right way and how to have the happiest, most successful career possible.

Buy this book (or the audio version which has some awesome extra content). Send me an email to thank me after you read it: mitch@tabian.ca

Some content from the book:

  • How to systematically find and fill the gaps in your technical knowledge.
  • Should you take contract work – or hold out for a salaried position?
  • Should you learn JavaScript, C#, Python, C++, Java, Ruby, Node.js....?
  • Ever notice how every job ever posted requires “3-5 years of experience,” which you don't have? I'll help you solve this problem.
  • Is earning a computer science degree a necessity – or a total waste of time?
  • Coding bootcampssome are great, some are complete scams. How to tell the difference so you don't find yourself cheated out of $10,000
  • and much more…

My Thoughts on Net-Neutrality


For those of you who don't know what Net Neutrality is, in the context of this post I'm referring to the government regulation of internet content.

There's currently what I would call a "public-uproar" on this topic. Some of the largest internet service provider companies in North America want to end Net Neutrality. If they end Net Neutrality, they'll be able to increase or decrease speeds and performance in any city or region they want to.

Essentially it would allow them to become "free" to do what they want with the internet services they provide. They'll be free to increase fee's, decrease bandwidth, or throttle your service.

What is the government offering to do?

As expected, "good-guy" government has offered to step in and force Net Neutrality. Net Neutrality would force all ISP's to provide the same service to all areas and regions without discrimination. They are offering to put limits on fee's and make sure everything is regulated.

My opinions:

Obviously I understand that giving ISP's complete freedom can have some short-term negative effects. If companies have complete freedom to charge you more, or even cut off your service if it's not worth it for them to provide service in your area, that sucks. HOWEVER, there's nothing stopping you from switching providers or even moving to a different location if the service they provide is bad.

That last sentence was actually a very powerful statement if you break it down. Let's talk about it.

If companies have complete freedom to do what they want with their service, that's actually incredibly empowering for the public. If a company sucks, and treats their customers poorly, you can stop using them. Pretty soon that company isn't going to be much of a company anymore if they don't treat their customers well. So consequently if ISP's have complete freedom it actually increases competition among ISP's. If they have complete freedom, they'll always need to be watching out for other companies innovating or improving their service.

The Future:

I think it's ironic that people are in an uproar about Net Neutrality. By striving for Net Neutrality people think they're empowering the public by restricting a few large corporations. But by allowing the government to step in and regulate internet content you're actually empowering the biggest corporation of them all, the U.S. Government. If you don't have Net Neutrality, the public has the ability to pick and choose services. This drives competition and serves as a form of "Corporate Natural Selection".

An Example:

Take a look at the car company Tesla. What if back in 2003 the government decided to step in and force car companies to build a "basic" gasoline car that was the same for everyone? Therefore giving everyone the same opportunity to drive a car and receive the same treatment. In the short term it would have been great. Cars are expensive and it sucks when you buy one with problems. But it would have been impossible for a company like Tesla to innovate and increase the quality of life for literally everyone in the world. It took more time, but in 10 years we're all going to be driving electric cars that leave a neutral (maybe even positive) carbon footprint. Innovation and competition is a prerequisite for progress. If the government steps in, you're literally slowing down the progress of humanity. Trust in people and human nature. We will always strive for better quality of life and innovation.

Let me paint you a picture of what this will look like in 10-20 years if we have Net Neutrality:

There will only be a few ISP companies left (maybe even just a single large company). There won't be any incentive for people to use one company over another so it basically makes it impossible for a new company to get started. Without a product that's any different, there's no reason for people to use it. This scenario could go one of two ways:

  1. The few companies that remain could be providing incredible service as regulated by the government
    • I hope you understand that this is extremely unlikely as they'd have no reason to innovate or improve customer service. There would be no competition so there's no need.
  2. Or they could be providing "just barely acceptable service"
    • This is the likely outcome. The companies that are left have had almost no reason to create new products or improve their service because there's no competition.

Why I don't really care what happens:

I definitely favor the non-Net-Neutrality option, but at the end of the day I don't really care. I'm confident in my ability to adapt to whatever the outcome is. If I have to move somewhere else in the world to get better service, I will.

Additionally, I live in Canada and the CRTC (Canadian Radio-Television and Communications board) basically shares my opinion. They are mostly against Net Neutrality (with a few special cases) and said: "[it would] likely [have] negative impacts on competition, consumer choice, and innovation,"

Here's a video posted on SimpleProgrammer. I pretty much agree with everything he says.

Try Pluralsight for 10 Days FREE

Check out the Courses:

Build a Reddit App


Instagram Clone


Google Maps & Google Places


Classifieds App


Android Firestore Introduction