views:

245

answers:

3

Hi All,

I have 2 years of experience in Ruby on Rails. I have basic knowledge (very bsic) of mysql such as data insertion, join, select from more than one table. But now I want to know more about it because my friends are having trouble in interviews when they are asked questions like:

  1. What is the trigger?
  2. which trigger is called when ... ?
  3. what are views in mysql? etc.......

Are these questions for developers? Is it basic database? Also what other things developer should know having experience of 2 years or more.

I am in double mind as I have over two years of experience in ruby and I am learning new things everyday, in ruby only. If someone ask me to rate myself I can't give more than 5 out of 10 in ROR only.

So my question is, what are the general things developer must know having 2+ years of experience?

Regards,

Salil Gaikwad

+5  A: 

Those aren't even "basic" database, IMO. I'd ask about things like what normalization is, indexing, etc.

A developer doing web applications should know about HTTP, TCP/IP, CSS, and JavaScript.

XML and JSON are important data transmission formats.

You ought to read something about design of web pages. "Don't Make Me Think!" is a good start. Also read about graphic design.

Ruby is just one language for developing on the web. It's not the only way. Better to learn some of those fundamentals.

duffymo
I'd weigh database understanding far over an understanding of TCP/IP. Not to undermine the importants of understanding TCP/IP, but many developers manage to get by without ever knowing anything beyond simple networking. Database concepts, on the other hand, are far more necessary to understand. ActiveRecord abstracts a good bit of that away from RoR developers, but what happens when it doesn't do what you expect? I personally recommend developers learn SQL before learning ActiveRecord, but I'm sure not everybody would agree with me there.
senfo
+2  A: 

To be honest with you, it sounds like you might be too focused in a single technology (Ruby on Rails). If you're having a difficult time answering questions regarding database technology, focus your energy on MySQL for the next few months.

The questions you're being asked are slightly advanced, but they're relatively common. While it's great that a developer understands ActiveRecord, I'm eager to determine how candidates will work without the tools.

Do you know how to manually write SQL, for example?

I expect junior web application developers to know (X)HTML, CSS, JavaScript, database development concepts, and at least have a basic understanding of the web server for which they are targeting.

senfo
I think a developer that knows how to write SQL by hand can be considered dangerous. It's sometimes easier to write SQL query than constructing it from the database APIs, there is a chance that he gets tempted to skip the API and write an insecure SQL (perhaps noting that he'll rewrite it properly later) then never get to rewrite. In general though, SQL knowledge is good.
Lie Ryan
That's a valid point, but I've encountered far more examples of people that get stuck using a tool than educated users recklessly going around the tool to write something their own way.
senfo
+4  A: 

I feel that answers to these questions are highly subjective. Sometimes a developer with ½ year of experience will call some developer with 5 years of experience stupid because he thinks that there is such and such a thing that you must know. The 5 year veteran probably never needed those things anyway and is still very productive. Everyone has different expectations.

If there is a question that you cannot answer even with 2 years of experience, is it your fault? You maybe a Ruby and rails veteran, but you might still not be a master of things MySQL specific if you always used Postgresql. If your previous applications were not heavy on the database, it's completely understandable that you don't know much about databases. I would say that it depends on the job what kind of knowledge you need.

palto