state of the code

this kid has A Plan

this kid has A Plan

(cross-posted with The Plan)

In January 2015, I made a tentative 4 month schedule for what my code learning would look like, and for the most part I executed on it. Anything optional got shelved. Almost all the MOOCs got shelved (I did stick with the MIT one about 3/4ths of the way through). I went to one meet-up group meeting, once, which is ridiculous given the wealth of resources in our community and openness to sharing, but hey, this journey is about learning and I’ve learned I’m not a meet-up person.

Not surprisingly, in-person class commitments were key to moving forward and keeping me accountable, and I’ve had overall positive results with Code Fellows so far.

If I had to plan it again, here’s my do-over itinerary:

  1. First, get you a Mac, or get ready for a world of pain.
  2. Unless you’re planning to do the full-time bootcamp (in which case do everything you can the month before), take a night class with Code Fellows ($500 for foundations I or $1,500 for foundations II if you already have some code experience and want to prep for an accelerator).
  3. If you have an opportunity to apply to Ada Academy, do it! Don’t let the required video and their unpredictable cohort schedule scare you away, unless the latter is a deal breaker. This cohort timing wouldn’t have worked for me, but that’s not why I didn’t apply — I didn’t apply because I was scared to make a stupid video. And that’s super lame. So, you know, just do it (and then turn them down if it doesn’t feel right).The act of applying will be a useful exercise for you. This year they had 265 applicants and selected 24 women, and, while I’m confident the number of applications will only grow, those odds are not terrible. You can do it!
  4. You’ll want to work all the way through the HTML/CSS web track andJavaScript tutorials on Code Academy. These are required for the Code Fellows foundations classes and a good intro/refresher for everyone else. Don’t let it be your only teaching source, but it’s not a bad piece of the bigger pie.
  5. Work through MITx 6.00.1x  Intro to Computer Science with John Guttag. I bought the textbook but never really used it, so skip that. Instead get the textbook for…
  6. Python the Hard Way: the book is offered for free entirely online, so a paper copy is optional (but nice, IMO, because you can keep going without an internet connection). If the hard way isn’t your style, try Elizabeth Wickes python for informatics instead.
  7. Get familiar with git (where you’ll keep track of your programs), unix/terminal line(where you’ll run/edit/etc your programs) and a text editor, I use Sublime 2. Like, really, learn them. This could maybe wait until month 2 or 3 but the sooner the better.
  8. Tackle a few side projects to start to grow your portfolio and have something to practice your new skills on: mine were this blog (powered via WordPress), a non-Wordpress pure html/css webpage, and twitter bots. Bot, bot, bot!
  9. Talk to programmers to learn about their jobs, and research code school options that might be a fit for you.
  10. Hopefully you made some friends in your class (or online) and have an ongoing study group in the works. Or, for Pete’s sake, go to some meet-ups. I hear they don’t bite.
  11. You should probably try a few languages/programing paths to see what’s a fit. At some point you’ll want to narrow down a programing language. Keep in mind that once you know one, it’s easy enough to pick up another, so you’ll also want to pay attention to who’s teaching what and where the opportunities are. I personally like Python and there are lots of jobs in JavaScript, but I had a great experience with an instructor who teaches the Ruby accelerator and that’s what I’m currently focusing on.
  12. Next steps for me: take another foundations II class in June (this one in Ruby), and apply for the Ruby accelerator in August. On this path, I’ll be “done” by the end of October and looking for jobs or internships before the start of 2016. We’ll have to take a good hard look at finances after the wedding and honeymoon this summer. I’ll be most comfortable if my period of unemployment lasts no longer than a year, but I’m mentally prepared for a career shift to last up to two years (same amount of time as full-time grad school for most programs). One year could be crazy wishful thinking.

And that’s it! I tried and failed to break this out month-by-month, but I hope this is helpful to someone even without that timeline. I’ll keep my first (aspirational) draft on The Plan page that has many repeat resources (and a lot more that I didn’t get to). Enjoy! –Mary

the state of the code

Greetings from my last day of work!

A few things have changed since I drafted The Plan, as I expected they might. First, I got a list of textbooks for the class I am taking in February, and it appears we’re learning Web Design with HTML, CSS, JavaScript and jQuery Set (front-end programming languages).

This is nice because I started the MIT online class which is intro to computer science and programming using Python, which is a (mostly?) back-end programming language. I have homework due on Monday. I was rolling right along and then in lesson 3 we hit a pretty steep learning curve, my first indication of, yikes, this might be hard.

In light of this, and the fact that I’ll be trying to juggle two similar but distinct programming languages, I may abandon the wizard book. (That, and a programmer friend was like: “The wizard book?? Dear God, woman. Abandon that immediately. Cool videos though!”)

Said programmer friend then dispensed three pieces of wisdom, which I will share here in condensed form:

1. Programming is really cool because you get to build things. It’s nice to make something, and then show someone, and say “I made that.”

2. The majority of time in programming is spent trying to correct errors, and find what’s wrong in a given code, and deal with agonizing syntax issues like a missing comma or misspelled function. If that sort of thing sounds like zero fun to you, you may want to do something else.

3. There was a third piece of wisdom, but I have forgotten it. So, I’ll replace it with this: find and talk to programmer people, get yourself some mentors (and maybe do a better job of taking notes when they are dispensing with the wisdom).

Off to turn in my key. Adventures ahead!

about that wizard book

Last fall, when I was still mulling over this programming thing, I spotted this book in Josh’s collection and decided it would make for some light holiday reading:


The book is Structure and Interpretation of Computer Programs, by Harold Abelson and Gerald Jay Sussman with Julie Sussman, otherwise known as SICP. From the book jacket:

“This is a long book, which takes time and effort to digest, but it is never dull and it reinforces my belief that one of the main attractions of the academic study of computing is that it is fun.” – David Barron, Prof. of Computer Studies, University of Southampton

Continue reading