September 5, 2019
This past May, I attended Facebook’s F8 conference in San Jose, California. I had been wanting to go to this annual conference for developers, creators, entrepreneurs, and innovators for a long time. This year’s theme was “A conversation about technology and human connection”, which was really interesting to me as it pointed to Messenger and Virtual Reality, and Facebook’s new emphasis on groups and events.
When the leadership team at Radical I/O offered to help me attend in order to support my career development, I jumped at the chance. Among other things, I particularly wanted to learn about Facebook’s build tools and see what we could bring back to use at Radical. Facebook creates a lot of tooling for mobile and, as an iOS developer, I was looking forward to not only experimenting with the new tools, but to talk to the engineers that had built them.
Facebook is committed to promoting diversity and inclusion in their workplace, and this extended to the F8 conference. They shared the demographic make-up of expected conference attendees in an effort to show the upward trend in representation: 28.7% of attendees identified as women, and 19.3% identified as underrepresented ethnicities. Although I feel there is still a long way to go in terms of balance for women and people of colour, it was encouraging to see that Facebook is making an effort to address these issues.
This conference was a great opportunity to immerse myself in the learning experience, network, and demo some new products. I enjoyed the hands-on tutorial, iOS Developer Automation with Facebook Engineers Callum Ryan, Lawrence Lomax, and Zeyad Salloum. It was a good intro to using “idb” (iOS development bridge), which is an open source command line interface for automating iOS simulators and devices. It seems like a very promising tool, as it exposes controls in the cli that you would only have access to through the Xcode UI. I also really liked the session, Getting Started with Infer: Find and Fix Bugs in your Code. Infer seems like a serious tool, as it checks for null pointer dereferences, memory leaks, coding conventions, and unavailable API’s.
One of the technologies that I was most excited to learn about is Buck. Buck is a build system developed and used by Facebook. It encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages across many platforms.
It is built for monolithic repositories that can build code, run unit tests, and distribute build artifacts across machines so that developers can spend less time compiling old code and more time writing new code. It leverages the fact that all the code is in one place in order to intelligently analyze the changes made and build only what’s new. Since it is built for speed, it also takes advantage of the multi-core CPUs we engineers have in our laptops, so that multiple modules can be built at the same time. Buck can even run unit test targets at the same time!
Buck speeds up builds, adds reproducibility to builds, gets correct incremental builds, runs test bundles in parallel, merges conflicts, and understands dependencies. It also integrates with an IDE, which increases productivity. Buck is currently used by Facebook, Groupon, Uber, AirBnB, Lyft, Snapchat, Slack, Apple, and Dropbox - to name a few!
The F8 conference was such a great experience. It was cool to meet developers from all over the world, but the real highlight for me was learning about Facebook’s recent redesign around groups and events. I think it’s a great move because it helps people expand their social circles and find new communities. It also aligns well with the theme of the conference this year, “A conversation about technology and human connection”. This idea of technology having a positive impact on human connection is very important to me, and I’m glad to work for a company that shares those values.
At Radical I/O, we have been working on an AI-powered conversational assistant called CityAssistant, which offers self-serve access to city information and services 24/7/365 on multiple channels, including Amazon Alexa, Google Home, mobile apps, website chat, and of course, Facebook Messenger. CityAssistant runs on SimpliCity, a cloud-based smart city platform that supports citizen services and integrates with business processes and systems. Build automation is a big part of our development fabric at Radical I/O, and as we roll out Simplicity and CityAssistant, we are on the lookout for tooling like Buck to speed up our builds and improve reproducibility.
If you want to learn more about CityAssistant, SimpliCity, Facebook’s Buck, or hear more about the F8 conference, please reach out! I’d love to show you a demo and to talk technology!
--
Radical I/O is a people-first technology consultancy & lab in Vancouver, BC that specializes in data-driven enterprise software development with highly performant API architecture at its core. We work with government, ethical enterprises, and education organizations to build impactful technology with purpose. Our local, in-house team of experienced solution architects, software developers, and UX/UI designers takes pride in establishing lasting relationships by providing exceptional service, value, and quality.
Join our community by subscribing to Radical Ideas.