What should PHP Junior Developer Without Work Experience Know?

Almost five years have passed. This article is largely outdated, although constructive aspects such as “study related areas” will hardly lose their relevance. Personnel hunger is felt more and more clearly and introduces more constructiveness in the process of hiring novice developers. The balance shifts towards good knowledge of the language and tools from readiness to write code “somehow” but from day one.

Do not forget that all these are value judgments of some kind of anonymus. You have no guarantees that I am a developer and understand what I'm talking about. Actually, you can’t even guarantee that this text is not typed by some hedgehog in payment for the eaten cutlet.

This article was the result of a two-month job search in Novosibirsk. In the process of communicating with employers, I discovered some facts that for me were very unobvious. It is recommended for reading to everyone who is going to become the same applicant in the near future.

When writing this article:
  • in one way or another, there was contact with 20+ employers
  • 12 test items completed
  • passed 8 interviews with technical specialists
  • one novice PHP developer got moral injuries of moderate severity

HTML, CSS, JavaScript

It may seem to you that the PHP programmer does not need to know these things perfectly, but this is not so. Valid layout, cross-browser compatibility and other words that are written in typesetting jobs apply also to yourself. In general, this is quite logical, since no one needs even the most ideal PHP code if it generates inadequate HTML.
In some organizations, they told me right away that the vacancy meant exactly the PHP developer, there are separate typesetters / scripters. However, there were few such organizations.
The most telling example is one of the tests I completed. It has a PHP: JavaScript: HTML: string ratio of about 20:50:30.


Your knowledge of PHP as such is of interest to a very small percentage of employers. Most companies use various frameworks in development, and they want the same from the candidate. If in the wishes for the candidate you saw “familiarity with the x framework,” then most likely this is not a wish, but a requirement.
In Novosibirsk, the most popular (based on the junior vacancies) are Yii, Symfony and Zend. Occasionally, CakePHP flickers.
Personally, I managed to master Yii at a basic level in a week of quiet work. Which, however, does not mean that you cannot understand it faster.

PHP is also programming

With all the ensuing consequences. Namely, without knowledge of theory, your qualifications are extremely low.
The threshold for entering PHP is low. As a result, all other programmers look at PHP-shnikov with contempt and disapproval. Yes, and in general there is something.
Ignorance of the fundamentals of the theory can lead to such terrible things as generating a million objects in the code and then applying bubble sorting to them. This, of course, is a hyperbole, but you probably caught the essence of it.
In general, I strongly recommend that you read a couple of books on programming theory. It is unlikely that they will ask you about calculating the complexity of the algorithm, but they try to find out common questions, a certain initial level of the programmer, at the interview.

Development involves a lot

Personally, it never crossed my mind that you should think not only what language you write, but also what you write. It is very desirable to know the basic IDEs, or rather their main functions.
Version control is necessary for normal teamwork.
In addition, it is customary in projects to conduct testing and somehow report errors.
And there are errors that it would be nice to know the contents of php.ini.
And nginx / apache configs.
And you can go on for a very long time.

Get ready for a sharp expansion of horizons

When performing every second test task, you will have to learn something new from scratch. NoSQL, AJAX, someone's APIs, JS libraries, and other things that you have heard of at best a couple of times in your life, you will have to urgently study.
What you are not familiar with is not necessarily something complicated. This is really a job for a novice developer with no work experience. So, despite the apparent complexity, you will quickly find a solution to the problem, taking half an hour of documentation.
Do not refuse the task if it seemed to you too difficult. Just read articles or textbooks on this topic, you will understand that there is nothing to fear.

Test tasks may be inaccurate

As a rule, test tasks are short and clear. And yet inaccurate. I have no idea what caused this. Perhaps different people compose and test assignments.
In one assignment, I was clearly instructed to use OOP, then at the interview they asked why I did this. In another, exactly the opposite. In the third, they asked me to attach a description in English and then asked why I attached it.
In general, some of your work will be checked without regard to the task.

HR`s often adequate and professional

Often this is 6 out of 10. Be prepared for the fact that they won’t answer you the rest of the letters, they won’t test the tasks, we will call you back.
I don’t know what these people are guided by. Seriously, HR, why can't you spend five minutes on the person who spent the day on you?
If you encounter such a problem, do not wait for an answer. Call and write, ask why they forgot about you.

Interviewing is a huge plus

Communicating with an experienced developer and reviewing your code greatly promotes your development. Even if you were denied a job, you still gained valuable experience.
After each interview, be sure to walk around at home for questions and clarify points that are not clear to you. Typically, these questions relate to basic knowledge, without which your work will be at least poor quality. Do not know something - be sure to figure it out. If only because such a question is likely to be repeated.

Happy end

That's actually all this and have to face a novice developer. With some preparation, your future interviews will be much easier than mine.
Perhaps an inquisitive reader will be interested in what ended this job search?
I realized that for a novice developer without work experience I have too little experience, and got a job with IT in no way connected. In a year I plan, having gained knowledge, to start the search again.

Also popular now: