Hey there! Welcome to my corner of the internet. I’m Mukul, a Master’s student at the University of Cambridge, and I’m joining Facebook full-time as a Software Engineer in August 2021.
My goal with my blog and YouTube channel is to provide free educational resources to share what I’ve learnt through my degree, side-projects and industry experience. I have also run in-person and virtual workshops on various aspects of software development - see below! If you would like me to give a talk or present a workshop on any of the topics covered in a) previous workshops b) my blog or c) my YouTube channel, please don’t hesitate to reach out on Twitter!
I’m particularly interested in trustworthy machine learning - tackling issues like privacy, fairness, explainability and security of machine learning models. I first learnt about the intersection of machine learning and privacy through a contribution to OpenMined, and I now explain research in this area on my YouTube channel.
My Master’s degree contains modules on:
- Principles of ML Systems (covering topics such as federated learning, model compression, and neural architecture search)
- Bias in Datasets (and studying the effect of bias in large NLP models)
- The role of tech in society (covering policy topics such as data protection, privacy, platform power, algorithmic accountability, and the challenges of IoT)
- Human-Computer Interaction with ML - looking at research into intelligent user interfaces, mixed-initiative interactions and interpretability of AI
- Causal Inference - covering topics such as counterfactual fairness
- Reinforcement Learning
- Category Theory (this is related to my previous interest in programming language theory - see section on Bolt)
Previously I designed my own programming language Bolt: a Java-style concurrent object-oriented language, whose type system prevents data races (a class of concurrency bug also prevented by Rust’s type system). Links to the repository and the accompanying dissertation.
- I was awarded the G-Research prize for the best dissertation in my year at Cambridge.
- I was invited to give a talk about Bolt to the programming language group at Facebook during my internship.
- Bolt made it on the front page of Hacker News. There’s a more technical discussion on r/ProgrammingLanguages
- I wrote a series of tutorial posts explaining each stage of the Bolt compiler, and the LLVM tutorial was received particular warmly, ranking #2 on Hacker News, and receiving ~590 upvotes on r/programming and ~140 upvotes on r/ProgrammingLanguages.
One of my side interests is working on my design ability. I was fortunate to work alongside designers during my Facebook internship, and since then I’ve been learning Figma and learning about HCI principles during my degree. I’ve been experimenting on this very website. It’s a work-in-progress: this page hasn’t been fully fleshed out, but you can see the things I’ve been learning in this Twitter thread (below are a couple of samples):
As a core member of the Hackers at Cambridge society, I ran workshops on areas of software development for other students, with typical attendance of ~20-30 students, rising to > 50 students for more popular topics (e.g. deep learning). Topics include:
Deep Learning (3 part series) [workshop notebooks]):
- Intro to Neural Networks [recording]
- Convolutional Neural Networks [recording]
- Recurrent Neural Networks [recording]
Web Development with React (2 part series, run virtually) [demo live-coded during workshop]:
- Intro to Git [recording]
- Contributing to Open Source (not recorded): an extension of the Git workshop specifically for open-source.
I’ve enjoyed participating in hackathons during my time at university. Highlights include:
- BlackRock Prize for best eco-friendly hack at HackCambridge 2020. Our project EcoScan let you scan food items to calculate your carbon footprint. My hackathon teammate Michael wrote a blog post.
- Finalist HackCambridge 2019 (top 6 of 68) - our project Out of the Vox generated mind-maps directly from speech.
- Participating in an internal Facebook hackathon on the 3rd day of my first internship with 3 other interns. This was memorable because we were able to prototype a News Feed feature (details under NDA) despite a steep ramp-up (learning the language Hack and acquainting ourselves with the gigantic codebase!).
One of my first hackathons was a Cambridge GameGig hackathon (making a retro game) back in 2017. I enjoyed it so much I started organising hackathons too!
At university, I organised a few 12-hour hackathons run at the end of term - typically attended by ~50-80 students.
For GreenHack I was head of publicity, assisted participants with the Azure IoT kits provided and was part of the judging panel on the day.
I then became the lead organiser for subsequent hackathons: GameGig 2018 (One-button theme), and GameGig 2019 (Countdown theme). This involved liasing with the sponsors, booking the venue and sorting out food/drink, and actually running and judging the events on the day.