Make the jump from self-taught coder pupil to employee
By: Leigh Silverstein
Tags: Programming, Software Development, Startup, Tech, Education

Hello World! The first beta version of Menternship was released today to the general public. It’s been about a month in the making, and for those who haven’t skimmed the original article, Menternship is a platform that connects professional programmers with side projects to new programmers who are looking to break into the industry. Professional programmers (mentors) get volunteer programmers working on their projects, and new programmers (interns) get more hands on experience.

The beta release of Menternship requires a LinkedIn account for a couple of reasons. It’s a simple way of verifying the qualifications of the mentors, and because recruiters and human resource employees generally check LinkedIn accounts to look over connections and verify resume claims, it pushes volunteers to maintain a public profile that will help them get a job faster. In the future we may allow other sign up options.

We’ve included a single type of internship to start. The requirements are 40 hours of work in two months or less, coupled with an on-boarding experience that includes at least one hour of pair programming, and excellent technical documentation for the project.

For legal purposes, it’s important to note that Menternship is not an exchange of work for education. It is an opportunity to volunteer in a setting where you will be exposed to the technology stack that you are interested in becoming employed in. We call these volunteer positions on Menternship internships, but this is just site specific language. The hope from any volunteer experience is that you’ll help someone out, and have a positive experience along the way. Menternship cannot guarantee that the experience will be educational or even worthwhile, but if the experience is poor, you can always walk away.

Keep in mind though that managing programming interns is not a simple task. Often times the intern is a drain on resources as they require the attention of experienced developers to bring them up to speed. Teaching interns is also a skill on its own, and many of the experienced programmers who join Menternship will be learning about managing and instructing programmers for the first time.

This is a new kind of experience for everyone, so lets have a little patience when approaching Menternship from either side. There are a couple of tips though that we’ve developed to improve the experience for both mentors and interns.

Setup excellent lines of communication. Email is the most primitive form of remote communication, so to get the best experience you’ll want to use a messaging service like Slack or Discord, and do lots of screen sharing and voice or video calls using services like Skype or Google Hangouts. First impressions matter, but so do first experiences looking and trying to run new code. As a project owner, you might think your application is well documented and easy to understand, but it’s best to make sure that your new interns have a positive first experience by scheduling a pair programming session to get them started. Not only will this strengthen the relationship between you and the intern, it will ensure that if a problem does occur on first startup, you’ll be able to understand why it came up and address it immediately. Ask questions, and make sure that everyone understands that asking questions is not just allowed, it’s encouraged. If programmers aren’t asking questions, that’s usually a sign of poor communication, and poor communication leads to a bad experience for everyone. So ask questions, and respond to those questions in a timely manner. Don’t forget that the ultimate goal for these interns is to get hired as a programmer, so when an internship does end, make sure that the interns are also in a better place publicly. Leave them a recommendation on LinkedIn, make suggestions about different programmers to follow through different platforms, give them projects that read well on resumes when completed, and of course, offer to act as a reference on any future job applications as needed.

Menternship is in its infancy right now, and what I would call barely MVP. We’ve got a lot of features on the horizon that hopefully a couple of interns will be able to contribute to. The first feature is a rating system. The only rating system right now is the number of interns an internship has attracted, and the status of those interns. A good project will have either active or completed interns, and a bad project might have some combination of fired and will not complete interns. So that being said, there’s even more of a mutual interest in having a positive experience, as bad experiences reflect poorly on both parties.

In App Notifications. Right now we’re relying entirely on email to notify members of important events, like new applications, accepted applications, and completed hours. In the near future we’d like users to be able to rely on an in-house notification system similar to LinkedIn, Stack Overflow, and so many others.

Different types of internships. Right now we have a single official 40 hour internship, but in the future we’d like to introduce shorter lightning internships (a possible use case would be for experienced developers looking to gain experience with unfamiliar technologies), longer format internships, and pair internships (where internships are completed as a team of two).

If you’re interested in the Menternship project, you can signup today and give this article a clap. The project is completely open source, and viewable at https://github.com/Menternship. If you want to discuss the project please join us on Slack, or send me or the official Menternship twitter account a tweet. Thanks for reading.