teaching myself to code: the journey and lessons learned

34
Teaching myself to code Neha Batra @nerdneha April 2015

Upload: neha-batra

Post on 16-Jul-2015

847 views

Category:

Software


1 download

TRANSCRIPT

Teaching myself to code

Neha Batra @nerdneha

April 2015

We’re from all over, you’re not alone

Energy Consultant

Software Engineer

Floored, Inc.

Textile Designer

Front-end Web

Developer

Photoshelter

Materials Science

Software Engineer

Venmo

Community Organizer

Content Intelligence

Research Engineer

Tumblr

History & Sales

Marketing

Developer

Avaaz

Economics, Teaching

Software Engineer,

Cofounder, Teacher

Telegraph Academy

Physics

Data Engineer

Rent the Runway

Operations Research &

Math

Data Science

Mimi Hearing

Technologies GmbH

How I taught myself how to code

Energy Consulting

Recurse Center

1st Soft Eng Job

Full-stack Engineer at Floored, Inc.

2 years

3 months

9 months

11 months

How I taught myself how to code

Energy Consulting

1st Soft Eng Job

Full-stack Engineer at Floored, Inc.

(the professional version that gives you ZER0 context)

(this looks WAYYY TOO EASY)

Recurse Center

3 months

9 months

2 years

11 months

How I taught myself how to code

Energy Consulting

1st Soft Eng Job1st Soft Eng Job

Full-stack Engineer at Floored, Inc.Intro to Logic + Intro to CS [scheme] (9th grade via IMACS)AP Comp Sci A (11th grade)Intro to Python (MIT, not reqd.)Got Mechanical Eng degree

Recurse Center

3 months

9 months

2 years

11 months

How I taught myself how to code

Energy Consulting

1st Soft Eng Job1st Soft Eng Job

Recurse Center

6 months:Quit 1st jobApplied to Recurse Center 2x (rejected)Used MOOCs/meetups to learnFirst hello world websiteGot into RC on 3rd try

3 months

9 months

2 years

11 months

Full-stack Engineer at Floored, Inc.

How I taught myself how to code

Energy Consulting

Recurse Center

1st Soft Eng Job1st Soft Eng Job

3 months

9 months

2 years

11 months

Full-stack Engineer at Floored, Inc.6 months:Quit 1st jobApplied to Recurse Center 2x (rejected)Used MOOCs/meetups to learnFirst hello world websiteGot into RC on 3rd try

How I taught myself how to code

Specific Resources:

- Codecademy JavaScript

- Girl Develop It: Android Course (small fee, several in-person classes)

- Udacity - CS101 - Intro to Programming

(quit job)

- Coursera course on Scala

- Udacity - Algorithms

- MongoDB - Intro to MongoDB

- Heroku tutorial on hello world

- Vim tutorial

- Github tutorial

(recurse center)

(this is detailed in a blog post if you want more info: nerdneha.tumblr.com)

How I taught myself how to code

Energy Consulting

1st Soft Eng Job1st Soft Eng Job

Recurse Center

1.5 months:Applied like everywhereEmailed like everyoneBloggedmade a shitty websiteGot an internship!!

3 months

9 months

2 years

Full-stack Engineer at Floored, Inc.

11 months

Lessons Learned

1. Forward progress is key

2. Follow your curiosity

3. It takes initiative

4. It’s not you, it’s hard

5. Open source your journey

1. Forward progress is key

I thought once I took a class or two,

then things would be….

I thought at least putting “hello world”

on a website would be….

It was NOT...

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

For me, was a lot of this….

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

● do what keeps you motivated

● stop what makes you unhappy

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

Specific Resources:

- Codecademy JavaScript

- Girl Develop It: Android Course (small fee, several in-person classes)

- Udacity - CS101 - Intro to Programming

(quit job)

- Coursera course on Scala

- Udacity - Algorithms

- MongoDB - Intro to MongoDB

- Heroku tutorial on hello world

- Vim tutorial

- Github tutorial

(recurse center)

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

Specific Resources:

- Codecademy JavaScript

- Girl Develop It: Android Course (small fee, several in-person classes)

- Udacity - CS101 - Intro to Programming

(quit job)

- Coursera course on Scala

- Udacity - Algorithms

- MongoDB - Intro to MongoDB

- Heroku tutorial on hello world

