MLH Fellowship: The what and how?

Apurva Sharma
Codess.Cafe
Published in
8 min readApr 4, 2022

Diversity has various advantages for projects, firms, and organizations working on them such as catering to the demands of more users, and a better work atmosphere. Although open-source has been prevalent and used by all developers at some point, it is essential to increase women’s access to it in order to create a more diverse and inventive digital infrastructure. MLH Fellowship is one of the best Open-source programs and has been contributing significantly to the representation of Women in Tech.

Know the author:

This is Apurva Sharma, a pre-final year student at VIT Vellore pursuing Computer Science. When I started my journey in college, I was a nervous kid and had no mentorship, that was when I joined Codess.Cafe. It helped me a lot. I love participating in hackathons and was introduced to the amazing MLH community.

In my third year of college, I was part of the Microsoft Engage program, through which I also received a Summer Internship offer at Microsoft. After the mentorship program, I pursued MLH Fellowship and was a part of the Fall MLH Prep Fellowship Program. In this article, I’m going to explain the application and interview process for the MLH fellowship program.

What is MLH Fellowship?

The MLH Fellowship is a 12-week online program that allows students to engage from the comfort of their own homes. The participant should have a high-speed internet connection with video chat capabilities as well as a suitable workstation. There are alternatives for full-time and part-time enrollment in this program. Meanwhile, students in the full-time program must devote 30–40 hours per week for the whole term, while students in the part-time program must devote 10–20 hours per week for the entire term.

There are two main tracks on the program, one is the Open Source program where students get to contribute to organizations like Facebook AI, Adobe, etc, and the other is the Software Engineering track where students get to work under the GitHub organization. The software engineering track’s goal is to offer students with real-world software engineering experience by allowing them to collaborate on projects with MLH’s partner firms.

I got to know about MLH Fellowship from my friends who were a part of the Fellowship before. Applying for the fellowship is a great opportunity and an addition to your resume. Indian students get a stipend of about $1000 for the complete 12 weeks program, while there is no stipend for the 4 weeks program (prep program) as it is a short-term program.

To prepare for the Fellowship program, there are two essential elements important to the application process: the first is the selection of a suitable project and the second is writing essays that convey your passion to be a part of the fellowship, let’s iterate over both these points in detail.

Essays:

There are 2 essay questions asked in the application, we will discuss each question separately and what points are important to mention, and how to enhance your application.

Q1. Why do you want to become an MLH Fellow?

  • The best way to answer this question according to me is to explain your journey in tech so far, what challenges you faced and how you overcame them. Try inculcating your real-life stories as they are more relatable.
  • Start by how technology interested you initially, how and what did you learn in your journey so far, what gave you a push and what did you learn from your mistakes.
  • Don’t forget to mention your achievements and how this experience helped you learn.
  • Mention why at this point of your career you think MLH Fellowship would benefit you.

Keep these points in mind, and remember not to exceed the word limit.

Q2. The MLH Fellowship is a diverse community that welcomes Fellows from a wide range of experiences and backgrounds. What perspective or experience will you bring to the fellowship to strengthen our community?

  • This question tests your ability to communicate and blend with the community, therefore it’s important to portray your contributions to the community.
  • You can mention organizations you are a part of, and how do you bring value to the community.
  • Mention your analytical skills and unique qualities for example good documentation skills can be one, and how it affects your community.

Projects:

First, you should know what kind of projects to choose, and here are the important points mentioned in the application form:

Image credits: UVA Research Computing

