The best advice that I received from a former DBC graduate who just got a job within 3 weeks of graduation was to completely negate learning any high level information given specific time constraints. Fundamental low level Ruby will set the foundation for understanding all high level function such as Rspec, Rails, Gems, re-factoring, etc.. We must all crawl before we can run and as much fun as it is scaffolding using Rails and having things populate from the command line, it will be our deep understanding of Ruby that sets us apart from other candidates outside of DBC and set the base from which all knowledge will build upon.
Reading these books feels a little bit like pulling teeth which is why I signed up for DBC in the first place because I love learning by doing and diving into things headfirst. That being said, I have been to the emergency room twice for exactly the same reason so I would take my personality with a grain of salt. I am learning more and more that the coding aspect is actually the least difficult piece to understand. What separates a true professional is the way in which the code is assembled and maintained.
I have watched first hand at a company that I have worked for where code was not properly maintained with too many dependencies and ill defined classes that turns out being a proverbial house of cards. The best part about this coding death cycle is it is no one person's fault. Great developers are put under extreme time constraints and have to slowly but surely degrade the code with dependencies to meet the expectations of management who answer to higher powers with even more time constraints (VC's, Angels, Etc.). What I learned from Athletics in college was "an ounce of prevention is worth a pound of cure"and I have had every surgery and running injury known to man to prove it. The same goes for sustainability in code. I watched features being built in 3 days and within 9 months we were not capable of building similar features within 3 months.
The beauty and curse of a dynamic object oriented language like Ruby is having limitless potential but also possessing the self control and discipline in order to maintain and implement sustainable and flexible design. To wrap it all up, that is exactly what these last two books that I have been reading are all about. I default on big picture thinking, but this is the foundation to which the view is designed. Let the foundation building begin.
Completion List:
- Black = Previous preparation completed
- Red = Preparation completed this week
- Ruby on Rails Tutorial by Michael Hartl (http://ruby.railstutorial.org/)
- X2, I like to do this as a gauge of how far I have come and intend on doing it 3X before the start of DBC)
- The first time I did it the only thought on my mind was I hope I don't break anything ;-)
- This will teach you the basics of GitHub, Git, and Heroku
- Ruby Koans (www.rubykoans.com)
- Learn Ruby syntax in a comprehensive ruby file.
- 275 exercises
- Git Immersion (http://gitimmersion.com/)
- Provides a comprehensive overview of Git version control. This is important as there will be group projects and pairing that start at DBC and you will need this in order to track changes
- Configure .gitconfig file for shortcuts
- 53 exercises
- Project Euler (http://projecteuler.net/)
- Solve mathmatical equations with script written in Ruby that your computer has to calculate within 1 minute.
- These range from mildly difficult to mind melting mathematic/developer genius
- This is an excellent way for you focus on writing scripts that incorporate loops and iterators to solve complex mathematical equations that only a computer can solve.
- This will also improve your knowledge of Ruby Operators and Boolean Logic.
- Code Academy (www.codeacademy.com)
- Provides an elementary insight into Ruby syntax. 10 chapters with 6+ excercises each
- Not my favorite but provides the basics like methods, blocks, loops, iterators, etc..
- FREE
- Code School (www.codeschool.com)
- Much more in depth segments that involve 6 chapters and 6-8 exercises per chapter.
- Unit testing, Rspec, Ruby syntax, Git, Rails best practices, Java, HTML5 and CSS.
- Much more difficult than Code Academy, but still a confined environment with limited context.
- $25/month and $20/month after that. You should be done with most of this within 2 months so no more than $45 needs to be spent.
- Practical Object Oriented Design in Ruby by Sandi Metz (www.amazon.com)
- Looks in depth into building sustainable dynamic code.
- Teaches how to mitigate dependencies to make code more flexible and minimize cost of change in the long run.
- 240 pages
- $32.09
- Eloquent Ruby by Russ Olsen (www.amazon.com)
- Focuses on best practices in Ruby design and implementation with simple to follow rules in order to maintain the continuity of code.
- This is much more detailed oriented than the Sandi Metz book above and provides countless examples of exactly how code should look and be organized.
- xx/395 pages completed
- $33.46
Epic Fail of the week + hopeful resolution: None this week! Then again, there is not too much damage you can do reading a book. Will start exercises after Friday when I get the DBC pre-requisite material so I'm sure there will be more walls for me to run head first into soon.
No comments:
Post a Comment