Establishing Yourself: A gem/application-driven method of building experience

2014-07-08 by Nathan Walls (Meetup)

Why?

  • avoid stagnation
  • job or portfolio seeking
  • keep skills fresh by working on things/problems not addressed by daily work

Portfolio

  • writing is a good exercise to clarify thinking
  • blogging helps build community awareness
  • stand out - not many people write
  • include at least two substantial posts in portfolio
  • proofread

Code

  • toy + learning
    • fizzbuzz
    • code kata
  • project
    • avoid code that you don't have permission to share

Show some code in portfolio, but not all code ever written.

When?

  • Start writing now, iterate and refine before it is needed
    • key promotion opportunity
    • end of year reviews
    • job opportunity at dream company

Treat portfolio as a personal kanban project. Work on it whenever is convenient.

Getting Started With A Gem

Sample gem (work in progress)

Files

  • README.md
  • super_gem.gemspec
  • Gemfile
  • Gemfile.lock (should not be committed for gems, only for applications)
  • lib/super_gem.rb
  • lib/super_gem/version.rb
  • tests

Documentation

  • YARD or RDoc
  • README.md

Gotchas

  • Gemfile versus super_gem.gemspec
  • Gemfile is for development dependencies
  • *.gemspec is for end-user dependencies

Code Hosts