Ruby on Rails developer salary in Russia October 2017

Russian Ruby on Rails developers labor market analysis according to the results of October, 2017
10 October

We publish the analysis of the labor market of developers in Russia monthly. For Ruby on Rails developers there were 766 vacancies. The vacancy rates were distributed as follows. 

Salary EstimateRuby on Rails Russia October 2017
Ruby on Rails developer salary estimate 

The most of the developers are required in Moscow, the least in some remote areas.

Ruby on Rails developer vacancies in different cities Russian October 2017
Number of Ruby on Rails developer vacancies in different cities

Ruby on Rails developers are the most required by the following company brunches: 

  • IT, System Integration, Internet
  • Media, Marketing, Advertising, PR, Design, Production
  • Financial Sector

Number of vacancies in different companies Ruby on Rails Russia October 2017
Number of Ruby on Rails developer vacancies in different companies

According to the experience required, the vacancies are distributed as follows.

Number of vacancies by experience level Ruby on Rails Russia October 2017
Ruby on Rails developer vacancies by the experience level

The average salary for Ruby on Rails developer in Russia is about 1,872.

The analysis was carried out by the Hype.codes portal method using the hh.ru data.

DateTime, Timestamp, Time and Date in Rails

Learn about key differenece between DateTime, Timestamp, Time and Date in Rails
31 October

The difference between different date/time formats in ActiveRecord have little to do with Rails and everything to do with whatever database you're using.

Using MySQL as an example (if for no other reason because it's most popular), you have DATEDATETIMETIME and TIMESTAMP column data types; just as you have CHARVARCHARFLOATand INTEGER.

So, main differences: DATE only stores a date, TIME only stores a time of day, while DATETIME stores both.

The difference between DATETIME and TIMESTAMP is a bit more subtle: DATETIME is formatted as YYYY-MM-DD HH:MM:SS. Valid ranges go from the year 1000 to the year 9999 and everything in between. While TIMESTAMP looks similar when you fetch it from the database, it's really a just a front for a unix timestamp. Its valid range goes from 1970 to 2038. The difference here, aside from the various built-in functions within the database engine, is storage space. Because DATETIMEstores every digit in the year, month day, hour, minute and second, it uses up a total of 8 bytes. As TIMESTAMP only stores the number of seconds since 1970-01-01, it uses 4 bytes.

You can read more about the differences between time formats in MySQL here.

In the end, it comes down to what you need your date/time column to do. Do you need to store dates and times before 1970 or after 2038? Use DATETIME. Do you need to worry about database size and you're within that timerange? Use TIMESTAMP. Do you only need to store a date? Use DATE. Do you only need to store a time? Use TIME.

Having said all of this, Rails actually makes some of these decisions for you. Both :timestamp and :datetime will default to DATETIME, while :date and :time corresponds to DATE and TIME, respectively.