About Noel Bautista

Hi, my name is Noel and I am a programmer currently located in the SF Bay Area. I’m not fond of job titles / accolades, but I think I’m pretty legit. At work, I do code reviews, get my code reviewed, help plan and estimate new features, play pretend devops, implement new features, and work on proof of concept projects! I work best with a team that I could bounce ideas off of and play ping pong with.

Before I tell you my life story, feel free to get in touch with me through weblog@noel.noynoy.org!

More About Me

Public speaking isn’t exactly my strong suit, but I’ve done a couple of talks at my company, conferences, and meetups! Check out my slides about Data Science and Animated Vector Drawables on Android-

I write Android apps at my day job, and I spend a good amount of time geeking out about Unix.

I consider myself a Unix fan, but I am also a beginner. Just like how everything on Wikipedia leads to philosophy, I think any software engineering discussion leads to Unix or the Unix Philosophy.

My main desktop runs on Arch Linux, a really minimal Linux distro. I have my main development environment pimped out, check out my dotfiles / screenshots on my gitlab!

On the more human side, I like to eat, take photos, and travel.

Projects

  • GunplaHub - A price tracking tool for Japanese robot toys called gunpla. As the sole maintainer, I wrote the restful API backend (Django, Python), the server-side / client-side rendered frontend (VueJs, Javascript), and the price crawler that runs daily (BeautifulSoup4, Python).

  • Standard Notes - (DEFUNCT) A open source notes app. I mostly worked on on the Android client, where I added new features, made app more testable, and I am literally the second contributor to the app. (hacker news)

Public Speaking

  • Using Vector Drawables to make Apps more Interactive (slides)
  • Modular and Dynamic UI for Android Phones and Tablets (slides)

Languages

  • Android
  • Java
  • Python
  • JavaScript
  • React / React Native
  • Go
  • A bit of Kotlin

Reading List

  • The Art of Unix Programming covers the history of Unix, several software engineering case studies, and software design choices. The person who suggested this book to me described it as a “light read”, but I think the opposite. Lots of high-level discussion, little-to-no code. I suggest to read it from start to end.

  • Effective Java is a must for any engineer. It’s grounded in Java, but a lot of concepts lend well to different languages. It covers many rules (referred to as items in the book) that help you write more robust code. My favorite chapters are about immutability and OOP. The book is designed in a way that you could pick up an item and read it on its own. Minor complaint: I wish the author wasn’t as verbose with his explanations.

  • 100 Questions and Answers to help you land your Dream Android Job is deceptively short and looks like it’s just a bunch of Android trivia questions. It kinda is, but I think most questions are actually things you’d have to face at work. Good read if you want some good “oh yeah, there’s that” moments.

  • Android Programming: The Big Nerd Ranch Guide is a must if you want to build Android apps. Even as a professional, I still learn some little things when I re-read parts of this book. Be sure to actually do the sample apps. It like how the book actually suggests patterns that are practical and advocates for good engineering practices. Recommended even if you’re just beginning to learn Java.

  • Libgdx Game Development by Example is in my opinion, the Android Big Nerd Ranch equivalent for Libgdx. Do the sample games, especially “Flappy Bee”. The book has a lot of tricks and optimizations specific to game programming (like Sprite sheets, Texture Atlas, etc). I wish there was more info about Memory Management, debugging, and profiling. There seems to be some info on Libgdx’s official wiki, but it would be nice to have them in this book as well.