51
Gautham Pai I am Starting Up How do I start Coding? jnaapti

I am starting up - How do I start coding? - Gautham Pai, an "Entrepreneur, Founder at Jnaapti, Tech coach, Blogger, Free Software Evangelist & Geek

Embed Size (px)

Citation preview

Gautham Pai

I am Starting UpHow do I start Coding?

jnaapti

http://jnaapti.com/

About this Presentation

These slides were used during the talk

in Lounge47

on Dec 20th 2014

http://jnaapti.com/

A Little About Me

Name: Gautham Pai

IBM India Software Labs Ugenie Lulu Semgel → → → →

Jnaapti

Technical Coach by day, Engineer by night

http://jnaapti.com/

Technologies I have Trained On

http://jnaapti.com/

Companies where I have Trained

http://jnaapti.com/

Training Kids

http://jnaapti.com/

Engineering Students

http://jnaapti.com/

Corporates

http://jnaapti.com/

Virtual Coach

http://jnaapti.com/

Quick Poll

How many of you are

Entrepreneurs

Wantrepreneurs

Tech Entrepreneurs who can't program

How many of you have never programmed before and

would like to?

http://jnaapti.com/

What are some questions you have in mind that you want to get clarified today?

http://jnaapti.com/

Questions I have been Asked

Is programming everyone's cup of tea?

I am bogged down by too many technologies. Will I be

able to do anything useful?

http://jnaapti.com/

I can't do it → I can do it

Source: (Original Source Unknown)

Gautham Pai

I won't do it (if I have a choice)

jnaapti

http://jnaapti.com/

I won't do it

If you are planning to startup, you don't have a choice

– unless you have a lot of money

Supply is much lesser than demand

See the opportunity?!

http://jnaapti.com/

Rapid change in Technology

Android/iPhone was not

around in 2005

How long will Android be

around?

Things are getting outdated

at an exponential rate

It's getting harder to find

people with the skills you

need

Source: http://www.flickr.com/photos/jdhancock/6051805616/

Gautham Pai

I can't do it – akaCan Everyone Program?

jnaapti

http://jnaapti.com/

Does everyone need to learn to program?

http://jnaapti.com/

Heard of 'Calculator Science'?

http://jnaapti.com/

Everyone can learn

some learn faster than otherssome have in-born abilities

some have a natural knack, but

“EVERYONE CAN”

http://jnaapti.com/

It's like learning to swim, or learning to drive a car, or learning music

http://jnaapti.com/

You have all it takes

You have access to a lot

of the tools that big

corporations use for free

You have computing

power available cheaply

You have access to a lot

of the data for free

http://jnaapti.com/

What do I need then?

All you need is a little intelligence and a lot of perseverance and you are on your way!

Gautham Pai

I want to do it – akaInspire Me

jnaapti

http://jnaapti.com/

What's in it for me?Scrabulous case study

Built by 2 young chaps from Kolkata

Both were in their early 20's when

they built it

One was still in college.

500,000 users daily – back in 2008,

25,000$ in ad-revenues per month

These days lots of apps being built by

college under-graduates.

If they can do it, you can do it too!

Source: Wikipedia

http://jnaapti.com/

Switchr – A Case Study

http://jnaapti.com/

If kids can do this, why not you?

http://jnaapti.com/

Getting Inspired

Youtube Stats

100 hours of video are uploaded to YouTube every minute

Free Data Sets

Common Crawl – 10s of TBs of data available for free

AWS Public Data Sets

Cisco’s Internet Business Solutions Group predicts some 25

billion devices will be connected by 2015, and 50 billion by

2020.

http://jnaapti.com/

Exciting times ahead!Don't be left behind!

Gautham Pai

I want to do it – akaGuidelines to Get Started

jnaapti

http://jnaapti.com/

Mimic the Geeks

Characteristics of Geeks

Infinite thirst to learn, they are all life long learners

Curiosity drives their learning

Their observation skills are commendable

Learn from people and websites out there

Always experimenting – their knowledge is not just

