How To Optimize Your First Week of Bootcamp

unnamed-2

Reflections on Hackbright, Week 1. 

As I reflect on the first week of Hackbright, I’ve been thinking a lot about how to best approach new experiences. The first week is important. Intense experiences can either crush you or make you stronger. You can set yourself up for success by intentionally developing a routine in these first few days. The first week is a time to experiment with challenging your comfort zone, staying organized, and cultivating habits of self-care.

balloonicorn_by_fortmaximus-d7cqa1w4f8265b203e8cb397f96bd46f702c636

GETTING OUT OF YOUR COMFORT ZONE 

For many people, especially engineering inclined introverts, showing up to the first day of a coding bootcamp may feel like stepping outside naked. A cohort of new people, a new city, new challenging ideas… it may seem like you are dangling in a pit of scary, hungry, human-eating unfamiliarity.

If this sounds like it could be you, let me offer some advice!

If you want to get the most out of your first week, try developing checklists for yourself to challenge your sense of adventure, organization, and self-care. Each checklist will give you concrete goals to both motivate you, and track your progress. Most of these ideas are not new or groundbreaking. However, when you go into a new experience, it helps to remind yourself of the basics. The lists act like stepping stones you carefully lay down to both stabilize and cultivate your sense of adventure, possibility, and sanity as you start this new experience.

comfortzone-big

EXAMPLE ADVENTURE CHECKLIST 

1. Meet Three People Every Day

2. Sit in the Front Row

3. Ask Questions

  • Meet Three People A Day
    • Challenge yourself to talk to at least 3 new people a day
      • Remember their names, listen to their stories, and write a note of what you remember after your conversation.
    • Go to the optional Social Events!
      • Not only will you push yourself, you will be fully participating and giving yourself another opportunity to talk to someone new. You never know who you’ll meet and what you’ll learn.
    • Personal Reflection: This is something I struggled with my first week. At first I found myself gravitating to the first people I met. However, by reminding myself to challenge my comfort zone, I met several of the most interesting people I’ve encountered in a while. There are still a lot of people in my cohort I haven’t talked to, so this is one I will try to consistently push myself to do.
  • Sit in the Front Row of Lecture
    • Free yourself from distraction, force yourself to participate.
    • If not every day, try it at least once a week.
    • Personal Reflection: I’ve made a point of trying to sit in the front row of every lecture. Sitting up front focuses your attention on what is presented by the lecturer. You are paying for this education! Set yourself up for success. Especially if you are easily distracted (like me). Eliminate distractions. Help yourself stay fully present. But don’t steal my seat.
  • Ask Questions
    • Engage in your learning. If you don’t understand something, ask! Most likely someone has the same question and is too afraid to ask.
    • TIP: When sitting in the front row, asking questions feels less scary.
    • Personal Reflection: You are trying to learn computer science. The first week is going to cover the basics. Don’t guess. If you don’t fully comprehend the fundamentals, you are going to make mistakes and create bugs you don’t understand. While bug creation is inevitable for us newbs, be kind to your future self (thanks Joel and Cynthia). I never worry about whether someone is going to think my question is stupid. If I don’t get it now, I am going to suck later. However, use your judgement. If it seems like a question that won’t illuminate the concept for your peers, or could cause a long tangent, maybe ask after class? But don’t be afraid to Ask Questions! They can be a gift to your new peers and yourself.

images-3 url-1

EXAMPLE ORGANIZATION CHECKLIST

1. Organize Your Notebook

2. Create A Routine

  • Organize Your Note Book (Hackbright specific… no computers in lecture)
  • If available, read the lecture slides the night before. Give yourself an idea of what is coming. If possible, print the lecture slides ahead of time and take notes on them.
  • Write legibly: if you don’t, make sure that you go back and rewrite your notes so they are actually useful to your future self. Help yourself want to review your material.
  •  Use a BINDER!
    • I have to say.. I am pretty proud of my Hackbright Notebook. Several classmates have complemented my precious gem and told me they would like to copy it. So I decided to include the recipe in this post. This notebook is a product of my newfound penchant for organization. Thats right, I learned it. You can ask my mom – I was not this OCD as a child. In fact, my past self would probably scoff at my present self in disbelief. So what does that mean for you? If you are not super organized, you can learn to be organized too! If I can do it, you can do it.
