I know that this kind of question may sound not very good to you. But I
just wanted to
ask you that what is the best way to become perfectly effective and
professional with
good knowledge in rails.
I’m a software developer with almost 2.5-3 years of experience. a TDD,
BDD
and craftsmanship
enthusiast. For the past year I’ve been hacking some stuff in Ruby and
for
the past 6 months
I’ve been reading about rails and practicing on it. Not full time but I
spent a fair amount of time
on this. I’ve read Ruby on Rails Tutorial by Michael H. and wrote the
application completely
myself too. I also made some changes to it according to best practices
of
OO and separation of
concerns, etc. for faster tests, more flexibility and maintainability,
etc.
I’m currently reading Rails 3 in Action by Ryan B. and Yehuda K. and
making some changes
to that application too for the same reasons.
I’ve been doing some other kinds of practice and readings on rails
development too (including watching some
railscasts by Ryan B. etc.)
I just wanted to ask you guys what should I do for becoming really
effective and professional in rails development
with great knowledge in that area?
I really appreciate your helps and advice on this. Thanks in advance for
your guidance.
Best Regards
Hi Sam, I am also in almost similar situation. I am about to finish
Rails Tutorial by Michael H…
I have plans to read “Well Grounded Rubyist” for Ruby and “The Rails
Way” for Rails. Also have plans to watch railscasts.
Apart from that I have joined free course “Software Engineering for
Software as a Service” by coursera.org. This course teaches the
engineering fundamentals for long-lived software using the
highly-productive Agile development method for Software as a Service
(SaaS) using Ruby on Rails.
I request group members to suggest us how to proceed further and
become a good rails developer.
I’m also in the same situation. However I come from the business
analysis
side. No programming knowledge and I have been doing some Ruby on Rails
programming during the last year.
My suggestions are as follows:
Get a project of your own where you are really interested in.
Something which you can put passion behind. For me this was building
a task
app to be able to manage my tasks online. I really wanted to do this
for a
long time, but I did not have the skills of programming!
Identify what your ultimate goal is and within what timeframe. For
me
I wanted my task app to be on the web (not on my machine)! I wanted
it to
be on Heroku. And it had to be done within two months from scratch. I
also
wanted to make little steps. Meaning I wanted to build each
incremental
step and not get lost on the project.
Do it. Make sure you focus on your project and only on this
project.
For me I had to learn more than is thaught in the tutorials. I had to
lean
new tricks. So this triggered me to really search for solutions to
solve my
problems to get to the next step. This really brought in focus. I
could not
try to read and learn another tutorial. I HAD TO WORK ON MY PROJECT.
What happened that I had to learn the basics of git. Without git
you
cannot get onto Heroku. I had to buy some books to learn about login
in
etc. I had to learn css to make my app look good. I had to learn how
models
get hooked to each other. I had to design my app (models etc).
Now here is the most important tip: YOU NEED TO BE THE OWNER OF
THIS
PROJECT. Sorry for the capitals. You better agree with some of your
friends, that you need to deliver each week or each two weeks. You
have to
send in some final product. So no excuses. For me this meant that I
sent
myself an email with the latest version of my task app by email after
each
big step. I also agreed with a friend of mine that he needs to get
something from me. This meant also that I had a finished product each
week.
A finished product is like: task app with all tasks and projects
working.
So again a focus. The next finished product was: get the colours
ready. So
I needed to work on learning stylesheets.
So here are the tips. I’m not there yet. Now my next project is to fix
some
issues in production of my task app. But first I am back to ground zero.
I
have a mac laptop and my whole rails environment is messed up. I want to
start again when I’m mobile but I cannot fix it. I want to get my whole
rails environment cleaned up. I can’t find a good tutorial that fixes
this.
I’m not technical so I’m stuck here. Anyone can help? I run Lion on a
mac
and work with sql light in dev.
Then I have another major new project: build another application from
scratch. And learn how to use another gem of a friend of mine:
inline_forms. He can do great stuff with it. That application will be a
real thing. I might want to just sell it to others, so it is really
production application for small clients.
Let me know if this works for you. Let me know what your next project is
and I can maybe advice. You seem pretty experienced already. So my
advice
focus on a project now.
Op zondag 1 juli 2012 10:58:15 UTC-4 schreef @masihjesus het volgende:
That worth-fully project is a great idea and I’m really trying to find
something to do
and I’ll also be happy to participate on a project too!
if you wanna start on TDD and BDD in general and you meant
language&framework-agnostic, for TDD
I suggest you to read this great excerpt of James Shore Art of Agile
book
on TDD which can be found here → http://jamesshore.com/Agile-Book/test_driven_development.html
for the idea and the concept and also you can read about enormous
benefits
of TDD from this post by
Uncle Bob → ArticleS.UncleBob.TheThreeRulesOfTdd
and
these are good starting
points about the idea of TDD and its benefits and also you can read this
wonderful book by Kent Beck called
TDD by Example (I recommend you try to write those codes in that book
yourself and not just reading them
and move between the test and production code in short cycles etc.)
for TDD in rails in the Ruby on Rails Tutorial by Michael H. he
develops
the whole application using TDD
approach with RSpec.
For BDD you can search and find tons of articles by Dan N., Liz
Keogh,
Matt W. on this idea in general.
also the Rails in Action book by Ryan B. & Yehuda K. use this
approach
for developing the application in it
using cucumber and RSpec. and you also can find great ideas in “The
RSpec
Book” about BDD in general and also
specific to rails. and for a good introduction and checking the surface
of
this whole thing you can
watch this nice screencast by Ryan B. about beginning with cucumber
in
rails → #155 Beginning with Cucumber - RailsCasts
How about we beginners start a real life project together. We can share
our thoughts and gain some experience. I’ve an project idea. If anybody
interested please mail me adnan.ayon[at]gmail.com
Thanks a lot guys, I really appreciate your responses.
Tutorials can say good things about popular gems and some common
practices
in rails development, etc.
And I think one of the things that we should do is trying to not to make
the mistakes
that already exist in rails projects. In most of the rails projects that
I’ve seen
there’s no good OO design and mixing responsibilities is a common thing.
Fat models and slow unit-tests are bad ideas which can be easily found
in rails projects. We should strive for better separation of concerns
and
SOLID design in our application.
These things can make good differences in the apps we write.