theoretical, but practical (swimming pool analogy)

http://jnaapti.com/

1. Understand that it takes Time

Programming is an art

Enjoy the process

Don't be in a hurry

http://jnaapti.com/

2. Own Your Learning

Don't rely on anyone for

your learning

Learn how to learn – get

to your goal via the

shortest path

Be a lifelong learner –

keep learning, because

“change is constant”Source: http://www.flickr.com/photos/eflon/3271730476/

http://jnaapti.com/

3. Remember the “T” of KnowledgePick your forte, outsource/import

the rest

Build your breadth in as many

areas as possible

Build your depth in atleast a few

areas

Don't read from cover-to-cover

Be a Jack of many trades and Master

of a few

http://jnaapti.com/

3.1 – Corollary

Separate your "learning for the heck of it" from

"learning to get things done"

“Learning for the heck of it” is done to expand your T

of Knowledge

Learning to get things done – is need based – begins

with an end in mind

You need both!

http://jnaapti.com/

4. Resist the urge to “Know it All”

You will be bombarded with technologies

There is sometimes an urge to know it all

Be comfortable with uncertainty, it's OK not “Not

Know It All”

Remember that you cannot learn everything – and it's

perfectly alright

http://jnaapti.com/

5. Distinguish Concept From Technology

Image Source:http://www.flickr.com/photos/nics_events/2223583947/

http://jnaapti.com/

6. Be Aware of your World

Don't be outdated before you launch

Remain “Technology Nimble” and be “Future

Compatible”

Attend Meetups/Events to expand your breadth

Read a lot

Be aware of what is happening around you

http://jnaapti.com/

7. Don't Reinvent the Wheel

Look for ready-made solutions for parts of the

problem you are trying to solve

Is there some open-source software that does “x”

Is there a service that I can use that does “y”

http://jnaapti.com/

8. Don't Repeat Yourself

There are enough things to learn, don't waste time re-

learning what you already learnt

Have a system to capture your knowledge so that you

can refer to it when need comes

My personal preference: Zim Wiki

http://jnaapti.com/

9. Pick a Mentor

In the initial days you need help

Have somebody you can talk to once in a while

Don't over design or under design – mentors can help

The teacher never gives up, students do

http://jnaapti.com/

10. Jump into the Swimming Pool

Don't learn swimming on a whiteboard

Don't think “What it's like if I jump in”

Don't think “What if...”

Gautham Pai

How do I do it – akaSteps to Follow

jnaapti

http://jnaapti.com/

Pre-Requisites

Install Linux

Master one programming language

Javascript is a popular choice today

http://jnaapti.com/

Steps to Follow – WAE Case Study

1. Start with Business Requirements – go lean, don't

waste time

2. Design comes next – Concept/Interaction/Graphic

3. Mock – Learn to translate whiteboard sketches (or

wireframes) to HTML/CSS

http://jnaapti.com/

Steps to Follow – WAE Case Study

4. Prototype – Add interaction with Javascript and build

a Single Page Application

5. Integrate the Server backend

6. Add a database for persistence

7. Deploy

Gautham Pai

Resources

jnaapti

http://jnaapti.com/

Learn by Doing

Code School

Codecademy

Compilr

DoCircuits

Jnaapti Virtual Coach

Khan CS

Programr

Ruby Monk

http://jnaapti.com/

Online Free Courses

Academic Earth

Class Central

Coursera

Khan Academy

MIT OCW

Udacity

Udemy

TED

Youtube Education

http://jnaapti.com/

Blogs

Web Application

Addy Osmani's Blog

HTML5 Doctor

HTML5 Rocks

Dev.Opera

Architecture

High Scalability

Facebook Engineering

Notes

Twitter Engineering Blog

http://jnaapti.com/

Contact Us

MeEmail: [email protected]

Twitter: https://twitter.com/gauthampai

Blog: http://buzypi.in/

CompanyWebsite: http://jnaapti.com/

Facebook: https://www.facebook.com/jnaapti

Twitter: https://twitter.com/jnaapti