“It always seems impossible until it is done” — Nelson Mandela
Three years ago, when I was fifteen and a fourth year High School student, I joined my first DevFest in Cagayan de Oro. I was first introduced to DevFest by my former club moderator, Dave, who was already able to join the event for a couple of times because he was a volunteer of the community. I had two techie friends back then, Andrew and Lance who were my batchmates and were also members of the same tech-oriented club in High School. Now we are on separate ways: Lance who is currently finishing his degree in Medical Laboratory Science (MLS) and Andrew who is currently an Information Systems (IS) student. My first DevFest was memorable and being able to create my first Polymer Web App was a fulfilling and fun experience as a budding developer.
Three years after, I never would have thought to be given an opportunity to volunteer for the community, GDG Cagayan de Oro. I was able to meet other tech enthusiasts in Northern Mindanao which was one that I’m looking forward to that time when I first joined the community. I am currently the Creative Lead of the community which is tasked to create posters and other promotional materials. I knew that I can do better things other than designing graphics. So one time when the community manager, Josan, told me to talk for a Campus Roadshow about how design contributes to the improvement of technology and vice versa, I grabbed the opportunity.
It was my first experience to talk and share ideas with student developers like me and it was a very fun and memorable experience.
As what I’ve said earlier, I believe that I can do more than designing graphics. At first, I really had a hard time trying to persuade and change my image as a designer because people have already known me for creating graphic designs. I know I can design but I know it is not the career path I wanted to pursue — I want to be a badass developer creating disruptive applications that will hopefully have a positive impact on other people’s lives. There was one time when I entered into one of my major classes, Web Development class to be exact, when my instructor told me that I was able to design one of our web activities creatively. However, after telling that, he told the class that it was supposedly not a design class and he doesn’t care how good we are able to create a web design for the activity. What made me sadder was when he told the class that designers only do the few job and that the back-end people are the ones who do more workload. I know he was talking about me though when in fact I could design, do the back-end, and deploy applications that I personally developed (I consider myself full stack, but I don’t mind about it because others also don’t).
That, however, challenged me to work hard to become the developer I wanted to be. I joined in several developer conferences and summits and took note of the details, tools, and tips that would be needed in developing my own application. I have to prove them wrong.
Last February this year, I was able to join TensorFlow Dev Summit Extended here in Cagayan de Oro. I heard about TensorFlow before though I don’t have any idea how it will be used. The speaker, Ralph Regalado, introduced fundamentals in Machine Learning and where we can use it. That time there was a codelab wherein we needed to feed the image and let the trained neural network classify the image with together with its accuracy level. Unluckily, I wasn’t able to finish the codelab but because I was able to proceed more steps higher than the others, I was able to receive a prize which was a TensorFlow shirt.
Much to my curiosity to learn TensorFlow, I started searching for Machine Learning books that I could find all over the internet. I also had to rent a book in order to get the “perfect” resource to start my learning. It was two months and I almost gave up because I could not handle the difficulty anymore. I have to come back to my goal which to prove others that I can do more than designing and that I want to make my final thesis application be made using Machine Learning.
Thanks to Nelson Mandela’s quote and going back to my goal, I continued to study Machine Learning.
Six months have passed and I learned more—little by little—about Machine Learning. I had to insert a small time at night to learn Machine Learning because I have school works to finish first before attending to others since I’m maintaining a grade because I’m a scholar. It is a time well spent studying Machine Learning and with that, I was able to develop a simple Image Completion application using TensorFlow. I wrote my Python code in Jupyter notebook, an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text.
It’s just a simple application though the development was hard because I had to develop a simple neural network of my own and train it on a few iterations, feed the image into the network, and the network tries to complete or paint the image.
After developing the simple application myself, I had to let others try it and have their feedback. Their feedbacks were great and with that I was able to demo it at GDGCDO DevFest 2017, when Jhai Maandig, Co-Community Manager of GDGCDO invited me to speak about what I have developed. From being a delegate to a Keynote speaker, this is an experience that I will never forget. It was a nerve wracking experience because I knew there were expert Pythonistas out there and I’m afraid that they might judge me for an ugly code which luckily did not happen. I introduced the anatomy of an image, data processing libraries such as numpy, data visualization libraries like matplotlib, and of course, TensorFlow. I also introduced them the basics when importing an image datasets together their batch dimension in code progression.
While I was talking about Machine Learning using TensorFlow, I really hoped to finish my talk because my hands were shaking. When my time ended, and it was time for the audience to ask for questions, one student developer asked me about what to look for in image datasets when uploading. I was saddened, though, because only a few were interested in the topic. I told them that developing your own Machine Learning application is never easy but if you have the willingness to learn, then you probably will be able to develop one in the future.
I can say that my love for learning together with God’s help has helped me learn Machine Learning. I know it is really difficult at first and that there are people trying to disappoint you. All you need to do is to just stand up and prove them wrong.
Actions speak louder than words and you need to show them real results.
This year I’m glad to have been invited to talk in three summits and roadshows and I must say to myself that they’re all great experiences.
Just recently, my team was accepted to be funded by Jollibee Group Foundation in hopes to help our farmers become more efficient in farming. Our team hoped to utilize Image Processing and Machine Learning to analyze crop health and infestation where I am very excited because I get to share my skills as a budding Machine Learning developer.
I believe this is just the start of something big and I know you can, too—only if you’re just eager to learn despite the hardships and disappointments. In the end it’s all worth it and you can finally say to yourself that you’ve done a great job. Have a great new year ahead!
If you’re interested in building your own Machine Learning application but you still don’t have any idea to make one, feel free to e-mail me at email@example.com so that I can give you the slides and the Jupyter Notebook of my demo at GDGCDO DevFest 2017. Photos courtesy of GDG Cagayan de Oro and Lance Bretana.