Yet, I and many others -- Rails developers that are beginner to
intermediate level -- have the opposite experience: we're having a very
hard time finding jobs. Employers seem to be looking for people with
more experience, previous professional Rails work, better github
codebases, etc.
An idea*: Boston.rb could define a "certification track". A list of
steps that candidates could follow to become "Boston.rb-certified".
Boston.rb members could vet the code, or verify the candidate's
completion of each task ("worked well with others", "learned quickly",
"used git appropriately in a group project", etc.)
The end result would be:
- the group could vouch for the person.
- the person would have an attractive and balanced portfolio.
Providing general guidelines is simple: "Learn stuff, develop some apps,
push them onto heroku, come to meetings & hackfests, post code on
github, and contribute to an open-source project."
But a defined certification track would help candidates allocate their
time**, choose projects wisely, and prove their skills.
For candidates, knowing there are specific people they can turn to for a
little guidance along the way would help too.
What do you think?
Chris
* A bunch of people helped formulate this idea at the end of the
meeting Tuesday.
** For example: I myself have spent too much time on too many projects
that don't impress employers. Learning routing inside and out in Rails
2.2, and demonstrating heavy tweakage, was pretty useless when I could
have been learning more efficient and buzz-worthy ways to do the same
thing -- Rack, named scopes, Rails 2.3 (and Rails 3) routing, or
probably 20 other things I don't even know about.
A more experienced developer is paired with someone less experienced,
guides them to the right resources for learning, helps review code,
suggests ways to improve your Github codebases, and maybe make
introductions for jobs when the time is right.
> --
> You received this message because you are subscribed to the Boston Ruby
> Group mailing list
> To post to this group, send email to boston-r...@googlegroups.com
> To unsubscribe from this group, send email to
> boston-rubygro...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/boston-rubygroup
>
I think this is a good idea but I'd be very careful about using the word "certification". The Rails community at large has not been that receptive to that word probably due to it's use in the MS and Java communities.
Good luck.
Mike
I think that's an excellent idea, Dan.
This reminds me a little of the controversy around Obie Fernandez:
http://blog.obiefernandez.com/content/2009/02/rails-maturity-model.html
As a developer it is very attractive: Do these steps to improve.
As an employer, it is very attractive: This person has the skills I want.
And every time I look at http://workingwithrails.com/ , I want to go and do the things that they have in their checklist.
Not necessarily to have a full checklist, but because they are good and fun to do.
So for some, it may be a good motivator.
Lawyers, Doctors, Accountants, and many other professions have certifications, tests, and or checklists.
Massage Therapists need to take a certain amount of training a year.
Every profession needs something like this.
But the implementation is a little tricky and some people react strongly to this.
Schools are in the middle of trying to figure this out. Either with teacher certification, tenure, student testing, or college certification.
I remember when the Java Certification came out. Some people seemed to focus on the paper and not the programming.
College is similar - just get the diploma.
So people react - cause they don't want to take tests, they just want to learn and have fun.
Mentorship, a checklist, a full fledge certification - they all seem good ways for us to take control, help others, and learn.
And different people learn in different ways.
Seems like a good opportunity for a github / heroku / twitter app.
--Keenan
PS We could have sub cerfications like the hashrocket stack or thoughtbot stack.
My initial reaction is that if you can't find work because you're too
inexperienced, it's because you're too inexperienced. :)
Instead of doing it on your own, or going down the
mentorship/certification track, maybe you should look into
subcontracting for established independents and smaller firms. Dan
Pickett, for example, has Enlight Solutions. What other small
firms/teams/independents are out there? Are you guys & gals looking
for more hands?
Perhaps we need some kind of marketplace for senior developers to find
junior developers and vice versa.
$0.02 from someone working instead of being at RailsConf,
-Ryan
Also, we may want to shy away from grouping people as proteges and
mentors because it may depend on the topic. I'd be glad to be a
mentor for Rails 3, for example, but would end up in the protege
category when dealing with message queues. railsmentors.org
categorizes by topic.
I was surprised to see so many expert level from the survey. I wonder what is even generally seen as mid-level or senior as far as abilities and such.
Also, newer folks should certainly be trying a portfolio project, and likely get that - but what sort of things catch the eye as far as features (suitable complexity) ?
-- Andrew
Want to learn Cucumber? Start a little project using it to figure out
how it works and then blog about it, write about your findings and
then share the code on GitHub. The fact that your contractor doesn't
use the "fancy" tools in it's project doesn't mean you can't start
using them by yourself in your personal projects.
Most of the people I've seen working with Ruby/Rails are in real world
projects that just can't follow the trends and fashions that show up
every single day but this should never be seen as an excuse. We should
experiment, we should try new technologies and solutions and there
will be a time when they are the best option in a "oldie" project and
you will have the skills to get this new fancy tool from your toolbox
and get it up and running in the project.
I think the main difference between the n00b and the rockstar is that
the rockstars will not wait for an opportunity to lean a new
technology in their jobs, they'll learn it as soon as possible and
will be ready to apply it when needed in their jobs. Being proactive
is always better than always being the firefighting guy.
-
Maurício Linhares
http://codeshooter.wordpress.com/ | http://twitter.com/mauriciojr
I am the "friend" mentioned in Greg's email. I have been pondering how to
become more accomplished at writing clean Ruby on Rails code. Getting from
'have done one complete project' to being able to 'be paid for creating
someone else's project' has felt like a significant hurdle.
The job postings for Rails developers use words like rockstar, ninja, expert
and I am not any of those things yet. Working on solving real business
problems, in what is to me a new language, is actually more often a problem
of knowing the right syntax. For me, I know what the code should do. I can
create workflow diagrams, and pseudo code to solve the problem. I just can't
right code that works! And sometimes knowing what the search term should be
is actually really hard. I suspect that the hurdles are different for each
late-n00bie.
Anyhow, I had this idea that a mentorship program could create a bridge from
late-n00b to advanced-intermediate.
For this to work, there would need to be a foundation of understandings. For
example, for a n00b to enter the program, perhaps they have to have written
at least one full, working app; or attended at least 6 months of boston.rb
meetings; or have a job in a company that is using Rails. [This is part of
what the group should discuss.] As I have reviewed tons of documents over
the past few days on how to set up a program like this, the term protégé is
used a lot for this person.
For a protégé/mentor relationship, I think there needs to be a time-frame.
Since it takes a certain amount of time to develop a relationship, including
shared vocabulary, I would think that a three-month commitment would make
sense. [Again, up for discussion.]
As to mentors, I think we would really be doing self-identification here
unless there is someone brave enough to categorize their peers.
And I really do think that mentors can be protégés as well.
So let's think about HOW this could work. I have this idea that we could
have a "bank" modeled on the old childcare bank-system that was popular
during the 1980's. Since so many of you were probably not paying attention
to Moms during the 1980's and so few of you are women, let me elaborate.
This model says that every time you watch someone else's kids you earn and
equal amount of time. So watching Child F for 3 hrs banks you 3 hrs, time
you can redeem from any other child-watcher in the group.
So, for every hour a mentor works with their protégé, they would bank that
time to receive mentoring from another mentor. The expectation would be that
every protégé would become a mentor in some aspect of Rails to balance out
their account. Sadly, this is the weakness of this proposal. It would be
really easy for a protégé to learn what they wanted, or decide that they
hate Rails and never give back. I would love to hear thoughts on how to
solve this. A program that has lots of takers who never give back will
definitely fail. Should the n00b-protégé be asked to do code grunt work for
their mentor, deposit a fee for participation that they can have returned
when they have given back, ... Or ?
I think that this idea has some merit and some complications. I am
personally willing to invest time into turning this idea into a real
program. I have experience with matching teaching/learning styles in real
life, and did so successfully for about 9 years.
However, I would need the help of the group at large to even create a
framework, and so I ask you, the community, does this idea have enough
validity to consider investing energy into making it a reality?
All the best,
*susan*
p r e t t y c o o l s o l u t i o n s
Susan McM. Tucker database and web design 617.694.1709
get rich quick scheme
Medical school > Internship > Residency > Fellowship > Board
certification > Licensure > Continuing medical education
(clearly there is not a 1 to 1 match for developers)
- Brian
> What if mentors declared themselves available at datetimes at a place of their choice? I'd be willing to set aside a few hours here and there at coffee shops near where I live. Protégés request to be scheduled for that mentor and time. Mentors accept or reject (might have multiple requests, life might interceed with family commitments, or other reasons, but no reason to avoid hard feelings).
I really dig this idea. A simple calendar app where a mentor can input some time slots she/he is available and a location(s) where the mentor can be found.
I'm a big believer in doing, doing, doing. Tenacity in the face of
difficult problems, in my experience, is what forms the right pathways
and structures in the gray matter. This book, Pragmatic Thinking and
Learning http://bit.ly/dpooFG , talks about how skills and multiple
levels of mastery can be and are typically achieved. Also, there has
been a lot of writing lately about how the mind learns skills and a
lot of it points towards continuous focused practice.
> --
> You received this message because you are subscribed to the Boston Ruby
> Group mailing list
> To post to this group, send email to boston-r...@googlegroups.com
> To unsubscribe from this group, send email to
> boston-rubygro...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/boston-rubygroup
--
Tom Dyer
My mentor would guide me at a very high level, and help me figure out
my direction in the Rails ecosystem. It wouldn't be a very big time
commitment. Examples:
* if I want to start working on a library, I would talk to my mentor
about it, so that he/she would tell me what similar libraries there
are out there, and help me figure out if it's worth building something
new
* my mentor would point out good books to read, good code to learn
from, and good libraries to contribute to (example: trying to
contribute to Rails was a very unpleasant experience for me; it
would've been nice for a mentor to tell me that I shouldn't try doing
that for a while)
* my mentor would connect me to other people in the Rails world that
share similar interests
I think a mentorship relationship, as I'm envisioning it, would be
valuable at any stage -- even a complete noob would benefit from being
pointed to stuff that matches their interests.
Once I have some decent knowledge of Rails (e.g., can build a small
application on my own), I would seek to become an apprentice for one
of the senior people in the community. As an apprentice, I would help
out my master (I know there should be a better word for this, but I
don't know it; if you do, pretend I used that word instead) with their
coding, in return for a low rate (I'm thinking $10/hr but I'm not good
with numbers). I think this works particularly well in the Rails
community, since most people have consulting arrangements. My master
would review my code, and point out to learning resources that I
should use to improve myself. Most importantly, after the review
process (possibly multiple iterations), my master would sign off on
the code, implying that it's as good as if they wrote it themselves.
The intention is that, after a few months, I would get to a level
where I can perform close to my master's level, and my master would
vouch for me.
I think it's important to break up the two, because of the different
time commitments. Mentorship can be benevolent, but it's important to
balance incentives correctly for the apprenticeship, since that's a
big time commitment for both parties involved.
Thoughts?
Victor
More info on this novel approach can be found on his blog at
http://seacreature.posterous.com/tag/rubymendicant
Gregory is a respected Rubyist and general good guy that's spoken at
the Boston Ruby Group a couple of times. He's made some great
contributions to the ruby community such as Prawn, Ruport and the Ruby
Best Practices book.
I believe that Gregory may have a solution for some of the concerns
stated above. Now, it may be too late or there may not be enough
openings in this RMU. But, I believe his approach and his and other's
toughts on this topic are at the very least valuable to this
conversation.
Also, lots of good stuff for getting dug in, but I am still curious - how do our 20+ experts gauge their expertise? Self-assement vs peers? Years in? Contributions? It was striking to me too that the expertise was both Ruby and Ruby on Rails.
-- Andrew
Years of experience is not a great indicator of skill. Neither is
your walking-style: http://entrepreneur.venturebeat.com/2010/04/07/hiring-try-the-crowd-navigation-method/
IIRC in the medical field the term for an experienced doctor who supervises a medical student in the clinic is a "preceptor," which sounds kind of cool. But whatever we were to call it, "master" is definitely too loaded a word.
> with their
> coding, in return for a low rate (I'm thinking $10/hr but
> I'm not good
> with numbers).
This is a good idea in general, but I think it'd be important in this program to commit to paying a living wage. Although I don't have the exact number to hand, in Boston that's probably somewhat over $10/hour.
| What if we started a tradition of "office hours" on IRC or Skype or whatnot? Basically, some of the experienced developers here commit to making themselves available online at certain regular times, and novices with questions know that at those times there's someone they can ask for advice. This is clearly less structured than a mentorship program, but I believe that many n00bs would find this helpful in their development--particularly if the experienced programmers take a Socratic approach that leads to the novice figuring things out for themselves, guided by leading questions from the teacher. --Phil --- On Sat, 6/12/10, Rebecca Frankel <rfra...@alum.mit.edu> wrote: |
| Formspring is a pretty neat idea, but I know from experience that there are two possible problems with using it for something serious: (1) The software is (or at least was) flaky. Long downtimes for part or all of the functionality aren't uncommon. (2) There's, IIRC, a character limit (200 maybe?) on questions, which makes it hard to ask something complex. Of course, we could use pasties as a workaround. --Phil --- On Sat, 6/12/10, Dan Pickett <dan.p...@gmail.com> wrote: |
I've found it to be a valuable experience and practice to track down,
at least, the cause of a killer bug. Of course, I also enjoy solving
the bug, like the feeling, but I'm thinking that's not where most of
the value of this type of exercise comes from.
To me, it's about tenacity and practice. The tenacity to not give up
and the practice it takes to learn how to best solve problems in
general. I really can't count how many times I've just jumped into the
source for gems and all kinds of Ruby code. Usually, after some
googling: google results and these kinds of forums are my some of my
most valuable mentors.
Ruby is, generally, so much more readable and open than any other
language I've used. And demanding to understand some wonderfully
crazy new idiom in code, concept or the cause of a killer bug has just
taught me so much. It just pisses me off when I come across something
I think I can't, at least initially, understand. And it's seems that
the most difficult and frustrating problems have taught me the most.
--
Tom Dyer