GSOC – Time to pick an Org!

BLOG_GSOOCWith Google Summer of Code 2017 Mentor Organisations just announced, students are (and should be) in a frenzy to pick and get familiar with an org of their interest and start contributing as soon as possible. To help along the matter, this post aims at enlisting some of the most popular organisations based on the technology used in their projects. A quick look through should be good to let the students know the most popular choices!

CODING-NINJAS-ANDROIDZulip : Zulip is a powerful group chat application. The server is written in Python with Django; you could also work on cross-platform mobile and desktop apps, or our many integrations

Systers, an Anita Borg Institute community : Increasing the number of women in computing fields and technology.

FOSSASIA : FOSSASIA is the premier Free and Open Source technology organization in Asia for developers, designers, start-ups, and contributors.

Mifos Initiative : FinTech non-profit leveraging the cloud, mobile, and open source community to deliver digital financial services to the world’s 2 billion poor and unbanked.

python-coding-ninjasAerospaceResearch.net : We are AerospaceResearch.net, a small team of space makers solving space problems together with KSat-Stuttgart e.V. and the Cosmic Dust Team.

aimacode : This project provides implementations of the pseudocode algorithms in the textbook “Artificial Intelligence: A Modern Approach,” along with tutorial examples of algorithm usage.

BeagleBoard.org Foundation : Through Linux and other open source tools, BeagleBoard.org seeks to make enabling computers to interact with the physical world as simple as coding a web page.

Copyleft Games : We produce libraries, engines, frameworks, and development tools for producing games, especially as part of educational environments.

Python Software Foundation : Python is a popular high-level programming language used by scientists, developers, and many others who want to work more quickly and integrate systems more effectively.

python-django-coding-ninjasDjango Software Foundation : Django is a high-level Python Web framework originally designed to build high-performing, elegant Web applications quickly.

Cadasta : Cadasta is working to build a future where, through technology and community partnership, land and resource rights are universally recognized and protected

CloudCV : CloudCV is a young open source platform to make AI research reproducible by making it easy for researchers to build, compare and share state-of-the-art AI algorithms with everyone.

C++-coding-ninjas

KDE : The KDE community produces Free and Open Source Software and brings together artists, designers, programmers, translators, users, writers and other contributors from everywhere.

Mozilla : We’re Mozilla, the proudly non-profit champions of the Internet, helping to keep it healthy, open and accessible to all.

RoboComp : RoboComp is a cutting-edge open-source robotics framework providing tools to easily create, modify and manage robot software components.

SymPy : SymPy is a Python library for symbolic mathematics.

The Linux Foundation : The Linux Foundation is a non-profit consortium dedicated to fostering the growth of Linux. Hosting the Linux Kernel. OpenPrinting, Linux Standards Base, SPDX, …

ruby-coding-ninjas

Ruby on Rails : Learning to build a modern web application is daunting. Ruby on Rails makes it much easier and more fun. It includes everything you need to build fantastic applications.

Ruby Science Foundation : SciRuby is oriented towards providing science and visualization infrastructure for the Ruby Programming Language. We develop and maintain several libraries for this purpose.

GSOC-CODING-NINJAS

There are many more organisations with a much larger number of projects present that should be explored but the above list is good if you are a beginner and unsure of where to start. For more information on getting your feet wet in the wide pool of Open Source and GSoC, refer to http://blog.codingninjas.in/2017/02/05/attempting-google-summer-of-code/.

This list was curated from my previous experience as a mentor in GSoC 2016 with Systers, An Anita Borg Institute, an experience I hope to repeat this year.

Feel free to leave any comments, questions and doubts in the comments section below!

Those 4 years are not just for getting a job! – Things a collegiate should know

