BrisRuby / meetups

BrisRuby meetups and talks

Home Page:http://brisruby.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Things you should know after 2 years in your first Rails job.

daphsta opened this issue · comments

Ruby

1. BLOCKS
  • do..end, lambda, yield
2. ENUMERABLES
  • each,inject,collect,compact,concat,count,delete,delete_if,empty?,map,push,reverse,rotate,select,flatten,flat_map
3. CLASSES/METHODS
  • class methods, instance methods , class, modules, private methods, protected methods, instance variables vs class variables

Rails

1. CREATE AND SET UP A PROJECT
  • set up in rails config
2. GENERATE
  • Models,Controller,Views without scaffold
3. CREATE CUSTOM GENERATORS
4. UNDERSTAND MIGRATIONS
5. TESTS (RSpec/Minitest)
  • generate controllers and unit tests
  • usage of factories/fixtures
  • stubbing methods/ mock objects
  • feature tests
6. MODELS
  • create ActiveRecord models
  • know when to use ActiveModel
  • validations and create custom validations
  • basic associations; belongs_to, has_many, has_many through,has_many_and_belongs_to
  • scope
  • callback
7. CONTROLLERS
  • index,show,create,update,destroy actions
  • nested resource
  • handling GET,POST requests
  • strong params
  • inherited controllers
  • namespaced controllers
8. VIEWS
  • HTML, Javascript, Javascript Frameworks (eg: jQuery)
  • HAML
  • CSS

Other necessary skills

1. GIT
  • concept of Git (git-scm book)
  • at least git pull, git push, git status, git add, git commit, git diff, git stash, git clone, git reflog, git rebase, git blame
2. COMMAND LINE
3. BASIC SQL QUERY
4. SET UP POROs
5. PATTERNS
  • MVC
    6. UNDERSTANDING OBJECT-ORIENTED PROGRAMMING
    7. KEYBOARD SHORTCUTS

Extra credit

1. DEPLOY WITH DOCKER
2. VIM
3. AngularJS/Ember/React
4. MENTORING
5. PAIRING

👍 nice one @daphsta

While this is nice, I would argue some of the stuff mentioned here. It's good to know all these things, but I wouldn't discourage anyone from applying for a junior position if they didn't feel they knew what everything on this list was.

I copied your original post and deleted out all the things I knew already, prior to getting my junior develop job. What's left is the things I didn't know already, and learned on the job.

That being said, this list of required knowledge might change depending on if you have a tertiary education or not.


Things I had to learn on the job

## Ruby

###### 1. BLOCKS
* lambda, yield

###### 2. ENUMERABLES
* inject,collect,compact,concat,delete,delete_if,push,rotate,select,flatten,flat_map

###### 3. CLASSES/METHODS
* protected methods


## Rails

###### 5. TESTS (RSpec/Minitest)
*   generate controllers and unit tests
*   usage of factories/fixtures
*   stubbing methods/ mock objects
*   feature tests

###### 6. MODELS
* validations and create custom validations
* callback

###### 7. CONTROLLERS
* nested resource
* handling GET,POST requests 
* strong params
* inherited controllers
* namespaced controllers

######  8. VIEWS
* Javascript, Javascript Frameworks (eg: jQuery)
* HAML

## Other necessary skills

###### 1. GIT
* concept of Git (git-scm book)
* at least git pull, git push, git status, git add, git commit, git diff, git stash, git clone, git reflog, git rebase, git blame 

###### 2. COMMAND LINE
###### 3. BASIC SQL QUERY
###### 4. SET UP POROs
###### 6. UNDERSTANDING OBJECT-ORIENTED PROGRAMMING
###### 7. KEYBOARD SHORTCUTS

## Extra credit
###### 1. DEPLOY WITH DOCKER
###### 2. VIM
###### 3. AngularJS/Ember/React
###### 4. MENTORING
###### 5. PAIRING

