On March 12, this year, the TensorFlow team introduced the TensorFlow Developer Certificate Exam.

Cut to June 13, and I am TensorFlow Developer Certified. ✅

So what happened in this 3-month long gap?

After honoring all my business and personal commitments, I managed to take off one month to prepare for the exam. After studying all the details of the exam, I created a learning plan to get myself exam-ready in 14 days*.

That’s all cool – but what is TensorFlow?

The gist: TensorFlow is an end-to-end open-source machine learning platform. It has a comprehensive ecosystem of libraries, tools, and community resources that lets ML/AI Engineers, Scientists/Analysts build and deploy ML-powered applications.

Google, Airbnb, DeepMind, intel, Twitter, and many others are currently powered by TensorFlow and it helps them solve a wide gamut of problems.

Now, I am not a certification evangelist. But since I was already using and following TensorFlow so closely as a Data Science Enthusiast it got my attention.

It has been an amazing learning streak and I am here to share all the nitty-gritty details of what the program is, how I did it, and how you can do it too!

What is this certificate program about?

The certificate is an official validation confirming your proficiency with TensorFlow with respect to solving deep learning and ML problems in the AI-driven job market.

If you’re someone who has got the skills to develop those Deep Neural Networks and solve problems with it, you can take the exam to differentiate yourself with the certificate.

Oh, snap! Not another Certification Program…?

Why should you take the exam?

Firstly, this is not like the certification where you watch a few 2–3 minute-long video lectures and take a quiz of multiple-choice questions and get yourself certified. This will require you to code and solve a class of problems that you'll need to prepare for.

Secondly, how many times have you thought of mastering a new library or technique, and then abandoned your plans midway? If you're anything like me, 99% of the time.

For me, the certification worked as the destination for my learning journey. I had some experience using TensorFlow but this came in as a challenge to work on problems that I hadn't actually solved myself.

Thirdly, you should keep monitoring the technology space in your field at least. So here is a trend from StackOverflow that shows how TensorFlow is being used by a huge number of users accounting for nearly 1 out of every 100 questions on the platform:

stack_overflow

Lastly, I feel that Google always provides value to its users/developers. I believe the way they have structured the exam makes it worth trying, as it validates your skillsets and adds weight to your profile.

OKAY! I’m sold, can you tell me what am I supposed to do in this exam?

Exam Walkthrough

The exam is an online performance-based test where you are provided with questions to solve by building TensorFlow models within a dedicated PyCharm environment.

You can take this exam from your computer that supports the PyCharm IDE requirements. You'll need a reliable internet connection, and you can take the exam at whatever time suits you (I started mine at midnight).

The exam tests your ability to solve problems like Image classification from real-world images, Natural Language Processing, and time series forecasting using Tensorflow 2.x.

You can take up to 5 hours for the exam. If you exceed the time limit, the exam will be auto-submitted and you will only be graded for the questions for which you have submitted and tested your model.

You are allowed to use whatever learning resources you would normally use during your ML development work.

Exam Cost: Each attempt costs you $100 USD.

Ah-hah! so how did you prepare for this scary long exam?

How I started preparing for the Exam

The first thing I did was spend a good amount of time studying the exam itself. The TensorFlow team provides you with this comprehensive handbook that tells you every detail about the exam and what skills you should master before taking it:

TF

After studying the exam, I designed a curriculum for myself to cover every skillset that is mentioned in this handbook.

Next, I set myself up with a schedule so that my work engagements didn't push me off track and I prioritized learning for those ~20 days.

And that’s all – I started preparing for the exam using this curriculum comprised of these recommended and useful resources:

notion
Link to my compilation of resources: https://www.notion.so/15049893501f4387893a5de0059ef8a5?v=9154c52a61494668b12802f157bce0d4

[Imp]: Learning Curriculum — Review of all the resources I used to pass the exam

For someone new to Tensorflow or Machine learning, the handbook might portray a terrifying picture. But having a plan and setting up a schedule will get you through. Here’s the curriculum that will prepare you well for the exam.

The Tensorflow team again did an amazing job of suggesting the resources based on your familiarity with Machine Learning. On top of that, I had been following a few books and playlists that helped me a great deal to cement the fundamentals in my brain and helped me go beyond the exam requirements themselves.

I have also reviewed all these resources that I used with a scoring scale of 5, based off the following qualities:

  • Usefulness — to pass the exam
  • Learning Value — might not have a direct effect on the exam results but will help you build a strong foundation and work on more complex problems.

Here’s the list of resources along with the time and cost that each will incur:

1. Coursera’s TensorFlow in Practice Specialization

Screenshot-2020-06-15-at-12.15.16-PM

Usefulness: 5/5 — This is absolutely needed to score well (or even pass) on the exam. It will help you cover every skill mentioned on the skills checklist in the Handbook. This is the recommended course on the Certification home page.

If you carefully study the skills checklist and then compare it with the course outline, you’ll be able to figure out the direct mapping of each skill. It looks like either the course was created with the certification exam in mind or vice versa.

The entire specialization contains 4 courses:

  • Introduction to Machine Learning and Deep Learning.
  • Convolutional Neural Networks in TensorFlow
  • Natural Language Processing in TensorFlow
  • Sequence, Time series, and Prediction