College, the 4 important years of our life which decides our future.
It’s a mad competitive world out there and college prepares you for the run. Securing a job in the final year of college is the ultimate dream of every college student, rather perceived as one. We behave like programmed robots making our way to ‘a secured future’. But are these 4 beautiful years only to sit and study for a job? We are not born to pay bills and die. Similarly, a job is not the final destination to those wonderful 4 years of life!
Think deeper, let your mind fly and you’ll realize that there are limitless possibilities to what you can learn and achieve than merely a job from college.
Step out of the library: You might be a bookworm, get a huge GPA and still not be fit for the top companies. A holistic development is what the companies care about today. Everybody studies, what different did you do? It is really important to explore that ‘other side’ of yours. There is a life out of libraries and classrooms, let it unwind.
bar-01
Acquire skills outside your curriculum: Your first and foremost compulsion is to fill your schedule with the subjects of the semester. But think outside the box, there are so many things to study and explore. Learn a bit to code, hone your problem-solving skills, learn a foreign language or stock trading or whatever interests you. Not just your domain subjects but also your life skills shape up your real world.
bar-01
Learn to Code- Learning to code is the best gift you can give yourself. There is an ocean of open source resources that you can learn from and become a self taught developer. Break the myth that only Computer Science graduates can code. Today self taught coders are swiping away more high-profile jobs at megaliths like Google, Facebook, Amazon and Flipkart than ones with a Computer Science degree. Learning to code is not that big a deal, all you need to do is to take that first step. Apart from securing a decent job, learning to code enhances your problem-solving abilities and general rhyme and reason in life. We at Coding Ninjas have had the pleasure of helping over 2500 students in learning to code in different domains and secure over 400 jobs in top corporate companies. All they did was taking the right step, you can do that too.   
bar-01
Focus on your verbal and nonverbal skills – The major concern of the big shot firms today is the lack of presentation, written and verbal skills in the millennials. Grammar and public speaking do not come in easy. We ignore this for the most of our college life and hustle in the last year. The result? Average vocabulary, grammar and soft skills.
bar-01
Utilize the campus opportunities: Sports, Music, Dance, Event management and what not. Your university provides you with ample opportunities, the only problem is to take a step forward. Many people shy away from it, few think it’s useless and despise the people who are into this. But take a moment and think out loud, isn’t something better than nothing? Is sleeping in a dorm room better or organizing a hackathon? You decide.
bar-01
Get an internship: Apart from giving you industry exposure, an internship gets you ready for the real corporate world. You meet new people, visit new places and get acquainted with the work life. It shapes up your personality and domain knowledge. An internship should never be decided based on what you’re studying right now. Rather it should be an escape to figure out what you actually want to do future.
bar-01
Entrepreneurship: Entrepreneurs are born and brought up in the hostel corridors. Taking that one step to do something changes your life. Everyone wants to be a Steve Jobs, the least you could do is try. Working in minimal resources gives rise to ‘Jugaad’ and you understand the life better. It opens your eyes to the dimensions unknown and the lessons will stay with you for life. Develop an app, monetize an idea, join an NGO… make a difference and your life will be different. College life is the best time to take a step into entrepreneurship. You have resources galore and the opportunities of networking are just unimaginable. Moreover the entrepreneurship cells provide you the guidance and support required to build your own company brick by brick. Dream, run and fly!

Recursion (The Good, the Bad and the not so Ugly)

Recursion is a topic most beginner programmers fear and when you get the hang of it, it works like magic (Congrats! Not a noob anymore). When someone introduces recursion, they say it’s basically a function which calls back itself, and your brain goes like WHAAAAAT??

So here’s this GIF which not only gives you a complete mindfuck but also a visual description of what recursion is. Too scary huh? Well, not really. Once, you get an idea of how recursion works and  which base case to work with, it runs smooth as ice. Sometimes, you won’t even be able to fathom how your code worked when it did.
Well, the mantra for recursion is ” Let recursion do the work for you”.

THE GOOD

1. For all those people who want to make their code look pretty as a picture, recursion is the best way to do that. Recursion makes a code more compact, readable and so very elegant.
2. If you can master recursion, it can turn out to be your best friend. Solutions using recursion are easier to strike and code. It also avoids redundancy of code, and your codes are easier to read and maintain.
stackbuddies