unnamed
My Beautiful Hackbright Notebook ❤
  • Recipe for a Beautiful Notebook
    • A Clear Binder
      • Elle Woods Moment for the Design Conscious: Sheer will always look chic.
    • Five Star Graph Paper
      • Graph paper > Normal Lined Paper
      • You don’t know how much paper you’ll need. Using a binder and inserting your own paper, avoids the problem of running out of notebook pages and potentially carrying around multiple notebooks.
    • Dividers w/ laminated labels.
      • Use dividers: they eliminate the need for multiple notebooks. They will make your experience of taking old fashioned notes look and feel more organized. I used a label maker (Brother P-Touch) to create the following categories for my notebook: (1) Lecture Notes (2) Project Notes (3) Homework Notes (4) Interview Prep.
      • Elle Woods Moment for the Design Conscious: Resist the urge to buy the rainbow tabs. The plain white ones with the gold edge will give your notebook a mature, minimalistic, clean feel that projects professionalism.
    • A Hackbright Sticker
      • Keep the front of your notebook looking clean. Just one Hackbright Sticker here. The back of your notebook is a great place to put all of those stickers you get at Hackathons. It’s a more contained way to show off your hacker swag, and your computer won’t end up looking like a bumper sticker car riding down a country road.
        • No offense if you have lots of stickers on your computer already. They probably look great.
      • INSTRUCTIONS: Put paper in binder, and voila, you’ve cooked a notebook.

il_570xN.529881348_9wqy

  • Develop a Routine
    • Developing a routine is crucial to staying organized. Map out your day. Stick to your plan. The point of this exercise is to take the time to actually map out your average day with specific time markers. You can think of these markers as time goals. Write out how you would like to allocate your time on an ideal day. Everyday is different, and you won’t hit your marks everyday. Taking time to write or type this typical day out for yourself will enable you to start being mindful of your time-management habits. You can break down your day in preferred time increments. The practice and should take you about 1 minute. Remember, you have the same amount of hours in a day as Beyonce.  Here’s my typical day:

6:00 AM – Wake up, make bed, coffee + breakfast

7:00 AM – Go for a run, do yoga, some exercise, get ready for Hackbright

9:30AM – Arrive at Hackbright (1/2 early)

10:00AM – Lecture, Lab

1:00 PM – Lunch

2:00PM – Lecture, Lab

6:00PM – End of Day, Commute Home

7:00PM – Arrive home, review notes, do homework, pack lunch

10:00PM – Review tomorrow’s lecture slides, read, set out clothes + pack for next day, clean room

11:00PM – Set alarm, turn off phone, go to sleep!

morning-person

SANITY or SELF-CARE CHECKLIST

1. Eliminate Distractions

2. Workout + Eat Healthy + Sleep

3. Cultivate a positive attitude – You are a blank slate.

  • Eliminate Distractions
    • As you can tell, I am obsessed with the idea of eliminating distractions. I am highly distractible. I am mildly ADD. If there is something around me that could distract me, like my phone, I might be tempted to focus on that instead of lecture. I’ve learned that to be successful in my goals I need to be intentional about recognizing distractions, and cutting them out of my life until I’ve accomplished my task. (.. this is why I sit in the front of lecture). Here are some more general suggestions for your Hackbright/Bootcamp experience.
    • Turn off your technology
      • During lectures and when you go to sleep, turn off your phone and laptop.
      • Personal Reflection: Before Hackbright I rarely turned off my phone. I’ve been using my phone as an alarm clock for years. I have gone months without turning off my phone. Lectures at Hackbright are device free. No phones. No computers. I cannot express to you how much this has positively changed my life! If you are going to a coding bootcamp, you are probably a technology addict. Buy an old fashioned alarm clock. Turn off your phone. You will thank me. You will thank yourself. You will find nirvana. And sleep better.
    • Delete Your Tinder
      • If you are like me and moved across the country newly single for your bootcamp, it is very tempting to want to explore the dating scene. DON’T DO IT! Especially in San Francisco. There are a lot of cute boys in person and on your phone. IGNORE THEM. Delete your Tinder/Hinge/BumbleBee/JDate and FOCUS. It’s only three months. You don’t have time for a new relationship. You can date all the boys after you find a job.
      • If you have a family or significant relationship, good luck.
    • Take a break from Facebook
      • Put important birthdays on your gCal. I promise you that basically all the news will be the same in three months.