Learning Value: 4/5 — The course itself depends on other resources to help you get an in-depth understanding of the fundamental concepts and topics that it uses. This is more of a Hands-On course.

Time: It should take you 4–8 weeks depending on the amount of time you dedicate. I had prior experience with Image classification problems, and it took me 14 days to watch the entire specialization series and practice all the exercises they provide.

Cost: This comes at a cost of $59 per month after a 7-day free trial. Totally worth it if you have to pay. The other resources provide a free alternative.

2. YouTube Playlists on Machine Learning Foundation by Laurence Moroney

Screenshot-2020-06-15-at-1.08.17-PM

Usefulness: 4/5 — This is an alternative to the starting 2 courses in the TensorFlow specialization on the Google Developers YouTube channel.

There is a dedicated NLP zero to hero playlist by the same author — Laurence Moroney.

Learning Value: 3/5 —Same as above but relies on other videos and resources in case you’re a beginner in Machine Learning.

Time: 1-2 weeks per playlist if you’re dedicating like 3–4 hours daily to your preparation.

Cost: Free

3. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition

Screenshot-2020-06-15-at-1.19.06-PM

Usefulness: 3/5 — The score is because of its relevance to the exam. For beginners, this will be a foundational resource to understanding Machine Learning and then gradually diving into the depths of Deep Learning, TensorFlow, Computer Vision, CNNs, RNNs, and much more.

Following are the most useful chapters from the book:

  • Chapter 10 — Introduction to Artificial Neural Networks with Keras
  • Chapter 11 — Training Deep Neural Networks
  • Chapter 12 — Custom Models and Training with TensorFlow
  • Chapter 13 — Loading and Preprocessing Data with TensorFlow
  • Chapter 14 — Deep Computer Vision Using Convolutional Neural Networks
  • Chapter 15 — Processing Sequences Using RNNs and CNNs
  • Chapter 16 — Natural Language Processing with RNNs and Attention

I have been reading this book since before the exam and the author Aurelion has created a gem of a book for aspiring Data Scientists, ML/AI engineers.

It elucidates the foundational concepts, explains the mathematics behind each algorithm, and then explains the hands-on code to solve problems along with the best practices, covering everything. A MUST-read for all Machine Learning aspirants.

Learning Value: 5/5 — This is by far the best book to get started with Machine Learning.

Time: 3–4 Months — I would recommend that you read each chapter slowly and then practice the exercise given at the end of each chapter.

Cost: If you can afford it, I’d recommend getting an O’Reilly Media subscription for $50 a month where you not only get this book but all the publications and video/live lectures. Alternatively, you can buy the paperback on Amazon for the price it is available in your region (around $60).

I am an O’Reilly Instructor, so I have the resources available in my portal.

4. Other Useful YouTube Playlists

These are a few playlists that I went over to get a good grip over each of the required concepts:

  • MIT 6.S191: Introduction to Deep Learning:
    Usefulness 3/5 — It will help you get familiar with Deep learning and developing neural networks using TensorFlow. You should cover the first 3 videos in the playlist — Intro to DL, Recurrent Neural Network and Convolutional Neural Networks.
    Learning Value 4/5 — Gives you a good refresher on the basics and I used it as a good video to watch when I was just in the mood to watch and not actually do much hands-on.
    Cost: Free
    Time: 3 hours
  • Convolutional Neural Networks by Andrew NG
    Just like the above playlist but with Andrew NG’s method of explaining Deep learning. I watched this series last year, very helpful.
    I watched the videos that Laurence recommended in his course.
    Usefulness: 3/5 — More on the basics.
    Learning Value: 4/5
    Time: 8–10 hours to understand the concepts in each video.
  • Sequence Models by Andrew NG
    Usefulness: 3/5 — More on the basics.
    Learning Value: 4/5
    Time: 8–10 hours to understand concepts in each video.

5. PyCharm Tutorial Series and Environment Set up guidelines

In case you have never worked in an IDE before, getting familiar with the exam environment is highly recommended.

Screenshot-2020-06-15-at-1.58.49-PM

Usefulness: 5/5 (required) — This is a getting started series for PyCharm beginners that’ll help you get up to speed with how to use PyCharm efficiently.

Learning Value: NA

Make sure you read the environment set up guidelines to take the TensorFlow Developer Certificate exam.

Screenshot-2020-06-15-at-2.03.19-PM-1
https://www.tensorflow.org/site-assets/downloads/marketing/cert/Setting_Up_TF_Developer_Certificate_Exam.pdf?authuser=4

Follow the instructions mentioned in the PDF because the certification team can’t be held responsible for your negligence.

Whoa! That is a long list of resources, how did you manage to study?

My Schedule for Preparation

ezgif.com-video-to-gif--3-

By the end of April, I was sure to check this off my list. I’d take it up just like any other project and was determined to see it through.

So, I used to plan every night what I was about to do the next morning. The pink-colored time slots are blocked for studying for the course. These 3–4 hours in the morning were my most productive where I could grasp the most.

