📜 ⬆️ ⬇️

Ruby on Rails Developer Competency Matrix

How can a beginner Rails developer understand which way to dig in order to become an experienced programmer as quickly as possible? It is clear that you need to work, work and work again. But besides this, the horizon is important, which will make it clear which way to go along the road to the title of professional.

Two months ago, we launched offline & online courses in Ruby on Rails in Kharkov for beginners in RubyBursa . Of the features - half of the classes were in the classroom, half in the format of a webinar. We put tough conditions for doing homework and for the first failure the participants received a yellow card, for the second - red and dropped out of the courses. Such “draconian methods” allowed 35 out of 40 participants to reach the end with 100% fulfillment of all household tasks.

Some students in the process of learning were interested in: "and then what?". Our teacher Oksana specially prepared a trial version of the Ruby developer competency matrix in the form of an answer to this question. We do not pretend to be academic and understand the possible controversy of the proposed scheme.
')
Determine how many points you have in total in all areas and summarize at the end of the article:

2 points4 points6 points
Frontend
Html, css
I know the basic things, I can correct the layoutI can impose certain parts of the pagesI can impose the whole project (it will be correctly displayed in
all browsers)
Haml, slim, coffee, sass, less (either of) ...
I know what it is and why it is used. I personally do not useI know what it is. I use in the project. sometimes you have to use converters (even for small code)I use in the project, using various buns (for example, mixins)
JS, jquery and various frameworks
I know basic things, I can correct what isI can write code for individual parts of the functional.I can completely write all the js for the project (if necessary)
Testing
Understanding the difference between TDD and BDD, I can write a simple test. But in the project it somehow did not work.I write tests (unit), I try to test to the maximumknow what to test, how and why
DB
SQL
I know a bit of SQL (select * from users)I am able to make requests of varying complexityProcedures, functions, triggers, indexes - I know!
NoSQL
I know the difference with SQL, the main typesI can use in a real projectI can advise on this topic
Deploy
I can configure the server with the help of experienced developers and Google, at random and dances with a tambourineI can configure the server, but not at the level: guys, everything is just right thereI can independently configure the server, I know the difference in settings and configurations
Rvm, rubygems, bundler ...
With someone else's help or the same tambourine I put the necessary for work (rvm, ruby, rails .....)I know how to put everything, but occasionally I get errors that are not clear what to do.Why are there - a couple of teams ...
Patterns
Well ... uh ... heard. Nice stuffI know the basic patterns, I can apply in practice, but it is difficult to understand from the real problem, where is it necessary?I actively use and use, I can tell why what pattern is intended
What do you know about RoR?
I use itI know the order in which the files are launched, I can use the rails components separately.I know how it works, so to say the insides rails
Caching
I know what it is and why. I have not used it personallyI know what it is and why I use (used) in the projectI understand well the principle of work, the advantages, I know what is best to use
Queue
I know what it is and why. I have not used it personallyI know what it is and why I use it in the projectI understand well the principle of work, the advantages, I know what and how
better to use
Metaprogramming
I know what it is. In practice, I do not useI know basic thingsI know at the advanced level
Git
I know the basicsI work well with git, but sometimes there are problems that have to googleI know at the advanced level (I think, as git). I understand perfectly the principle of work, merging, changing history, like relatives, in general
Writing the code
I write, as it happens, the logic in the controller. If the code is not needed - I'll comment it out - it will suddenly come in handy. sometimes thinking about refactoring ...I try to keep the logic in the model, scrub my code. methods are not large, the code is clear when read by other programmersthe code is clean. I use different patterns (I know when and what is better), well, not a code, but a pretty sight :)
Planning, estimating
spend planning their tasks and estimeyty. preliminary estimeyty often do not converge with the actual execution timeI can plan and evaluate a system of average complexity. in reality, everything sleditsya according to plan (with a slight error)I can plan and evaluate a complex project (for myself and the team), distribute tasks. everything fits according to plan (with a slight margin of error)
RoR news
I read some posts ... in Russian ... if someone throws a link ...Periodically punches for reading / viewing news in the world of RoR
I listen to podcasts / read the latest news, in general, that neither is aware of

Summing up:
up to 25weak ... very weak ... but how many interesting things ahead!
25-52you already know something and you can. The initial base is,
but there is still much to learn
52-78you have good knowledge. not everything is perfect, but already there
what to show and how to boast. do not stop, and you will be mega-cool!
78-102you are awesome. without a doubt. it is a success.


We hope that our matrix will give you an understanding of which areas you need to pull up. The best way would be to ask your employers to give you tasks that in practice will allow you to pull up the right direction. If this is not yet possible, practice your home project. Theoretical study of blogs and books will give a smaller result. Successes!

PS Now we are recruiting for a two-month online Ruby on Rails RubyBursa course , which will begin in mid-May. Courses are designed for beginners Ruby developers, as well as "IT polyglot"

Source: https://habr.com/ru/post/220037/


All Articles