- Vim tutorial

- Github tutorial

(recurse center)

not my style

not my style

not my style

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

Specific Resources:

- Codecademy JavaScript

- Girl Develop It: Android Course (small fee, several in-person classes)

- Udacity - CS101 - Intro to Programming

(quit job)

- Coursera course on Scala

- Udacity - Algorithms

- MongoDB - Intro to MongoDB

- Heroku tutorial on hello world

- Vim tutorial

- Github tutorial

(recurse center)

not my style

not my style

not my style

now we’re talking

(I didn’t finish any of them!)

(You don’t have to!!!)

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

1. Forward progress is key

● do what keeps you motivated

● stop what makes you unhappy

I also:

● kept network of positive friends

● got programmer friends to spend time with me/my code

● met others going through my struggle

● figured out my motivating environment (cafes)

● allowed myself days off

● celebrated everything obnoxiouslyForward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

2. Follow your curiosity

● scratch the itch

● break to explore a new topic

● rabbit holes are okay! always something to learn

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

explore the depth, think of it as an investment for the

future

3. It takes initiative

● temptation: learn first, ask after

● fear: wasting others’ time

● skewed reality: “this is a stupid question”

RESULT: you shoot yourself down before you give

yourself a chance to learn

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

advice:

● let others help you

● pair up (pair programming ftw!!)

● get your code reviewed

● coding schools/programs are great environment

● go to meetups!! many meetups have office hours

3. It takes initiative

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

advice:

● let others help you

● pair up (pair programming ftw!!)

● get your code reviewed

● coding schools/programs are great environment

● go to meetups!! many meetups have office hours

3. It takes initiative

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

see what I did there? let others HELP YOU. nothing

better than being asked a question you know the

answer to. everyone wins!!

my mental strategies:

● allow yourself 6 month “stupid questions allowed” period

● only way to learn is to ask

3. It takes initiative

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

if someone gives you shit, it’s a reflection on them,

not you.

don’t let them make you feel bad for asking! you’re

taking charge. do what you gotta do.

just making first “hello world” -- 2 learning curves??

o python

o vim

4. It’s not you, it’s hard

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

just making first “hello world” -- 5 learning curves?!?!

o python

o vim

o bottle framework

o html

4. It’s not you, it’s hard

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

just making first “hello world” -- so many learning curves!!

o python

o vim

o bottle framework

o html

o github

o heroku

o domain

4. It’s not you, it’s hard

7 LEARNING CURVES?!?!

not to mention algorithms, context

changes, translating brainwaves,

googling for forever...

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

4. It’s not you, it’s hard

● so many learning curves!!

● people forget how hard it was

● reflect to help you realize that you can make that

progress

● read/learn about imposter syndrome

o if you feel like you’re the dumbest one in the room

and don’t belong, you’re not alone!!!

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

4. It’s not you, it’s hard

● so many learning curves!!

● people forget how hard it was

● reflect to help you realize that you can make that

progress

● read/learn about imposter syndrome

o if you feel like you’re the dumbest one in the room

and don’t belong, you’re not alone!!!

my personal phrase to help me through this:

“you’re not stupid, you just don’t know it yet”Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

5. Open source your journey

Make yourself unique. Own your individuality. Have an

opinion

● website

● github

● blog

● twitter

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

5. Open source your journey

Make yourself unique. Own your individuality. Have an

opinion

● website

● github

● blog

● twitter

www.nehalita.com

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

5. Open source your journey

Make yourself unique. Own your individuality. Have an

opinion

● website

● github

● blog

● twitter

nerdneha.tumblr.com

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

5. Open source your journey

Make yourself unique. Own your individuality. Have an

opinion

● website

● github

● blog

● twitter

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

Blog ideas:

● cool things you learned from event

● clarify existing instructions

● show how you did something differently

● explain a concept in your own words

● talk about what is SO COOL

● talk about what frustrates you

● make random lists

o my specialty: compile advice and blog it

● reblog/retweet someone else’s awesome

5. Open source your journey

Forward progress is key | Follow your curiosity | It takes initiative | It’s not you it’s hard | Open source your journey

Lessons Learned

1. Forward progress is key

2. Follow your curiosity

3. It takes initiative

4. It’s not you, it’s hard

5. Open source your journey

Go kick some ass

@nerdneha