The world of software development is wonderful. The normal thing is that you learn much more in the first 6 months working as a professional programmer than in most of the time you are in college or professional training.
When you start working you realize what you learn from the company and your colleagues that you would like to have known BEFORE you started to send CVs and be called to job interviews in programming companies.
I think there are a number of things that they do not teach us before we start working that we should know and that is why I am going to share here the 10 questions that good developers ask in job interviews, according to my point of view.
- What software tools are used in the company?
This question is required. It seems like a truism, but there are times when, with the nerves of being evaluated, we forget the obvious. The employer is willing to ask you this question; it denotes interest and curiosity about the position. It is not only about asking what development environment you are going to work with, but it is also a great time to talk about other frameworks that are used in the company and other technologies, even if they are not the ones you will be working with.
You are perfect if you say that while you study you do not usually work with profitability-oriented tools, or that they do not put emphasis on testing tools for the programs you develop, for example, and talk about this testing framework and platforms, development oriented to productivity.
All these things are good to talk about in job interviews to access a programmer position: What development environment do you use? What type of version control software do they use? In addition to the technologies that I already master, would it be interesting for the position to learn others specifically?
- Do you work with some style manual?
What are the big vetoes in relation to the style of the code? Do you follow some type of standard or style manual that you should know? With this question, you are anticipating specific aspects of the day to day in the position, which always pleases the interviewers.
If they do not follow a specific standard, it does not mean that the company does not know what it is doing, but it may be that when reading your colleagues’ code everything is spaghetti code, making the work of the position difficult.
It is a question that reflects an orderly, structured mind that seeks systematization, all characteristics a good programmer.
- With what database technologies does the company work?
In what ways is the information stored in the company? With what databases do the developers work? Is it a closed database specialized according to the application being developed or are open databases? For example, do you have to use standard database technologies dictated by the company type SQL Server or MySQL to do things? Or can I use MongoDB or any other technology that is at the discretion of the programmer?
This question is interesting because it can show that you are a flexible person who is not afraid to adopt the criterion of the company or have at any given moment to impose their standards if the case arises.
- What operating systems are used in the company?
This is another truism question that should be clear before the interview, but you are always left wondering. It does not hurt to talk about things like multiplatform systems and mobility. It can also be a good geek time to expose the reasons why you prefer to work with one operating system over another, giving technical arguments. Is
Presumably, most companies use a range of operating systems and make software for the most popular: Linux, Windows, Mac, iOS and Android.
- Is the programming team AGILE or do they follow a cascade methodology?
What development methodology does the company follow? Are they an agile team? Do they work in the cascade? How strict are they following the methodology?
It may be the case that different teams within the same company use different methodologies. This type of question anticipates how you will work and how the rest of the programming teams work within the company.
- How much independence of criteria do programmers have when making decisions?
Are the requirements of the client strictly followed in the software or are the developers given a bit of freedom to do things as they think they will do better to the clients?
Do developers have the opportunity to create systems and tools at their discretion on a day-to-day basis to help the team they work for without having to create a formal project? Some companies encourage programmers to take over and do things on their initiative while in other business cultures they are merely doing what they are told to do.
- Are there restrictions when using a tool or software?
Is there any kind of software that the company has vetoed? The reasons behind this type of decisions are usually for commercial reasons incompatible with the company, strange licensing, etc … Many companies also veto some open source software that does not guarantee professional support and a clear future evolution as it is a useless bet on a programming tool that can disappear.
After the interview and if you are hired, it is probably not a good idea to install and use software that has not been approved by the company, unless you are given free rein to do so.
- Is telecommuting done?
What kind of working conditions exist in the company when working remotely? This can be a great benefit for you as an employee: the possibility of working from home. If the company allows you to telecommute, it is essential to determine the conditions and expectations of these working conditions remotely.
- Are code reviews done within the programming team? As they are?
Buff! Revisions of code, that task that can make you look like a genius or leave you in step below what you thought you were.
Do the company and the department regularly revise the form code? How are they made? Is it only to draw defects or is it done constructively to learn things that you have to improve for in the future?
The usual thing is that the code review sessions are part of a personal improvement plan in which your superior or your colleagues comment on aspects to improve, but you also hear many horror stories … It’s good to ask and know where you’re getting.
- How is the team I’m going to work with? What kind of experience do they have?
How hard are the members of my future team? What kind of experience and what type of code are you used to working with? What are the weaknesses of my future team and how can they improve? What can I contribute to this process of improvement?
All these things are good to know when you join a new team. Who are you going to ask for help when you need it?
Of course, there are many other important questions that you may want to ask in a job interview for the developer position, but these 10 questions will quickly give you an idea of what the company is looking for your programming team.
These are the things that it is best to try to know before starting work. After the first interview and once you start working, there is no turning back, at least for a season, so it is best to try to know these things in advance. Can you think of another question? Do not hesitate to post it in the comments section. Thank you!