Code Sample Requirements:

  • Representative: The sample should be representative of your abilities. If you’re submitting a group project, make sure you contributed a substantial amount of code. Projects that are based mostly on a tutorial aren’t representative of your own abilities.
  • Existing sample: This is code that you wrote for a purpose other than this application.
  • Public on GitHub: Your sample should be viewable on GitHub publicly. If you can’t make the repository public, convert your code to a secret GitHub Gist instead.
  • Multiple files: Your sample should consist of multiple files and be of substance. It’s hard to have a conversation about a single function.
  • Not too large: It’s difficult to have a conversation about a mono-repo with dozens of microservices. It should be immediately clear what you contributed to the sample. Dense frameworks with lots of boilerplate such as Django or Laravel don’t usually make for good code samples. Lightweight frameworks such as Flask and Express are good examples.
  • The real problem: Your sample should solve a real problem or accomplish a real goal. While some class projects will meet this criterion, most won’t. There’s nothing wrong with the binary search tree you wrote, but it’ll be hard for your interviewers to get to know you through that kind of sample.
  • No Jupyter notebooks: We need to see your ability to write a project that an end-user can use. It should be deployable. We don’t accept Jupyter notebooks or other exploratory code samples because it’s difficult to have a conversation about your coding skills with these.

Examples of good code samples:

  • A web app with JavaScript
  • A webserver (Backend only)
  • A mobile app
  • A desktop app
  • A command-line app

Examples of poor code samples:

  • Jupyter notebooks
  • Tutorials
  • Simple static sites with no logic (i.e. without JavaScript / similar)
  • Algorithm implementations / competitive coding solutions
  • University or Bootcamp coursework (as these often contain too much boilerplate and aren’t representative of your own abilities)

Reference: https://fellowship.mlh.io/

>> Additional instructions for full-length Fellowship programs:

If you are applying for a track-based Fellowship (e.g. Open Source or Software Engineering), we highly recommend that you submit a code sample using the programming language of your most preferred track that you are applying for. For example, if you’re applying for a Python (Web) Open Source Fellowship, your code sample should be written in Python and be a web application.

>> What to do if you don’t have an appropriate code sample?

If you don’t have a relevant code sample, our best advice is to attend one of the upcoming MLH hackathons and submit whatever you build there. MLH has hackathons taking place every weekend of the year and they are open to both students and professionals.

>> What points to remember while writing the answers about the projects?

  • Mention the tech stack clearly and explain how did you come up with the idea, it will be great if you created the project during a hackathon or a project with a unique feature that would appeal to someone and is user-friendly.
  • Make the README of the GitHub Repository clear and explanative, here’s a README you can use as a template: https://github.com/Apurva-tech/unite
  • Explain the features of the application and explain the difficulties you faced and what you learned from the experience.

My Interview Experience

There are 2 interviews if your application is approved for further consideration, the first is a phone screen and the second is a technical interview. After the selection of the application, you will get a mail like this 👇

The first interview is a phone screen interview. It focuses mainly on your communication skills and how you present yourself. Be sure to mention your journey and achievements. This is a 15-minute interview, and make sure you have a good internet connection which is checked under the A/V setup criteria of selection.

The second interview is a technical interview which is also a 15-minute interview, where they ask you about the code you have submitted, in my case I wasn’t asked to explain the code line-by-line but it is a possibility that you’ll be. Focus on selling the features of the application and how your application is optimized and what principles of software engineering you followed.

The mode of both interviews depends on the interviewer, it can be either on Google meet or Zoom.

Points to remember:

There are a few points you must keep in mind if you get selected for the interview:

  • If you have a problem in scheduling the interview, mail them at fellowship@mlh.io and mention your problem, it will take a maximum of 3 days to hear back.
  • Having a stable internet connection during the interview is very important, make sure you have a consistent internet connection.
  • For the Indian students, there can be some issues in understanding the accent of interviewers, you can mention it to the interviewer they can make sure you understand everything.
  • Prepare your answers to the questions of interviews beforehand, and remember confidence is the key!!

I hope this article helps you ace your interview and application process, if you have any further questions you can reach me on my social media handles: Linkedin, Twitter, Instagram. You can check my work on Github and all blogs at Blogs. Happy Learning! ✨

If you found it helpful; please hit the clap button, leave a comment, and do follow Codess.Cafe for more such articles.

Codess.Cafe: LinkedIn | YouTube | Website | Medium | Twitter

--

--

Apurva Sharma
Codess.Cafe

Engineer @ Microsoft • Technical Writing • Web Development • Data Science