Cracking Google Summer of Code 101

Google, one of the world’s leaders when it comes to technology, hosts a global program every year to instill the values of better programming, collaboration, and development in university students and organizations. Dubbed the Google Sum

Cracking Google Summer of Code 101

Summer of Code, it is aimed at getting the concepts of open source deep into the minds of the creative thinkers of tomorrow. With immense exposure and attractive incentives for GSoC scholars, it represents an opportunity to learn, grow, and contribute.

Getting accepted into GSoC, however, is one of the toughest nuts to crack. Let us take a deeper dive into how GSoC actually works.

Turning the gears at GSoC

Every year, organizations and firms all over the world partner up with Google to be a part of the Google Summer of Code, which usually takes place in the summer vacation times of major universities all over the world. Organizations post their projects, bio, and requirements for all students to see and decide which one to go for. These projects range from developing mini-games for a website and building web apps to delving into the deep world of machine learning and artificial intelligence.

To get selected by an organization, there is only one mantra- to contribute. Contribute here means to play a part in the organization codebase as much as possible. This can be by fixing the simplest of bugs, or helping the organization upscale projects critical to their operations. The procedure is a bit different than what students would typically consider as ‘coding’, but don’t worry, we’ll dwell on that more in the coming sections.

Once you get selected by the organization of your choice, you have the entirety of your summer vacations (3 months) to work for them, 6-8 hours a day, learn, code, develop, and strive to contribute to the organizations. The incentives and stipends are ridiculous, to say the least, and the tag of being a GSoC scholar adds some much-needed sheen to your resume!

Let’s get down to business, now. How to actually get into the GSoC program?

Getting in

Now comes the important part- getting accepted to the Google Summer of Code. It is difficult, but not impossible. Let’s get started with GitHub.

GitHub is basically a repository of open source code and projects posted by developers and organizations to work and collaborate with each other. All organizations listed in the GSoC program will have their industrial code available in GitHub. 

Getting into GSoC involves a few basic steps. Here’s what you need to do in order to crack the GSoC-

  • After you pick an organization, follow them on GitHub, and pick a project or application. View the issues posted related to that project, make a copy of the project on your own account, and start working on it.
  • After you make whatever changes you want to your own copy, open up a pull request. This is a fancy term for asking the organization to accept your changes and integrate them with their own source code. This is basically what a contribution is called. You get more accreditation if you report some issues, too. 

The final step- drafting the proposal

This right here is your Hail Mary, this is what will make or break your fate. Once you have everything it takes for you to believe that you’re the best person to continue contributing to the organization, you have to convince the firm about the same. Conveying that sentiment in a well drafted proposal is key to getting accepted. 

Here’s some crucial tips to nailing your proposal

  1. Use technical jargon in the right places. Don’t sound too pretentious while describing your contributions, and include a proper timeline highlighting all efforts.
  2. Make sure that your proposal highlights the project that you intend to work on, and how you wish to proceed. This is your only chance to impress the higher-ups at the organization, so don’t let it go to waste!
  3. Also develop a “motivations” section, which highlights your interest and curiosity in the organization’s projects, what it does, and how you intend to carry forward that passion.

That’s about it! With a pile of effective and valuable contributions, an eloquently-drafted proposal, and a will to succeed is all it takes to make your way into the GSoC. Cracking the GSoC 101 now concludes- don’t wait, fire up GitHub, start contributing, and set off on the journey towards GSoC stardom!

Tips and tricks on how to succeed in Kaggle competitions

You are probably aware by now that machine learning is the future of AI and business culture. Many tech firms are already starting to integrate machine learning into their systems. Since this ‘thing of the future’ is gaining such popularity, you might ask, ‘How can I be better at it?’ Kaggle competitions can be the answer for you! Like Hackerrank, Codechef, etc., Kaggle is a platform where you compete with other participants for a prize. 

The difference is: Kaggle focuses on data science and machine learning. It’s a perfect platform for anyone passionate about machine learning! However, winning a Kaggle competition is not going to be a cakewalk. You have to really prepare and plan for it to succeed. Here are some tips to help you get your first win in a Kaggle competition:

  • Practice feature engineering and data preparations

Preparing the data and engineering the features are the critical data-related factors in machine learning. Algorithm selection is also very important though not as important as feature engineering and data preparation. So, use your common sense or intuition and figure out what actually works and what doesn’t work. You can create a cross-validation framework to get a reliable estimate of your errors. Work on them to minimize the chances of committing future errors.

  • Choosing the right kind of competition

Choosing-Career-1170x780

source

You may have heard the saying ‘Confidence is the key to success’. While that is true, the saying does not talk about building your confidence. The best way to build up your confidence is by taking ‘small’ steps towards a big success. It’s like a video game where you start acquiring certain skills while playing the first level, and then, level up when you master them. With Kaggle competitions, it’s best to start small, that is, from Level 1. Research and find competition with fewer competitors. These competitions may have lesser prizes than the bigger and more famous ones, but they are great for building your confidence levels. Eventually, you may move up to the high-valued and famous competitions. 

  • Don’t give up

Three things that can help you win a Kaggle competition are: Persistence, Constant learning, and Luck. While persistence and learning are within your control, you cannot control the final ‘Luck’ factor. In some competitions, the difference between the 3rd and the 4th place has been a mere 0.001%. So, if you aren’t ‘lucky’ the first time, don’t give up. It will be heartbreaking to discover that you ended up at a low rank in your first Kaggle competition. But keep participating in different competitions and keep learning. Read the latest and relevant literature on machine learning and keep your updated. Rectify your mistakes and start applying what you learn in your future competitions. 

  • Forming a good team

Businesspeople-around-table-putting-together-large-puzzle-team-building-680x350

source

It’s critical to have passionate people on your team. So, switch on your radar and start searching for proper teammates. First ask yourself: What are the essential characteristics of a team member? Some of the general ones are a) They should support each other. b) They should learn from each other. c) They should know and be good at what they are doing. The chemistry shared among the team members can be the difference between winning and losing. Also, at times, look into the mirror and judge yourself: Are you a good team member yourself? If you find any flaws in your self-analysis, work on them. 

  • Don’t stress it

Machine learning can be quite exciting if you make it so. So, don’t start stressing out and make it a tedious task. Be passionate about learning more. Think of these competitions as a fun challenge. Don’t worry about getting a low rank – nobody is there to judge you. Don’t be too hard on yourself if you fail. Just dive in the competition and accept it as a wonderful experience where you can learn and make new friends.

  • Take it as a learning experience

post-1524836187-image_fileuser_id_2

source

You may not win your first Kaggle competition (unless you are a born genius in machine learning) nor your second one, but you can definitely learn something from participating in them. Kaggle competitions push you out of your comfort zone and make you experiment with your current knowledge. This expands your knowledge base and takes your skills to the next level. If you are stuck while practicing, don’t be ashamed to google out basic tricks and tips.

The two main things that will make you win the Kaggle competitions are: Persistence and constant learning. To furnish your skills and expertise in machine learning, you can also go for machine learning courses provided by CodingNinjas. So, learn from your failures without taking them to heart and give your best during the competition. Best of luck.