I had a fairly consistent routine throughout the 2 weeks and I raised the intensity when I got close to exam day with more than 5–6 hours of practice each day.

Ok, so what was your process of studying?

How I studied

I used to first watch the lessons of each week, then practice the code in the colab provided following the video lessons.

At the end of each week, I would complete the assignment designed by Laurence in his course.
NOTE: I used to write the entire code myself rather than just completing the placeholder code.

I would also revisit the chapters in the Hands-on ML book later at night before sleeping or at the end of my time slot just to make everything crystal clear. Then I would learn about the next steps that were beyond the exam curriculum.

TL;DR: WATCH. CODE. PRACTICE. READ. REPEAT.

All prepared to take the Exam — What’s next?

If you think that you have covered all the skills mentioned in the Handbook and feel like you’re ready to take the exam, that's great.

Screenshot-2020-06-15-at-3.22.42-PM

Now you're ready to purchase your exam. It's served by a third party platform called TrueAbility. You are required to submit your government issued ID (passport would work) for authentication.

Pay $100 for the exam. You are now good to go, you can start the exam as and when you feel ready.

They provide you detailed instructions on how to set up your PyCharm for the exam. Here’s what I recommend doing before starting your exam:

  • Make sure that you have a good reliable internet connection.
  • Make sure that you have gone through the PyCharm beginner tutorial if you’re new to the IDE.
  • I tested my PyCharm by running a few TensorFlow tutorials. They worked fine and I was ready to install the exam plugin to get started.
  • I read the exam instructions thoroughly before hitting the start exam button. It will be provided to you after signing up for the exam.

HIT the Start Exam button!

During the Exam

Your exam environment will be created and you’ll be directed to the questions you'll have to solve. I won’t be sharing the details of the exam as that’d be unethical.

In my experience, it all went smoothly, and I was fairly confident I'd complete the exam after looking at the questions. And sure enough I completed the exam within 3 hours.

Tips and Tricks

  • Make sure you practice a few exercises on PyCharm 1–2 days before the exam rather than just working on Colab notebooks.
  • For the models that took time on my local machine, I trained them on Google Colab and then uploaded the trained model in the project folder.
  • Keep working on other questions while your model is training; I had 3 models under training — 1 on my machine and 2 on Google colab and I was working on the 4th while I was trying to tune the hyperparameters.
  • If you have enough time, keep trying to get the best results for each model.

Post-Exam Rituals

When you're finished, hit the Submit and End Exam button. When I was done, I received an email from TrueAbility congratulating me on passing the exam:

1*3RGLSZTKIFi8EgOYkCqRoQ
Screenshot-2020-06-15-at-6.03.44-PM

There is no detailed analysis or report on how you did on the exam. They simply mention whether or not you’ve passed the exam.

After passing the exam, you are requested to join the TensorFlow Certificate Network that tells you the Certificate holders in different regions:

Screenshot-2020-06-15-at-3.41.40-PM

Where is the Certificate?

It takes a week or so to actually get your hands onto the certificate. I got mine 3 days after the exam.

Screenshot-2020-06-16-at-11.45.06-PM
My Certificate

Once you received your certificate, you can flash that badge on your social media profiles and mark it as an achievement in your resume.

Exam FAQs

Is it really that important to take the exam, can’t I just work on an equivalent project based on each section?

I’d say you can definitely do that and in fact, that is probably the better approach when you’re developing a new skill.

But the Exam helps you get recognized and, since it is coming from Google, it is nice to have. It's not a be-all-end-all solution to learning Deep learning or TensorFlow.

I want to start from scratch, what resources should I be looking at?

Learn by doing things. Many blogs talk about learning deep mathematics first but you’ll soon loose interest using that approach.

Start by learning programming (Python or any other language) and then gradually dive into Machine Learning. You can also look at this course by Andrew NG.

I always need a mentor or someone to push me to do things and solve my doubts and problems, can you propose a solution?

A mentor does indeed help in many cases. If you’re someone who wants someone to help you with theses details apart from these resources, you can look at Codementor where you’ll find ML and AI experts who can help you resolve all your queries.

This is a little expensive for me, is there a free or less expensive approach?

Yes, the Tensorflow team is offering a few stipends to people who might have some trouble affording the exam. Visit this link for more details.

Screenshot-2020-06-15-at-4.25.22-PM

If your question is not addressed here, feel free to respond to this post and I’ll get back to you. :)

What’s next?

Just like with any other skill, start building things and working on real-world projects. Start looking into open-source projects like TensorFlow. Apply for jobs with this badge and share your story with others.

I’m working on a complete Deep Learning Foundation series that’ll be useful for ML/DL aspirants. You can watch me teach on to my Youtube channel in the meanwhile.

Here is a video based on this blog where you can watch me share my journey:

I’ll be rolling out a complete series on TensorFlow soon. Subscribe to my channel for interesting data science content.

Data Science with Harshit

With this channel, I am planning to roll out a couple of series covering the entire data science space. Here is why you should be subscribing to the channel:

If this tutorial was helpful, you should check out my data science and machine learning courses on Wiplane Academy. They are comprehensive yet compact and helps you build a solid foundation of work to showcase.