3. Three magic words: tail call optimization: Some functional languages implement this wizardry. So basically, what happens is, if a function’s return expression is a result of a function call, the stack frame is reused instead of pushing a new stack frame in the call stack. Sadly, only a few imperative languages have this wizardry.

 

The secret magic of tail call

THE BAD

A lot of programmers avoid using recursion and believe that it is less efficient than it’s iterative counterparts.

 1. Recursion can lead to the perils of stack overflow. To understand better, let’s look at the steps for functions call:-
  •  space is carved out on the stack for function arguments and variables.
  •  arguments are copied into this new space
  • control jumps to the function
  • function code runs
  • function results are copied into the new value
  • stack rewounds to its previous position
  • control jumps back to the caller
Mostly, all of these steps consume more time than their iterative counterparts. Therefore, recursive methods are relatively less efficient in those cases.
recursionagain
2. More importantly, when most programs start, they allocate a single chunk of memory to the stack, if that memory is used, the entire program crashes due to stack overflow.
3. Each function call eats up a lot of space. That amount of space isn’t recovered until the function returns. Iterative methods do not suffer from such problems.
r_219071_tbWYT

5 reasons to be at CodeKaze

Code-Kaze is back with its third edition and this time you wouldn’t want to miss it for anything in the world! It’s triple the fun, challenge and prizes. Code-Kaze is an online coding challenge with a twist and you need to attend it to experience the awesomeness. Why should you attend it, you ask? Ninjas ahoy! Here are the top 5 reasons to participate in Code-Kaze.
Reason_1-01-01
  • Showcase your deadly Ninja skills: You have been sharpening your swords, it’s time that you strike. Put in your coding moves and stand out of the crowd. Competing in online challenges not only certifies your zest for coding but also aids in your portfolio building. Want a final revision before getting to the battle ground? Check out our ‘Challenge of the day’ here.
  • Race against time: Everybody runs the race but only the fastest wins. Code Kaze is not just about solving the problem statement but solving it faster than anybody else. Your brain and those code hands need to move at an equal pace. The fastest fingers will be the first!
  • Hone your skills: Attending the challenge can hone your important industry-specific job skills. Your problem-solving abilities and brain teasing levels will be skyrocketing. Every industry looks for a candidate who has sharp ideation and coding skills.The more you compete, better you become.
  • A truckload of Prizes: A Ninja’s dedication is worthy of a reward and we’ve got amazing rewards stacked up for you. Cash prizes worth INR 10,000 is what the winners take away. Oh yes! And besides the cash, there is a truckload of goodies as giveaways.
  • A rewarding experience: Code Kaze is an extremely rewarding experience! Let’s face it -creating something from scratch isn’t that simple. And there is no greater feeling of accomplishment than coding your heart out to see your solution come to life in just a matter of few hours. Not to mention, there are prizes galore and Ninja lessons to take away.
coding_ninjas_5
If it does not challenge you, it does not change you. Get rolling ninjas, register now!

A Complete Guide to Competitive Coding

What is competitive coding?
First things first, you must know what competitive coding means. It’s like a mind sport over the internet or LAN. A problem statement is thrown to the coders with provided specifications and guidelines and ‘Atta Boy!’ people get to work. Companies like google and facebook encourage these events for their employees on a regular basis. Competitive coding is a fad among the collegiate and graduates. And websites like CodeZenSPOJ, Codechef, and others are taking it to a whole new level.
What kind of problems does it have?
 
