28 FEBRUARY UPDATE:
It’s been about four months since I completed the Ruby on Rails Development Accelerator and have been job-searching (at times more heavily than others, I did not apply for much in December for example). I spent two of those months working as a full-time Teaching Assistant with Code Fellows. I had high hopes for a few opportunities that would launch at the beginning of this year, but those did not work out.
So, here are some concrete goals for building my skills, network, and portfolio as we head into March:
- Go to coffee 2x+/week, with someone I know and someone I don’t know (find folks doing jobs I want and ask them how they got there)
- Go to meetups, 2x+/week
- Find an open source project to contribute to (possibly through Open Seattle, CF App Builder Club or the Outreachy application process)
- Work through Harvard CS50, Programming Interviews Exposed, and Cracking the Code Interview
- Apply to jobs, 3+/week
- Take a new class through Code School or Pluralsight and build a new app or add to an existing one with new skills
- Reinforce core skills
- Learn VIM
- Outreachy application (most likely Wikimedia)
27 DECEMBER UPDATE:
I completed the Ruby on Rails Development Accelerator in late October and have started training for technical interviews and looking for full-time and/or contract work. In December, I worked as a Teaching Assistant (TA) for the Code Fellows inaugural 301 (Intermediate Software Development) class, and I’ll be continuing to work as a TA for this class in January/February for students taking the nights and weekends track.
Setting my intentions for January, here’s where I’m focusing my professional efforts:
- Work through Cracking the Coding Interview and Programming Interviews Exposed, keep a repo of data structures and analysis (— I did not do this, though I did continue to build out my data structures repo)
- TA CF’s 301 class (— I did this, and two weeks in I switched to full-time)
- Complete and publish CF 301 create-a-blog assignment (from scratch), with notes on how it was done, potential pitfalls, etc. (— I did this through about class 7 plus deployment, it’s located here)
- Work on and publish art gallery Ruby-on-Rails proof-of-concept, whether it materializes into a contract or not (— done, located here)
- Identify top priority “classes” via subscriptions to:
- Code School
- Renew Treehouse via public library access (— I wrote a post about the Treehouse partnership only to learn that it was cancelled! I have a Code School and Pluralsight subscription that I am not really using.)
- Write 4 in-depth technical blogs a month (~ 1x weekly) (— I wrote 2. Close enough!)
- Apply for 3+ jobs a week (— I’m not keeping count super well, but I am applying to a lot. So, yes.)
- Informational interview or meetup at least 1x week (— not in January but I was better in February)
- Find a regular meetup (or start one!) to connect and mentor women in the Code Fellows network. I’ve enjoyed working with students in the class I’m TAing for now and want to help strengthen the alumni network via regular opportunities to network, collaborate, learn and stay in touch. (— not formally)
- Continue to work on portfolio site and get blog function working there, ideally move this blog from WordPress over to Ruby on Rails! (— I imported blog posts to my portfolio site, which is probably as far as I want to take it for now!)
- Clean up ORDR (from project week) and add 1) preview function, so people don’t have to create an account to see it, and 2) user dashboard (— nope)
- “Walk Or Not” webapp in Angular (— nope)
- Harvard CS50 (need to keep practicing Big O notation) (— nope)
- DevDraft – I haven’t managed to fully complete one of these yet, but I’ll keep working at it. (— nope. I did a shit ton in Code Wars though.)
1 AUGUST UPDATE:
I completed Code Fellows Foundations II: Ruby and was accepted into the full-time Ruby on Rails development accelerator which starts August 31.
Here’s a list of projects I’m working on in the meantime:
- Practice algorithms, work through Harvard CS50 and finish MITx 6.00.1x (– I did not do this)
- Use free month @ Code School and see what I can learn (– I don’t remember what classes I took, if any)
- Finish Treehouse Rails Developer track — finished 8/11
- Book merge/library project in Ruby — deploy via
RailsSinatra app — finished 8/16 (link)
- Rails Tutorial (Hartl) (finished 8/27)
- General Assembly intro/catch-up classes: intro to Rails, data science,
- Code Academy Rails track (finished 8/29)
- Finish ‘Learn Ruby the Hard Way’ (96% complete–& saving the last two exercises for later)
Code Academy: Ruby (req. for Ruby F2) – finished 4/30/15
Treehouse: Ruby – finished 5/1/15
Treehouse: Rails Development – finished 8/10/15
Ruby Koans (req. for Ruby DA) – finished July 2015
Ruby on Rails Tutorial (Hartl) (req. for Ruby DA)
Code Academy Learn Ruby on Rails (abt 5 hours)
Learn/Practice (this is from the Code Fellows F2 curriculum):
- Basic control structures
- Enumerables and iterating over a collection or arbitrary number range
- Code debugging in Interactive Ruby
- Creating new classes and instantiating objects
- Passing blocks and standard arguments to a function
- Writing a function that takes a block argument
- The basics of scope and closures
- The Ruby call chain with respect to inheritance and mixins
- Test-drive development with unit testing
- Structuring a basic code project with standard gem structure
- Finding and implementing useful gems
- Creating a simple gem
Review Code Fellows Ruby DA git repo: link
Review Code Fellows Ruby F2 git repo: link
Development Environment tracker
Command Line Crash Course (req. for Ruby DA)
Perfect Workflow in Sublime Text 2 (req. for Ruby F2)
Try Git (req. for Ruby F2) (apparently I finished this in April)
18 APRIL UPDATE:
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:
- First, get you a Mac, or get ready for a world of pain.
- 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).
- 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 dealbreaker. 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!
- 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 try these textbooks:
- Learn to Program – by Chris Pine (ruby-based, really fun, accessible, good challenges)
- 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.
- Ruby the Hard Way: also online
- 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.
- 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!
- Talk to programmers to learn about their jobs, and research code school options that might be a fit for you.
- 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.
- Try Ruby, ruby koans, learn rails (free for CF students or $19/month)
- Bento is “a guided, curated tour” through various online coding tutorials. There’s a lot of them, and this isn’t bad.
- I currently have a Treehouse subscription, but I might ditch it. They do some things well but I’ve been unimpressed with the pacing of the Ruby track I’m working through (too slow). EDIT: this review says do both. I’m also considering onemonth.
- 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.
Ack, 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 PLAN, a draft
(a wip, as of January 2015)
Part 1: Self-study to Bootcamp (January – April)
- Structure and Interpretation of Computer Programs (SICP) – Harold Abelson and Gerald Jay Sussman with Julie Sussman, MIT Press
- Introduction to Computation and Programming Using Python – John V. Guttag, MIT Press
- Python Projects – Laura Cassell, Alan Gauld
January & February
Big Rocks: ~44 hours / week
- Create a basic webpage using WordPress for online portfolio and blogging—DONE
- MOOC: MITx 6.00.1x Introduction to Computer Science and Programming Using Python – uses Guttag textbook (9 weeks, 12 hrs / week) –3 problem sets of 7 completed as of 1/26/15
- Lessons and GitHub challenges from INFO 343 intro to web development and related resources (Bento is recommended) (10 hrs / week)
- Identify key html/css code to
learnpractice and use it to customize site (5 hrs / week)
- Set up a content schedule (3x week? 5x week? certain types of posts correspond with days of week?), create content, and keep a running list of things to write about (7 hrs / week)
- Connect with people re: mentorship and networking (2 hrs / week)
- Weekly review and planning (1-3 hr / week)
–Basic data structures and algorithms
–Object-oriented programming concepts
–Industry standard development tools
- (NEW) Set up a GitHub account and get familiar with git/heroku for web app deployment
- (NEW) Learn about tech careers, education options, and paths for further study/practice
» Code Fellows Foundations pre-work:
- 10 hours (total): Codecademy – Helpful, free, online courses cover the basics of syntax. The more you get done of this, the better the rest of the course will go. Start now! http://www.codecademy.com/
- 7 hours (total): Also work through the HTML/CSS course from Codeademy: http://www.codecademy.com/
tracks/web. –DONE 1/27
- 1 hour: Get comfortable with basic arithmetic and algebra. If you need a refresher, visit: http://www.mathsisfun.com/
algebra/introduction.html * Be sure to read and understand the sections on Functions and Logarithms. –DONE 1/29 (I just read those 2 sections)
- 30 min: Download and install Sublime Text 2 http://www.sublimetext.com/. Watch Chapters 1 and 2 (at minimum) in this free tutorial:http://courses.tutsplus.com/
courses/perfect-workflow-in- sublime-text-2 –DONE (this is pretty cool)
- 2 hours: Get familiar with Terminal / Command Line
todolistme.net (work through sections 1 through 5. Also recommended: 7, 8, and 14); Windows: Customize the Command Prompt (http://www.7tutorials.com/ how-customize-command-prompt) followed by Basic Commands (http://www.7tutorials.com/ command-prompt-how-use-basic- commands%20)
- Run and stretch (keep moving, missy) (3x week)
Read SICP and play with accompanying code fileson hold Review UW Bill Howe Intro to Data Science course on Coursolve archiveon hold
- MOOC: Princeton University Algorithms, Part 1 (pre-req: “basic familiarity with programming in Java”) 6 weeks of study, 6-12 hours/week of work (starts Jan. 23)
- MOOC: University of Edinburgh Code Yourself! An Introduction to Programming (5 weeks of study 2-4 hours/week of work, starts March 1)
- MOOC: MIT Introduction to Computational Thinking and Data Sciences “Topics covered include plotting, stochastic programs, probability and statistics, random walks, Monte Carlo simulations, modeling data, optimization problems, and clustering.” (9 weeks, 15 hours–unclear if that’s 15 hrs a week or total, but I think the latter; starts March 4)
- Code Fellows bootcamp (Monday – Friday, 9 a.m. – 4 p.m.)
And beyond (unsorted ideas)
- Elizabeth Wickes guided self-study lessons in Python — especially great for those with a humanities/social science background. Hat tip to my librarian pal Kevin.
- Code Academy
- General Assembly seems to offer lots of full- and part-time classes for aspiring and professional programmers and designers. “Established in early 2011 as an innovative community in New York City for entrepreneurs and startup companies, General Assembly is an educational institution that transforms thinkers into creators through education in technology, business and design at fourteen campuses across four continents.” Definitely worth investigating!
- CDSW alumni meetups – organized by some fun academics, CDSW alumni and friends meet monthly in Capitol Hill to learn and practice Python together
- Puget Sound Programming Python (PuPPy) – “We are devoted to exploring Python-based programming knowledge, embracing new and experienced members from all walks of life, and helping those members to achieve their professional goals.”
- Women in Tech Seattle – quarterly events with star-studded speakers
- Data Science Seattle/Bellevue – Python & data science focus, upcoming event @ Zillow
- Seattle PyLadies – “Pythonistas”, sponsor a hacknight every other Monday
- Code Fellows – frequent events, virtual and in-person. I’ve written a bunch about them and am taking the Foundations I class and bootcamp.
- Women Who Code – Huge group, with 1,000+ Seattle members. “Our goal is to connect 1 million women in tech by 2019”
- Extraordinary Least Squares – fun social crew with CDSW overlap, Boston –> Seattle. Weekly meetups.
- Johns Hopkins The Data Scientist’s Toolbox (occurs monthly, 1-4 hours x 4 weeks)
- UW Computational Methods for Data Analysis (January – mid-March, 10 hrs / week x 10 weeks) Recommended pre-req “Solid background in ODEs and familiarity with PDEs and MATLAB.” (I don’t think I’ll be ready for this one but keep an eye on it for the future)
- UW Introduction to Data Science w/Bill Howe (8 weeks of study, 10-12 hours of work / week) future sessions as of yet unannounced
- Python for Informatics: Exploring Information, Charles Severance (free PDF download)
- Pro-GIT, Scott Chacon and Ben Straub (free download @ link)
- Fundamentals of Web Development, Randy Connolly (recommended for INFO 343 students)
- Algorithms, Part 1, Robert Sedgewick and Kevin Wayne (optional for MOOC by same name)
- Computer Science Concepts in Scratch, Michal Armoni and Moti Ben-Ari (optional for “Code Yourself” MOOC)
- Creative Computing Using Scratch – guide and printable/downloadable resources developed by members of the ScratchEd research team at the Harvard Graduate School of Education: Christan Balch, Michelle Chung, and Karen Brennan (optional for “Code Yourself” MOOC)
- Mining of Massive Datasets by Anand Rajaraman and Jeff Ullman (recommended for UW Intro to Data Science course)
Other People’s Coding Resources: