I’ve been doing a lot of thinking this weekend about what comes next. I applied to Launch Academy to expand my opportunities in the future - to have a real marketable skill to take me places. And I’m starting to realize that that is absolutely true. Just looking at job openings that are listed on different job boards, it’s clear that there is definitely a demand for web developers. I need to focus on proving my chops these next 9 weeks, so that a job will be waiting for me on the other side.
I enjoyed this week so much. It is telling that I have woken up at 6AM every day this week, and was the first to “Mission Control” both on Tuesday and Friday. Earlier this summer, it was lucky if I got out of bed before noon, and when I was temping I rolled out of bed, into my car and to the office as close to start time as possible. It’s hard to care when I’m not being challenged, and it’s very motivating when I am.
Everyday has been frustrating and rewarding. The coding challenges given are difficult, and force us to think, think again, and then try to think in a different way. When I was working on what now seems like a simple problem - create a method to calculate the factorial of any given digit - I got stuck. I kept trying picture it one way, with addition, when the complete oppisite was needed. When I finally created my method:
1 2 3 |
|
it looked so elegant to me. I really enjoy recursive methods because they remind me of Russian nesting dolls. You can almost picture the factorial (x)
opening up to reveal factorial(x-1)
opening to reveal factorial ((x-1) - 1)
, etc.
Coding is so much fun. There’s a process everytime I’m given a new coding challenge to work through. First, I read through it and gather as much information as possible that I may need, then I outline what the program I want to create will look like. It’s a lot like outlining an essay for class, only for essays there’s a structure that doesn’t change much, while every code looks a little different and needs a different structure. I started using modelling in my notebook or on a whiteboard more at the end of the week, instead of - or before - writing #comments in the code itself, and I’m very careful about organizing my code to make it look clean.
When I’m tackling a new challenge, it’s a little overwhelming sometimes to see the big picture, but modelling helps break it down in to small pieces, which can also be broken down into small pieces. Smaller, more managable pieces help me puzzle through one thing at a time, and also give me more victories when I get another little part of the code to work. The feeling that I get when I puzzle through a roadblock - it’s amazing. And I get to feel it several times a day.
One thing I have to work on is working with others in my cohort. I made a concerted effort to do that by the end of last week, because I had discovered that I had a tendency to close off to other people and puzzle through the challenge on my own. I do like working on my own, but I also like bouncing ideas off other people, especially when I get stuck. Actually partnering on projects is more difficult, and is something that I’m just going to have to get used to with practice. We were told that Launch Academy is supposed to be uncomfortable, and this is one aspect that is uncomfortable for me, but that is going to make me a better coder in time.
I think one problem is that there are so many different levels that people are on in the cohort, so some people are having trouble grappling through hashes and array, while others feel like the first week was way too slow and they learned nothing new. I’m somewhere in the middle, where I was thouroughly challenged, but I quickly understood most of the material that we went through, thanks to the prework I did.
On Friday, I didn’t really get anything done, but spent the morning helping others understand hashes and arrays. It was good review for me - it made me talk my thought processes out loud and explain them clearly. It was appreciated, as well, as I was voted “Best Student Teacher” for the weekly superlative awards. I can’t do that all the time, though, because I need to work with people that can teach me when I’m struggling with a concept. There are still things I don’t get, that the internet doesn’t explain well, like constants and local versus global veriables, that I wish I could look over with someone with stronger Ruby skills. I also want to show my code to someone who is a stronger coder than me, so that I get some good constructive criticism and mentoring.
Game plan, week 2: keep on keeping on! Work with new people (I have a couple people in mind), and help out the people I see struggling when I can. Get plenty of sleep and eat well - drink more water. Go for a walk at lunch or in the evening. Have fun! Get uncomfortable. Be amazing.