It consists of pragmatic usage of classical algorithms and data structures. Your creativity and problem-solving skills are what come into play next. A basic knowledge around things like Complexity Analysis and Discrete Mathematics is required to become a good problem solver.
The problems rotate majorly around:
  • Dynamic Programming (Knapsack, 8-queens, Traveling Salesman)
  • Backtracking (8-queens, Sudoku)
  • Greedy Algorithms (Matching Pursuit, Egyptian Fractions)
  • Sorting (Binary Search, Merge-sort)
  • Search/Path-finding (Breadth-First Search, Depth-First Search, Dijkstra)
  • Network Flow Problems (Minimum Cut, Max Flow)
  • Combinatorial  (Permutations, Calendrical Calculations)
  • Geometrical (Convex Hull, Minkowski Sum)

How can I get good at it?

They say that you need to strengthen your base notes to hit that high octave. Don’t you? So let’s get you started with some basic preparation here.
  • Get basic coding and hands-on knowledge on C, C++ or Java. These are the basic languages allowed in any programming competition. Check out our website for courses that can make you a coding rockstar!
  • Get hitched with an online judge. He will be the critic and guide on your road to code. CodeZen, HackerearthSPOJ, Codechef, Top coders are the ones recommended.
  • Read, practice, implement. There is an ocean of resources on the internet, all available for free. All you need to do is sit and code!
  • Practice as much as you can on popular topics like Graphs, dynamic programming, number theory, arrays etc.
  • When you’ve practiced enough, all that’s left is to participate. Participate in competitions as much as you can. With our Coding Ninja challenges, you can constantly workout and develop those coding biceps.
  • Read and react. Review the codes by top coders, understand their approach and try to outdo it. This is a very important aspect as you get a cheat sheet to what top coders do and how you can better your methodologies.
  • DON’T GIVE UP AND DON’T GIVE IN! I say this, because there is a difference between the two. You should be persistent and sincere no doubts about that but do not get stuck. The moment you feel that’s happening, take a break, get a beer/green tea 😉 or listen to your favourite song. Get back to work and if it still doesn’t work, move on!
Don’t wait up, pick up your Ninja code swords and cut through the world of competitive coding today!

Attempting Google Summer Of Code

The easiest way to get started with GSoC is to just get started! It is not rocket science. It is not even difficult. The process in itself not at all hard or demanding but it is made elusive by the amount of talent and hard work it sees from the students who participate. The aim of the post is to not let any misunderstanding about the the process, or the assumption that the projects to be done, are difficult, hold back a student from trying.

The projects in GSoC are usually simple, well majority of them are. Complex projects do exist but plenty of projects can be picked up by dedicated beginners and be completed successfully. Even if you feel you are not qualified enough,give it a shot as soon as possible, don’t wait for next year. Being rejected (if it happens) in the first attempt will teach you a lot more than the year of waiting will.

So let us start and answer the first question, where to start?

Disclaimer : I will be using the project I mentored in GSoC 2016, PowerUp by Systers to illustrate the process. Also the guide will apply more on development/coding projects under GSoC as I am not well versed to the process of applying for research/scientific projects that exist.

1) Pick an organization (or a project)

0-L7EBPfvPEq4yucK8

To be (preferably) done before the organizations are officially announced

This is sometimes the easiest part, sometimes the hardest.

First things first, what are these organizations? The organizations participating in Gsoc are open source organizations that put up their entire code-base for the developer community to share and build upon. Open Source means just that, open for all. This is not the same as free software but that is beyond the topic of today.

Your task is to go ahead and browse the 150+ organizations list of GSoC(previous edition) and pick one that catches your eye. Or you can browse projects according to your preferred technology stack and pick one from there. For example, say you were to search Android, you would come up with a bucket loads of projects and say you picked PowerUp.

While picking an organisation early you run the slight risk of that organisation not participating or qualifying for the next edition so place your bets safely (preferably an organisation that has had at least 3-4 projects in the previous edition).

— Some Technical Jargon —

Before we move to the next step, you have to know what contributing to a project technically means. It can involve various aspects like : a) Creating an Issue. b) Sending a Pull Request 3) Documentation. 4) So on….

Don’t feel dizzy just yet, explanations are on the way.