images-1imgresimages-2

  • Work Out, Eat Healthy, and Sleep
    • Keep Your Workout Routine!
      • You will not have much time for anything, but it is crucial that you make time to keep working out. Go for a run on the weekend. Find a yoga studio. If not a yoga studio, do some yoga before you go to sleep or first thing in the morning. It will help you clear your mind and enable you to feel physically and emotionally strong as you go through this intense experience.
    • Balance Water + Coffee in-take
      • You are going to be drinking a lot of coffee. Everyone around you is going to be drinking a lot of coffee. Drink water too or you will get dehydrated and sick. Thank you.
    • Make your Lunch and Don’t Snack
      • Resist the urge to buy lunch. You will save money and eat healthier. Also, don’t snack. Snacking is evil and is the gateway drug to gaining five pounds you didn’t have before when you don’t follow my advice and slack on your workout routine. Say no to snacks. You won’t starve, I promise.
    • Sleep
      • I’ll say it again. Buy an old fashioned alarm clock. Turn off your phone at night. You will sleep better.
      • Don’t do the snooze button. The snooze button is evil and is designed to ruin your day. Set one alarm, and force yourself to sit up. You don’t necessarily need to get out of bed. But try to keep your eyes open and wake up on the first alarm. You will not miss snoozing. You will feel more awake in 5 minutes and feel more empowered to take on the day.

9e04409b77152140d722602b3def9d678a2b257423878100aa0164163fa6204b

  • Cultivate a Positive Attitude – You are a Blank Slate
    • You are a Blank Slate
      • You are writing a new chapter of your life. Learn from your past experiences, and be grateful for them. But at this point, the past in behind you. You get to be who you want to be now. Embrace your unique story. We are all coming to Hackbright with different backgrounds and experiences. How you frame your past to yourself will determine how free you will be to successfully blossom into your ideal self.  It’s important that you take time to think about what in your past experience will help make you an incredible software engineer.
    • Be Positive, you have a lot to be grateful for!
      • Hackbright only accepts 5-8% of applicants. You are here for a reason. You set your mind to this, and you are here. Trust the process and yourself. This is going to be an incredible, challenging, life-changing 12 weeks!
      • The moment you have your first crying spree, step back and look around you.  You are getting to learn! You made a dream come true! You are learning how to code! You are getting the opportunity of a lifetime to change your path in an innovative, cutting edge educational environment. That bug may be a little bitch, but at least this problem has a solution. You will get it eventually. Keep going. Life is pretty good.
    • Do not try to win Hackbright.
      • Listen, no one here is a software engineer yet. Everyone is coming in at different levels. Everyone is coming in with different experience.Some people had more time to do pre-work than others. Don’t compare yourself to everyone else and sell yourself short.  No one is going to have the same journey.
    • Set Realistic Expectations
      • As amazing as Hackbright is, at the end of the day, what you learn and where you end up after is up to your hard work and efforts. Hackbright is going to be what you make it. It’s up to you to advocate for yourself, take on outside challenges, and network. You will make mistakes. The Hackbright Staff are incredible, but not perfect human beings. No one can predict what challenges lie ahead of your job search. Shoot for your dream job, and have a backup plan. Theres no one way to get to your goal.
    •  Be Compassionate to Yourself and Others
      • Give your classmates the benefit of the doubt.
        • Check your arrogance at the door. Everyone is going to have moments where they feel like a genius. Everyone is going to have moments where they feel like an idiot. Allow each other to have those moments without defining one another by those moments. Everyone is here to grow and learn.

unnamed-1

So there you go.

If you’ve gone through Hackbright, or another bootcamp,  I’d love to hear your thoughts, comments, and suggestions.

Have a great first week!

< C >

Hackbright Academy!!!!

imgres

After a lot of hard work and determination, I am thrilled to announce that my bootcamp dreams have finally come true!!

I will be attending Hackbright Academy as a Summer 2015 Software Engineering Fellow in San Francisco.

Hackbright Academy is the leading software engineering school for women founded in San Francisco in 2012. The academy graduates more female engineers than Stanford and UC Berkeley each year.

Here is the jist of what I’ll be learning:

http://hackbrightacademy.com/content/uploads/2014/11/FellowshipProgramSyllabus.pdf

(also available on their website)

It’s going to be a challenging, life changing summer!

Bring it on!

< C >

It’s Been A Whiiiile…

its-been-awhile

….Since I’ve updated my blog.

Only because I have been SO busy applying to bootcamps, building my final project for Codecademy, working on my portfolio, and attending my first Hackathon! I have so much to update. Ideally, I would like to dedicate separate blog posts to each of these milestones. Good news, the eye before the storm is upon me. So the next few posts will be backdated reflections of all I’ve learned in the past few weeks/months. Stay tuned!!

< C >

BEYONCE MOMENT

Mys885T0QB_k4dJTey7rLhmUdyyezMr0sQXN6b8Dhdk-1

