Skip to content

Commit 4d98367

Browse files
committed
Added backlog of drafts to live blog
1 parent f3b9989 commit 4d98367

14 files changed

+311
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
layout: post
3+
title: Getting Started with Deliberate Practice
4+
tags: deliberate_practice
5+
---
6+
7+
### Background
8+
9+
I graduated with a degree in Software Engineering back in 2006. I have spent the majority of my time working as a business analyst and project manager (not developing software myself and using those skills daily). I have worked on minor projects here and there but they have been of the _hackers_ variety instead of being a _craftsman_ of software.
10+
11+
I completed my MBA in December 2011. I planned to use my MBA to transition into a parallel field such as operations or finance. After having lackluster responses to resumes and informal interviews, I took a step back to ask myself what I was doing wrong.
12+
13+
### Looking at the problem all wrong
14+
15+
I had been telling myself that I was a skilled engineer who now had a formal business education to pair with that. I was attempting to leverage my skills I had developed as a BA and PM, to get others to hire me as a Financial Analyst or Manager. I could tell that what the interviewers wanted were people with the exact skills they needed at that time, and weren't willing to gamble on me. It was now time to approach things a different way.
16+
17+
I downloaded the [_So Good They Can't Ignore You_](http://amzn.com/B0076DDBJ6) audiobook onto my iPhone and dove in. It wasn't long before I heard Cal Newport talk about _career capital_ and to be honest, I didn't have it in finance or operations. What I did have was a solid education in software engineering and an aptitude for learning.
18+
19+
### Where to go from here
20+
21+
I started looking for job postings in my city that had a significant amount of direct overlap with my education and work experience. After a few months of surveying it seems the most likely roles involved software development, specifically using Ruby on Rails. I posted and interviewed for one such postion. I was on the right track but needed to spend some time working on real projects with Ruby and Rails. From the interview I was able to figure out many of the exact skills that the team was looking for: Ruby, Rails, general web development, JavaScript, JQuery, Backbone.js, etc. I was also able to learn about some of the tools that were used: Git, Vim, etc.
22+
23+
From here I need to put together a plan of _deliberate practice_ to develop specific skills in this area so that the next time I interview, I will have the _career capital_ required to get the job.

_posts/2013-05-23-practice-log.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-23
4+
tags: practice_log
5+
---
6+
7+
* [Build Podcast 01 - Web Dev Tools](http://build-podcast.com/web-dev-tools/)
8+
* Seeing the real time update of html / css was cool
9+
* I was not familiar with the pretty print feature when looking at scripts
10+
* [Build Podcast 02 - Terminal](http://build-podcast.com/terminal/)
11+
* `whois` from the command line is nice
12+
* I need to start using `sudo !!`
13+
* [Build Podcast 03 - HTML5 Boilerplate](http://build-podcast.com/html5-boilerplate/)
14+
> Although I don't plan to jump into pure web development for a while, I thought it might be good to check this out anyhow.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
layout: post
3+
title: My Deliberate Practice Plan
4+
tags: deliberate_practice
5+
---
6+
7+
The biggest benefit I have in developing my plan for deliberate practice is that the Ruby and Rails communities have a large bent towards learning. Below I am going to document my plan for skills to develop, tools I will use to develop those skills, and my specific plan for practice.
8+
9+
### Tier 1 Skills
10+
* Ruby
11+
* Vim
12+
* Git / Github
13+
* Testing
14+
* Bash
15+
* Markdown
16+
* Unix
17+
18+
### Tier 2 Skills
19+
* Rails
20+
* JavaScript
21+
* jQuery
22+
* d3 or horizon
23+
* CoffeeScript
24+
* Backbone.js
25+
* Angular.js
26+
* Ember.js
27+
* Vagrant
28+
* Chef
29+
* Zsh
30+
* Objective C
31+
* R or JuliaLang
32+
* tmux
33+
34+
### Tools
35+
* [Build Podcast](http://build-podcast.com/)
36+
* [Code School](http://www.codeschool.com/)
37+
* [Discover DevTools](http://www.codeschool.com/courses/discover-devtools)
38+
* [Try jQuery](http://www.codeschool.com/courses/try-jquery)
39+
* [Try Objective C](http://www.codeschool.com/courses/try-objective-c)
40+
* [Confreaks](http://www.confreaks.com/) and [YouTube](http://www.youtube.com/user/Confreaks)
41+
* [thoughtbot trail-map](https://github.com/thoughtbot/trail-map) and [Learn iOS](https://itunes.apple.com/us/app/thoughtbot-learn/id605401428?mt=8)
42+
* [Jekyll](http://jekyllrb.com)
43+
* [Stack Overflow](http://stackoverflow.com/)
44+
* [Vimium](https://chrome.google.com/webstore/detail/vimium/dbepggeogbaibhgnhhndojpepiihcmeb)
45+
46+
47+
### Plan
48+
* Spend at least 30 min a day learning or doing
49+
* Document what I learn / do in a practice log

_posts/2013-05-24-practice'd.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
layout: post
3+
title: Practice'd
4+
tags: practice_log
5+
---
6+
7+
### Code School
8+
* [Report Card](http://www.codeschool.com/users/queuebit)
9+
* Completed Courses
10+
* Try Ruby
11+
* Try Git
12+
* Try R
13+
* Rails for Zombies Redux
14+
* JQuery Air: First Flight
15+
* Ruby Bits
16+
* Ruby Bits Part 2
17+
18+
### [Learn Ruby The Hard Way](http://ruby.learncodethehardway.org/book/)
19+
* Exercises 1 - 26
20+
21+
### Well Grounded Rubyist
22+
* Chapter 1
23+
* `ruby -cw` - checks syntax and gives warnings without executing
24+
* `irb --simple-prompt --noecho` - simpler prompt without echos (aka self-explanatory)
25+
* `load filename.rb` - this will allow me to update while testing in irb
26+
* `rake` - Ruby make task-management utility
27+
* `ri String#upcase` - quickly look at rdocs for given method / class
28+
* `gem install ___` - really easy to add third party gems
29+
30+
* Chapter 2
31+
32+
* `def m(a, b=2, *c, d)` - example of argument lists
33+
34+
## Git Immersion
35+
* [Pro Git videos](http://git-scm.com/videos)
36+
* Getting Started / Basics
37+
* Dealing with the Past
38+
* Fixing Mistakes
39+
40+
## Jekyll
41+
* After a few failures, I have this running on queuebit.github.io
42+
43+
## Vagrant
44+
* [Getting Started](http://docs.vagrantup.com/v2/getting-started/index.html)

_posts/2013-05-24-practice-log.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-24
4+
tags: practice_log, tk
5+
---
6+
7+
* [Build Podcast 04 - git](http://build-podcast.com/git/)
8+
> Nice overview of git: branching, checkouts and merges
9+
10+
* `git clone source [local_folder_name]` - This seems useful if you don't like the name of the source project
11+
12+
* [Build Podcast 15 - Github](http://build-podcast.com/github/)
13+
14+
* **<@tk>**{: .tk} - Pick a ruby project to look through on a regular basis
15+
* The `fixed #1` syntax for the commit message to close issues was cool
16+
* Pull request process
17+
1. Clone repo
18+
2. Create branch with new feature
19+
3. Push branch with new feature back to Github
20+
4. Create pull request
21+
22+
* [Google Chrome Developer Tools: 12 Tricks to Develop Quicker](http://www.youtube.com/watch?v=nOEw9iiopwI)
23+
24+
* `copy ( __ )` will be really nice so I don't have to select output, Cmd+C
25+
* `inspect ( __ )` does the same thing but within the DOM explorer
26+
* `$0` is the shortcut to the selected element in the DOM explorer
27+
* `console.log( __ )` will take the print the output to the console during JS execution
28+
29+
* [Build Podcast 41 - Vim](http://build-podcast.com/vim/)
30+
31+
* **<@tk>**{: .tk} - Search for other .vimrc files on Github
32+
* `:bn` - switch to next file in buffer
33+
* `:ls` - list files currently in buffer
34+
* `^` - Go to the first character on the line
35+
* `P` - paste before cursor
36+
* `:vs pathname` - open two files vertically
37+
* `:split filename` - open two files horizontally
38+
* `^W` - switch between the two files
39+
* `:tabe filename` - open file in a new tab
40+
* `gt` - go to next tab
41+
* `:reg` - view current recorded macros
42+
* `:colo` - set vim themes

_posts/2013-05-25-practice-log.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-25
4+
tags: practice_log
5+
---
6+
7+
* Worked on side project for 3.5 hours
8+
* Checked out [state_machine](https://github.com/pluginaweek/state_machine)
9+
* Built initial case statement parser for games

_posts/2013-05-28-practice-log.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-28
4+
tags: practice_log, tk
5+
---
6+
7+
* [Build Podcast 39 - Vagrant](http://build-podcast.com/vagrant/)
8+
* `vagrant package` - Package up vagrantfile, box, etc to share with other devs
9+
* **<@tk>**{: .tk} - Resources to checkout
10+
* [Pregenerate typical Vagrant builds](http://rove.io/)
11+
* [Vagrantbox.es](http://www.vagrantbox.es/)
12+
* [Slideshare intro to Vagrant](http://www.slideshare.net/salizzar/introduction-to-vagrant)
13+
14+
* [Automate Your Development Environment by David Kerber](http://www.confreaks.com/videos/2368-rmw2013-ready-to-code-automate-your-development-environment)
15+
* Options for configuring Vagrant boxes: shell, puppet (_used in this video_), chef
16+
* Puppet modules for rvm, and custom manifest for postgres
17+
* [Dave's vagrant-example](https://github.com/davekerber/vagrant-example)
18+
19+
* [Build Podcast 43 - SQL](http://build-podcast.com/sql/)
20+
* [SQLfiddle](http://sqlfiddle.com/) seems like a nice tool for mocking up DBs
21+
* `GROUP_CONCAT( _ )` - interesting way of displaying data without tons of rows
22+
* Powerful [example using ActiveRecord and Sinatra](https://github.com/sayanee/Build-Podcast/tree/master/043-sql#with-ruby-sinatra) with MySQL
23+
24+
* [Confident Code by Avdi Grimm](http://www.confreaks.com/videos/763-rubymidwest2011-confident-code)
25+
26+
* Narrative Method Structure
27+
1. Gather input
28+
2. Perform work
29+
3. Deliver results
30+
4. Handle failure

_posts/2013-05-29-practice-log.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-29
4+
tags: practice_log
5+
---
6+
7+
* [Real Software Engineering by Glenn Vanderburg](http://www.confreaks.com/videos/282-lsrc2010-real-software-engineering)
8+
> _defined process control model_ - requires that every piece of work to be completely understood. A defined process can be started and allowed to run until completion, with the same results every time.
9+
10+
> _empirical process control model_ - provides and exercises control through frequent inspection and adaptation for processes that are imperfectly defined and generate unpredicatble and unrepeatable outputs.
11+
12+
* \[PDF\] [_The Making of an Expert_ by Ericsson, Prietual, and Cokely](http://www.uvm.edu/~pdodds/files/papers/others/2007/ericsson2007a.pdf)
13+
* _The development of genuine expertise requires struggle, sacrifice, and host, often painful self-assessment._ p2
14+
* Required components:
15+
* time
16+
* _deliberate_ practice
17+
* well-informed coach

_posts/2013-05-30-practice-log.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-30
4+
tags: practice_log
5+
---
6+
7+
* [Intro to 'Write Code Faster: Expert-level Vim'](http://www.youtube.com/watch?v=ke7SfUFvvxo)
8+
1. Learn to use the vim `:help`
9+
2. Keep a cheat sheet on your desk (7-10 commands), find excuses to use them
10+
11+
* If you do something the _wrong_ way, undo it and redo it the _right_ way
12+
3. Keep track of your annoyances (mistakes, things that are harder than they should be, etc) and put them on a list (back of cheat sheet)
13+
4. Learn all of the single letter commands (80% of power with 20% of effort - Pareto)
14+
5. Rebind caps lock to ESC
15+
16+
* [Write code faster: expert-level vim (Railsberry 2012) by Ben Orenstein](http://www.youtube.com/watch?v=SkdrYWhh-8s)
17+
18+
* **<@tk>**{: .tk} - Checkout some of this other content Ben talked about
19+
* Look at Ben's `.vimrc` file
20+
* [Command-T](https://wincent.com/products/command-t)
21+
* <http://vimuniversity.com/>
22+
* [surround.vim](https://github.com/tpope/vim-surround)
23+
* <http://learnvimscriptthehardway.stevelosh.com/>
24+
* <http://vimcasts.org>
25+
26+
* [Learn Ruby The Hard Way](http://ruby.learncodethehardway.org/book/) - Exercise 27-35
27+
28+
* `(0..5)` - the [Range](http://ruby-doc.org/core-2.0/Range.html) class seems neat, similar to some of the value of python

_posts/2013-05-31-practice-log.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: post
3+
title: Practice Log for 2013-05-31
4+
tags: practice_log
5+
---
6+
7+
* [Learn Ruby the Hard Way](http://ruby.learncodethehardway.org/book) - Exercises 36-43
8+
* Installed [vundle](https://github.com/gmarik/vundle) to mange vim plugins

0 commit comments

Comments
 (0)