For beginners to version control, you would need to learn the ins and outs of Git and Github and how to work on collaborative projects. Refer:https://github.com/chhavip/Git-Guide to get started off the right foot.

A) Creating an Issue.

For this you need to go through the project (run it on device, deploy it on server) and find bugs in it. Head over to the issues section of your project, make sure it doesn’t already exist and open it up! If it gets approved by the project maintainers, you might get to work on it too. Usually it is advised to open an issue first and then send its solution rather than just sending the fix.

B) Sending a Pull Request

Remember the solution to bugs we talked about? This is it. How do you fix something or add a new feature to the project? Pull Request is the way to go. You work on your copy of the project and send a request for specific changes to be merged with the original project. If it gets merged? Go out and celebrate!

C) Documentation

An easier approach to contribution that is often overlooked. Coders are lazy to document but it matters! Help complete the introduction, write the wiki or a guide about the project and believe me the mentors will be more than happy.

— Its Over Finally —

2) Start working on your picked project

Blog_project-01

How much work you do is left up to your own dedication

This is the salient part of the whole process. Here your main aim is to get to know about the project, the organisation and the kind of work they do. Now different organizations go about differently. For some you can simply start out by creating issues and sending PRs on their project, for others you need to introduce yourself first on the mailing list, ask for the required work to be done and then start. The main point being that this is the point where you can showcase your coding skills and make the mentors believe that you are good enough to be selected.

A sample procedure for contributing to an organisation: Suppose you picked PowerUp as your project of choice, then head over to the issues list : https://github.com/systers/powerup-android/issues and sort through all the available issues. Sometimes labels like ‘beginner’ and ‘gsoc’ are put up to help first time contributors make their mark. Understand the project and see if you can fix this issue. If you can, the voilà! But not just yet. The best way to go about sending code to an organization is to first comment on an issue and express your willingness to fix it, wait for approval from the mentor and then you can go ahead and submit that PR . This way the mentors can interact with you and let you know any intricacies hidden with solving the issue or if it has already been assigned to someone else. Again, this may not be the procedure with every organization but serves for widely approved conduct.

3) See the Ideas List

Blog_idea-01Organizations start releasing their ideas list at the same time they start applying to be a part of GSoC which happens around in February. Go through this list. It can have the project you have been working on or completely new projects and sometimes you can even suggest your own ideas to the organization. From the ideas list, pick the projects that seem most suitable to you and start envisioning how you would go about completing the same. This forms the base of the project timeline and the time you spent upon several ideas will showcase your understanding of the same in the proposal. So selecting a final project for which you will be submitting a proposal is a crucial step, give it time.

4) Write a Proposal

Blog_PROPOSAL-01

Now comes the part that carries a good amount of weight age in your selection. This is almost the last step in your entire journey. Now what is a proposal? After the organizations are officially released on the GSoC site, now is your time to start going through the ideas list of each of your previously shortlisted organizations and see what projects suit you best. You may submit a proposal for a completely new project and not the one you contributed to as contributions to the organization are considered on an overall basis. A proposal basically contains all the information about yourself, your academic status and information about how long have you been working in open source. The important parts of the proposal are where you are supposed to answer queries related to your vision and plans for the selected project and provide a concrete timeline according to which you will be working throughout the summer. This is to judge your understanding of the project and see if you can correctly estimate and incorporate the time it would take to complete the project.

In many ways your proposal is the only medium for the organization to get to know you so keep in mind the following points when composing one:

  • Submit as early as possible and utilise mentor feedback.
  • Do not deviate too much from the basic requirements, Quality matters more than Quantity.
  • It’s the only medium for organisation to know you, provide adequate information.
  • Tabulate the final timeline in a clean and efficient manner.
  • Make the timeline as realistic as possible, include buffer period for code cleanup, bug fixing and documentation (an important but often overlooked part).

5) Get Involved with the Community

 

Blog_community-01