ALL THE LADIES WHO TRULY FEEL ME
THROW YO’ HANDS UP AT ME

Screen-Shot-2013-02-04-at-12.01.56-AM

Excuse me for the humble brag… but never in my wildest dreams did I imagine this sight!

…I have made it to the top of the Leaderboard of my fierce 15 person Code Academy Labs Cohort!

Two weeks in a row!

 I’d like to thank Code Academy.

#GirlsRule

BtJ9yX9IQAEps1A.jpg-large

< C >

FEBRUARY ESCAPED. RECAP:: Best Valentine: Ruby on Rails

FEBRUARY ESCAPED. RECAP:: Best Valentine: Ruby on Rails

red-metallic-heart-valentines-day-ever-so-lovely-earrings1_large

I’ll start with Valentine’s Day – my first date with Ruby on Rails. It was fantastic. We spent five straight hours together on a romantic, blizzardy Saturday afternoon, snuggled in the cozy offices of Dev Bootcamp in the Financial District of NYC. I know it’s early to say this, but from first download to first project pushed to GitHub from my command line…I’m pretty sure it’s love.

Prior to starting the Ruby track in the Code Academy Labs curriculum I had dabbled in every language track aside from Ruby: HTML, CSS, JavaScript, jQuery, Python, and PHP. I’m not sure why I left Ruby for last, but I’m glad that I did. Now I can appreciate Ruby’s elegance.

According to www.ruby-lang.org, “Ruby is a dynamic, open source language with focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.” Ruby was designed and developed by Yukihiro Matsumoto (or “Matz”). Matz created Ruby because he wanted programming to be more enjoyable for the programmer. Ruby was designed to emphasize human needs over computer needs.  Apparently, at a Google Tech Talk in 2008, Matsumoto explained that Ruby is designed to make you fall in love =>

I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language.” – Yukihiro Matsumoto | Google Tech Talks, 2008

images

If you’ve ever read any Ruby code, you’ll notice that unlike JavaScript (not to hate), it reads a lot like plain english.

For example…

A JavaScript function generally looks something like this:

var name = function(param1, param2) {

           if (param1 === param2) {

                // executes this code if condition is true!;

           } else {

            // executes this code if condition is false!;

       }

};

In Ruby, the same function generally looks like this:

def name (param1, param2)

      if param 1 > param2

          puts “param1 is greater than param2”

     else

         puts “param2 is greater than param1”

     end

end

See how it’s a little easier? You don’t have to think so much about white space or semicolons in Ruby. In JavaScript, a forgotten or misplaced semicolon will stop your program from running. With Ruby, you will spend less time fixing bugs and more time focusing on the logic of your program.

Ruby is an object-oriented, high-level programming language. High Level programming languages read more like english and less like byte code (think 0101001 – matrix projections on the wall).  High level languages need to be interpreted or compiled into machine code before they can be understood by the computer. Machine code is a low-level language. Machine code is the only language that can be understood by a microprocessor directly without translation. You could code in machine code, but it would be much more complicated. You would need to remember a lot of different combinations of letters and numbers that have no obvious logic (08002FA 0G034FA … etc ).  Low-level languages have very little abstraction between the language and the computer’s instruction set architecture. Low-level languages are obviously more difficult and time-consuming, but they are faster and use less memory since you are basically speaking the same language as your computer (but with a slightly different dialect). However, we are humans, and we love abstractions – so thankfully there are high level languages like Ruby. High Level languages feel more like natural languages and are easier to write, read, and maintain. This graphic from webopedia.com is a nice visualization. Ruby would be at the top of the pyramid.

Credit: http://www.webopedia.com/TERM/H/high_level_language.html
Credit: http://www.webopedia.com/

Ruby is an object-oriented language. For many new programmers the significance of ‘object-oriented programming’ (OOP) is probably flying over your head – it was for me, until I looked it up. We probably won’t be doing anything but OOP because most languages commonly used to build web apps and mobile apps are object oriented. Java, Python, C++, VisualBasic .NET, and Ruby are all ‘OO’.

OOP empowers the human. OOP says logic should be concept driven. First identify concepts in your data and map out the relationships between them, then write your logic. Pre-OOP, programming was about writing logic to manipulate objects/data input, processes, and output. The hierarchy of focus was logic => object; bottom to top, trickle up.  Object Oriented Programming flips that priority over. OOP approaches programming object => logic; top to bottom; no trickling, just powerful organized systematic efficiency.  For example, if I’m using OOP to create an address book, I would focus on the relationships between my data and start categorizing it into “objects”. When I look at my data, I see that all my friends have a Name, Phone Number, and Address. At the highest level, I would need a Person Object that takes Name, Phone, Address.  I can then make a New Person Object, and my program will know that New Person Bob will have a Name, Phone Number, and Address. For more on why OOP makes sense, read this article.