Hey Nick
This was actually for a Junior Dev with 2 years exp. i.e. what you might
need to know at the end of your first 2 years as a junior dev

On Mon, May 4, 2015 at 11:21 AM, Nicholas Chmielewski <
notifications@github.com> wrote:

While this is nice, I would argue some of the stuff mentioned here. It's
good to know all these things, but I wouldn't discourage anyone from
applying for a junior position if they didn't feel they knew what
everything on this list was.

I copied your original post and deleted out all the things I knew already,
prior to getting my junior develop job. What's left is the things I didn't
know already, and learned on the job.

Ruby

1. BLOCKS
  • lambda
2. ENUMERABLES
  • inject,collect,compact,concat,delete,delete_if,push,rotate,select,flatten,flat_map
3. CLASSES/METHODS
  • protected methods

Rails

5. TESTS (RSpec/Minitest)
  • generate controllers and unit tests
  • usage of factories/fixtures
  • stubbing methods/ mock objects
  • feature tests
6. MODELS
  • validations and create custom validations
  • callback
7. CONTROLLERS
  • nested resource
  • handling GET,POST requests
  • strong params
  • inherited controllers
  • namespaced controllers
8. VIEWS
  • Javascript, Javascript Frameworks (eg: jQuery)
  • HAML

Other necessary skills

1. GIT
  • concept of Git (git-scm book)
  • at least git pull, git push, git status, git add, git commit, git diff, git stash, git clone, git reflog, git rebase, git blame
2. COMMAND LINE
3. BASIC SQL QUERY
4. SET UP POROs
6. UNDERSTANDING OBJECT-ORIENTED PROGRAMMING
7. KEYBOARD SHORTCUTS

Extra credit

1. DEPLOY WITH DOCKER
2. VIM
3. AngularJS/Ember/React
4. MENTORING
5. PAIRING


Reply to this email directly or view it on GitHub
#99 (comment).

Oh, well that I completely agree with!

Would you still call it a "junior" job after 2 years?

I agree with Nick. This doesn't read like a junior list at all.

Well the idea is that you would be wanting to take a different role after
being a junior for two years. Read: a promotion.
On 4 May 2015 11:59 am, "Alex Ghiculescu" notifications@github.com wrote:

Would you still call it a "junior" job after 2 years?

I agree with Nick. This doesn't read like a junior list at all.


Reply to this email directly or view it on GitHub
#99 (comment).

I love the list, but the title is a bit confusing.
Things you should know after 2 years on the Job, or something to that accord might be a bit clearer.

Agree. I think that's a good title.
On 4 May 2015 12:05 pm, "Nicholas Chmielewski" notifications@github.com
wrote:

I love the list, but the title is a bit confusing.
Things you should know after 2 years on the Job, or something to that
accord might be a bit clearer.


Reply to this email directly or view it on GitHub
#99 (comment).

I'd like to propose a few other activities for a new Rubyist to strive for in their first 2 years.
While not everything is accessible to everyone I think they are worth a mention.

  • Presented a talk at a meetup.
    (Excellent way to learn, teaching becomes more important as you level up)
  • Attended a Ruby or Rails conference.
    (Insight into the community that drives Ruby/Rails, and contacts to help you move further forward)
  • Read a few Ruby / Programming books.
    (I've rediscovered book learnin' and am finding this one of the best ways to learn from people better than me)

I also came across this cool mind map which might be useful to pick and choose from.
https://www.codefellows.org/blog/this-is-why-learning-rails-is-hard

Thanks @patrickgordon and @hackling for the change in the title to clarify the intent of this list.
This is intended to guide a junior dev , so by the end of 2 years, these are what a junior should know. Please feel free to add on to this list.

Good stuff :) @daphsta why not turn it into a gist?

@parameme thanks. @elliotthilaire has almost mentioned the same resource

@daphsta thanks for your great work on this... It was an awesome conversation...