Now this is a somewhat vague aspect of the process and so might my advice seem to be. Problem being that there is no set pattern as to how to go about doing this as different organizations have different form of communications. But the purpose is the same irrespective of the organization – make yourself known. This does not mean that you badger the mentors or flood the mailing list! This means that you maintain healthy communication with the members, by properly introducing yourself, by properly researching on a topic to make an informed query and also by helping out fellow students who are stuck somewhere. If your organization arranges a video chat with its prospective applicants, do attend even if you don’t have any questions! You might be able to answer someone else’s query and that will go a long way in uplifting your image.

Coming to the end of this very long post, my final piece of advice (request) would be that you apply, doesn’t matter if you are an absolute beginner or if there is only one month left on the clock. Even if your chances are less than zero, you are guaranteed not to walk away empty handed by investing a few weeks in this task.

I’ll be happy to answer any specific queries. Feel free to post your queries in the comments section below 🙂

BLOG_GSOOC

A dummy’s guide to Machine Learning

“A breakthrough in machine learning would be worth 10 Microsofts”,said Bill Gates once.

Why would he possibly say something like that? A much-hyped tech jargon or something really mindblowing? What is Machine Learning anyway? Why should I learn it? Will it pave a successful career path for me?
Whoa! So many questions arise when a newbie hears about ML and AI. There are answers to each of the spread across the internet. All you need is to sit and surf through them. But how does one clear all the doubts in one shot? With this, ‘A dummy guide to Machine Learning’. .
WTF is Machine Learning anyway?
Data Sciences, Big Data Analytics, Artificial Intelligence, Predictive Analytics, Computational Statistics… all these fancy words spin around your world? They sure would. So let me put it plain and simple. Machine Learning is about teaching computers how to learn from data to make decisions or predictions. It gives the computer to learn without being explicitly programmed. In short, you teach your computer how to think.
What are the types?
 
They are majorly of three types. The names and examples sum it all.
  • Supervised Learning– You apply rules/filters in your email inbox to directly delete or archive the spam messages from marketing channels.
  • Unsupervised Learning– Your camera automatically detects your face/smile.
  • Reinforced Learning– The self-driven cars having cameras, computer and controllers interacting with the roads and nearby surroundings/obstacles to give you a safe ride.

Why should I learn it?

Are you an Iron Man fan? Do you like Jarvis or not? Yes, you do. Wouldn’t it be cool to build one yourself? It’s a really fun and cool skillset with a huge global demand. Entry salaries start from $100k – $150k. Data scientists, software engineers, and business analysts all benefit by knowing machine learning. Big bucks, lots of fun and innovation, what else do you possibly need?
Are there any prerequisites?
You don’t need to be a pro mathematician or a veteran in programming to learn machine learning but you do need to get the basics right. For starters, a ground knowledge of these three are sufficient:
  • Python for data science
  • Statistics for data science
  • Mathematics for data science

Are there any practical examples of this theory?

 
Yes, there are plenty! In fact all around us. I’ll give you some everyday examples which you can relate to:
  • Notice the recommended products on Amazon and other e-commerce websites? They are all machine learning based recommendation systems. They learn from you- your surfing habits, purchasing behavior, history, and other traceable patterns.
  • Your iPhone opens with your thumbprint, it’s no different!
  • How can we miss out Siri if we talk about the iPhone? Same goes for the google assistant.
  • Tesla Self driven Cars and so much more.
When and where do I start?
 
Right away with us! We at Coding Ninjas constantly strive to get you the best courses and study resources to equip you with the latest and trending technology. Cognizance, a special workshop on Machine Learning will give you a 360-degree overview and hands-on working experience. Limited seats available register today!

Everything you wished you knew about Ruby on Rails

ruby_blog-01

Airbnb, Scribd, Groupon, Kickstarter, Pitchfork, Soundcloud, Square, Yammer, Crunchbase, Slideshare, Zendesk, Github, and Shopify…. whooof! They all have one thing in common. Can you guess? Well, let me give you a hint here.
 “It’s a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.  “, says Tim O’ Reily in its honor. Getting intense is it? Let us cut the crap; it is none other than…..

 

