ODOO Q&A


Can you describe Odoo Technically?

Odoo is web based application which is built using its own framework 'Open Object'. Odoo is using Python, XML and CSV as the main technologies.


Do you know the main differences between Odoo 7.0 and the later versions?

Odoo (OpenERP) 7.0 was built using the Old APIs which is still supported side-by-side the New APIs in Odoo 8.0 and Odoo 9.0.
The candidate should be familiar with the New APIs as the Old APIs will not be supported anymore in Odoo 10.0 . He also should be able to give some examples (@api.one, @api.multi, @api.depends, @api.onchange, @api.model, .....)


Can you share some details about the Odoo ORM with examples?

Odoo is depending on ORM (Object-Relational Mapping) in almost every single method. So, the candidate should be able to mention a few examples and when to use it and the expected value returned.
The most common Odoo ORM methods should be known. Also, he should know the difference between browse() and create() as both are returing a recordsets.

What are the types of reports that supported in Odoo by default?

Odoo is supporting PDF, HTML and dynamic reports. The candidate should be familiar with QWeb so that he can create and edit reports.

What are the difference between the modules from the technical point of view?

Nothing!!
When it come to coding all modules are the same as there is no real difference between the code written for HR Modules and that written for Accounting Modules regardless the complexity of the accounting modules.

Can you describe the levels of security in Odoo?

Odoo using users and groups to define the permissions for each unit (users & groups). Also there is the security rules which can be defined as the exception that should be happened in some cases. For example, as an accountant you should be able to delete invoices but you will not be able to delete confirmed invoices.
The candidate should be familiar with these levels of security

Can you install Odoo on a remote server using command line?

Your system administrator should be able to install, remove, start, stop and update Odoo on the testing servers and the production servers. But sometimes it may be useful for the developer to access the server by himself to make sure that everything is well built.




What is the version of Python that Odoo uses?

Odoo still using Python 2.7.x. But I can predict that  they will move to Python 3.x for Odoo 11 or may be Odoo 12 as the main distributions of Linux started to move to Python 3.x which means that the support for python 2.7 will be decreased.
Also, new arrivals will consider the new versions of python.

What is your favorite IDE?

It may be a weird but it should help you to know if the candidate can use and understand the advanced features of the IDEs. Many of developers may prefer to use Text Editors!!.
The most recommended IDEs for a healthy development environment is PyCharm CE and Eclipse with PyDev. If you already have your team, then it would be preferred that the candidate is familiar with your tools or at least he/she can start with it.
It will be great if the candidate can use Debugging and Git in his/her favorite IDE.
For a quick development, you can advise him/her with Odoo PyCharm Templates (here).

Can you use Git commands?

It is a priceless skill to know how to use and get benefit of using Git through GitHub or BitBucket. It will help your team to keep the detailed history of the development along the timeline of the project.

Do you understand the developer mode?

Well, He/She should be able to use the developer mode and get more details that he/she needs for the development.
There are many examples for using the developer mode which may need another separate article but this answer may be a good start to understand the developer mode and how to use it efficiently.

Are you familiar with Odoo Training resources on the Internet?

Another weird question that should help you to understand if the candidate can learn and can to be updated as Odoo is growing and changing so fast.
You may find my training useful, Odoo (OpenERP) v8 Technical, there are more than 1,000 developers there who will be happy to find you among them.

Are you familiar with Linux?

Linux Distributions have been used for decades as servers. So, the candidate should have Linux on his local machine. It can even be much better if he used the same distribution as the one on the server which confirm that his code will work smoothly on the servers.



Other Things to Take Care of :

Testing  :  unit testing / integrated testing for modules, the web controllers and web extensions?
web client structure (JS/QWeb/Controllers).
Reports and Wizards
Git

0 comments:

Copyright © 2013 SoftKul