RubyOnRails

I have completed several Ruby on Rails projects. You can see them here: www.github.com/carobinson. More to come.

< C >

“If/Else, The Musical”, starring Flatiron and Manhattan.Js

IMG_3082

I went to the Manhattan.Js Meet Up at Flatiron School on Wednesday night. Speakers included Sara J Chipps (Founder, Girl Develop It), Tom Dale (Co-Founder, Tile-Ember), and Sebastiano Armeli (Spotify).

IMG_3083

I did pretty well for being so new to JavaScript… I won two contests!  I won tickets to a sold out event hosted by LittleBits, the ReactJS Meetup on Februrary 24th, AND tickets to the EmpireJS 2015 conference in April.

empirejs copy

Coincidently, EmpireJS 2015 is Broadway themed this year… And I won a free $350 ticket for coming up with the best JavaScript inspired Broadway show title… “IF/ELSE”.

Empirejstweet copy

We’re still fleshing out the music + casting…

IF (Idina === available){

console.log(“We’re going to make a lot of money!”)

1553370_10153276094034616_8601059147268509795_o

} ELSE {

console.log(“We can always see if Lou Ann is available…”)

louanne copy
‘Lou Ann’ (..me), featured in the Jeff Award winning production of “Hairspray” The Musical at Drury Lane Theater in 2012

};

Of course the first big tech event I’m going to is Broadway themed! You never know where your path will take you…

IF only they knew…

So excited to attend these events and dive into that JavaScript textbook in the meantime.

<C>

“Embrace obstacles, they are just telling you to go back and revisit your path.”

pasted_image_at_2015_02_07_04_35_pm_360

“Embrace obstacles, they are just telling you to go back and revisit your path.”

–  The JavaScript Forum

We are learning JavaScript and jQuery for two weeks. The projects are very similar to  the jQuery projects on Code Academy. The material provided a cursory introduction to JavaScript, but I could probably dive into using jQuery now.

 For you fellow newbs, jQuery is a library of JavaScript code used to build dynamic features like sliders, accordions, widgets and interactive animations into websites. We learned about jQuery syntax, event handlers, styling, and traversing the DOM. In addition to Code Academy, I supplemented with Code School’s try jQuery course : http://try.jquery.com/levels/6/challenges/1.

Per the suggestion of classmates, I’m really excited to dive into this great book on JavaScript & jQuery:

9k=

It’s a very user friendly text-book.You can find it on Amazon here: http://www.amazon.com/JavaScript-JQuery-Interactive-Front-End-Development/dp/1118531647

images

We are also learning about Git.

Git is not the same as gitHub. Git is a Version Control System (VSC) that enables developers to save every draft of their code. If you decide you want to go back to an earlier version, everything is saved and recorded by Git. Github is a social sharing website where developers can upload or ‘push’ their code, and work on a project simultaneously without stepping on toes. Github is similar to working on a GoogleDoc – you can work on the same document remotely, and see what other people are contributing. But, unlike Google Docs, you can work offline, and you can’t delete or over write anyone else’s work. Developers use VCSs to save every piece of code written by any one team member – so nothing gets lost, and everyone is on the same page at all times.

There are three phases of Git: 1. Working Directory, 2. Staging Area, 3. Repository. When you are writing or making changes to code, you are in the working directory. You pull the code from the git repository you want to work from, and bring it into your working directory. Then before you finally ‘push’ your code back to the git repository, it goes to a place called ‘The Staging Area’. When code is ‘staged’ you can still make changes that won’t be saved.  Finally, you commit your code to the git directory/repository that is then posted on your gitHub.  All this is done on your console.

images-1

Here are some other resources for learning Git that I’ve found useful:

Pro Git – : http://git-scm.com/book/en/v2 – you can download the book for free as a PDF.

Git – The simple guide: http://rogerdudler.github.io/git-guide/

15 min tutorial – Try Git via Code School: https://try.github.io/levels/1/challenges/1

More of Difference between Git + Github: http://www.jahya.net/blog/?2013-05-git-vs-github

Let me know if you find these helpful, and feel free to leave more resources in the comments section!

You know what else was exciting this week?? I am on the Leaderboard for Code Academy Labs!

screen_shot_2015-02-06_at_17.28.50

Choose to conquer life.

~

< C >