Ruby on Rails! 
But what is so good about it? Why is it in the news anyway? Let me take you through a hyperloop journey on why you need to have Ruby on Rails as a skill set today.
The language
The language itself beholds so many surprises for you. It combines some of the best features of dynamic languages. Taking some of the best ideas from strongly typed, static languages and blending them with an object-oriented paradigm makes it super strong. The language has an affinity for getting stuff done with minimal coding. An open source language with a code based model having all the essential elements to make you fall in love with it.
Plenty of online resources and an ever thriving community
 
Lynda.com, Codeacademy, Rails for Zombies, Treehouse, Learn Ruby the Hard Way and much more. A very well-documented language with an ever thriving community. There a thousand of meetups, code jams and hackathons you can go to almost every week. Trust me, all you need is a good dose of Ruby on Rails for the day.
A beginner’s best friend
Ruby is generous, ever forgiving and beginner friendly at every step. You do not need to remember to end your lines with a semicolon (;) or whitespace tabbing. It’s the teacher you always wanted. Forget to open or close the braces? Ruby will forgive you, grant you marks and make you win! You won’t need to know any SQL to use a database in your Ruby on Rails application which is just awesome. It also teaches you the best developmental practices. All in all its the code buddy, you always wanted.
Developer’s joy
 
Rapid developmental model, direct access to HTML, CSS and Javascript, full-stack development are few of the many benefits that developers see in ROR. It also has a wide coverage of vendor support and is gaining great traction across the globe. You may not see a number of job openings on this skill but more and more startups are hiring such developers to do many things at a go. All at lucrative payouts. Increased demand, inadequate supply… #ifyouknowwhatimean then grab the opportunity before it slips.
Such good stuff, I know you’re in awe by now. Don’t wait up, get-set-code and ride the Ruby on Rails with Coding Ninjas today!
Get details about Coding Ninjas Web Development Course: Alchemy
Sayonara Ninjas. 🙂

7 important skills of a kickass Coding Ninja!

logo_square-01
It’s a Ninja world out there! Ninjas are lightning sharp and swift. And with the evolution of programming and programmers, a new breed of coders leveled up. These were the Samurais of the Code World, popularly known as a ‘Code Ninja’. Wondering who is a Code Ninja? Urban dictionary defines it as someone who has excellent knowledge in many programming languages. A Coding Ninjitsu defines the discipline and strategies that a Code Ninja follows for accuracy, speed and power. So here are some characteristics of a kickass coding Ninja:
Bugei (Martial Skills):
Reason_1-01-01
Great technical skills are the primary weapons or the Buki of a coding Ninja. He/She is not afraid of whatever comes in the way and ready to tackle it all. Years of experience and adding new languages to the stack from time to time builds up a master Ninja.
Willingness to learn:
Reason_2-01The school of learning (Kogaku) should always be resident in a Coding Ninja’s heart. Technology is always evolving and the skills and abilities of a coder need to be revised from time to time. It’s important that a coder has an interest in following the latest trends and is eager to participate in any continuing education opportunities that are available.
Aikijujutsu (Combative grappling):
Reason_3-01
Creating code is only part of the job, debugging is an important aspect. When the code doesn’t work as expected, a coder is expected to get to the root of the problem and fix it effectively.  A true coding Ninja prefers to carefully investigate his code and research possible issues until an answer is found instead of aimlessly editing the code.
Hensogakurejutsu (The art of blending): 
Reason_4-01
Some programmers require complete silence to concentrate, while others thrive in chaos. A true coding Ninja can thrive in any conditions to complete his errand.
Gowaza (Problem Solving/Hard Fighting skills):
Reason_5-01
A good coding ninja thrives on finding ways to make something work, despite the hurdles.  The problem-solving skills of a ninja enables him/her to break a complex problem bit by bit and find the road to glory.
Kurai Mori (Path of fire):
Reason_6-01
An ideal coding Ninja should be able to work in tight deadlines and stressed situations with utmost ease. He is unstoppable!
 
Keiraku (Art of planning):
Reason_7-01
Rather than beating around the bush and irrational strikes, a coding ninja always understands a problem, lays out a plan (pseudo codes, logos, logic maps, ERDs) and then executes it carefully.
Team-01
Being a coding Ninja involves discipline and a lot of fun too! Unsure of the fun part? Well, we at Coding Ninjas make sure about that aspect. Visit our website today for the amazing challenges and learning camps and become a Coding Ninja today! Ready? Hit the code and shout Haiiiiyaaahuuuuu!!!!

5 kickass reasons why you should start learning Android Development today!

‘Google’
It’s not just a name but an experience. An experience that touched and changed our lives forever. Almost a decade ago, google launched this wonderful OS called ‘Android’ which redefined mobile experience forever.  An Android revolution had begun. And today?
With over 1.4billion active users in the world, it captures 87.5% of the total market share of global mobile operating system. The beauty of the OS lies in it being an open source operating system. That means it gives the leisure to use, or add, or even modify the source code depending on the needs of an individual/company. Today android powers billions of devices and is changing the mobile application industry inexplicably. Android development is one of the most sought after skills of 2017 and has been ruling the charts.
So why should you have an android developer badge up your shirt? Let us give you 5 solid reasons and you’ll know why.
1. You’ll fall in love with it, no doubts about that!
I have reasons when I make such a bold statement. Firstly android is an open source platform i.e.- that you are free to develop an app and deploy its prototype without spending a single penny! Then the ease of access, development and deployment make it a developer’s favorite. There is an insane amount of Android support available online at no cost. You can actually be a self-taught developer and make bucks out of it.
2. It’s an ever-growing market
 
Like dense Amazonian rain forests, the canopy of android is never ending. And when I say that, it’s both in terms of opportunities and ideas. The online Android community welcomes beginners with open arms. Want to know the number game? Here let’s take a look at them:
  • Over 1.5 million Android devices are activated across the globe every day.
  • There are over 2.2 million apps in Google Play store & growing!
  • Over 60% of Android apps are for free!
3. World’s largest app market to deploy and monetize your apps:
 
Every since Google’s Playstore came into existence, the joy of experiencing the apps has multiplied tenfold! Google pays millions of dollars every year to Android Developers. If you come up with something that becomes popular and sells really well, the monetization properties are endless. Let’s say you make a ‘hip and popular’ app and 0.001% of the android users download your app. Firstly, let me tell you there are over 60 million android users in India alone. So that makes it a total of 60,000 downloads and you price your app as low as 20 Rs.
Do the math, 60,000 * 20 = a whopping INR 1.2 million!
This and more with just 0.001% downloads in India alone! Even if your apps are free you can always earn through ads.
4. Job prospects and freedom
 
Today, business/brands want to reach out to their customers. Whether a profit or a non-profit organization, every company owns an app or are in the process of getting one. The demand for app developers is increasing at an exponential rate globally. The unique advantage of learning app development is that you can choose to work full-time or freelance. It gives you freedom and the right to choose to work for yourself or somebody else. Empowerment, freedom, and money! What else do you possibly need?
5. Sharp learning curve
There is no denying of the fact that Android is everywhere. Different devices mean different opportunities to learn and explore. Java and XML are the bare basics and it scales higher up as you proceed. There are endless opportunities to explore with Android which iOS doesn’t allow you to do. And the simplicity of the language gets you rollin’.
But self-learning seems too much of a work eh? Thomas Edison once said, ” Opportunity is missed by most people because it is dressed in overalls and seems like work.” But wait, this one is already shouting out loud, so attend our Droid-it Android Workshop and get kickstarted into Android development!
Get-set-droid-it!