📜 ⬆️ ⬇️

Experience in the project for interns as a mentor

This article will be an overview, without special details of software development. My goal is to acquaint the reader with the experience that I gained while participating in the internship as a mentor. I do not name the company in which I work and do not name the project in which I participated as it contradicts the rules of the resource.


Introduction


In Tomsk, it is difficult to find developers, even among a seemingly popular stack like php + mysql. Actually, the idea of ​​participation arose because of problems with lack of personnel, and we (the company) decided to go on an experiment and try to find employees among people with little experience. Once in the kitchen, the question was raised about who knows what about projects for interns and newcomers. There were those who have already participated, shared, discussed. I reported that I was ready to participate. I wanted to get:


  1. The answer to the question: "Is it possible to make a working product with people who have little / no experience?";
  2. Award;
  3. Pump soft skills;
  4. Introduce interns to the software development process;

about the project


The project in which we participated gives interns the opportunity, within 2 months, working at least 20 hours a week, to create software under the guidance of a mentor for the purpose of further employment. Interns get experience, get acquainted with the development process. For the company it is beneficial because the interns do not come zero, but, so to say, "warmed up" with minimal knowledge. Following the results there is a choice from the already prepared guys.


Brief description of the project


The project for the internship was chosen "online consultant". You all saw them on the sites, I will not elaborate on this. Widget in the corner, click on the icon, the chat window opens, chatting with the operator / bot. There are thousands of them, but I will emphasize that the point is not to create something new, but to prepare the interns for real work.


Presentation


In order to attract people for internship, I prepared and made a presentation at three major universities in Tomsk. You would know how hard it is to speak in front of an audience. This is about the same as meeting people, only a few dozen people at once. Nothing but smiles that presentation and performance do not cause me. Now I would change something.


Results and selection


After the speech began to receive applications for participation. Of the approximately 150-180 people who attended my presentation, six participants applied for participation in the project. Of these, we chose five. The guys had a different level of training. One specialized in frontend and wanted to develop in this direction. The second had experience developing in PHP + MySQL. The rest of the guys came almost zero, not counting the laboratory work at the university.


Requirements


Before we started the project, I and the guys were waiting for 2 weekends with 8 hours of intensive: acquaintance, lectures, practice on the version control system, analytics, testing, etc.
Also in the requirements was the provision of daily reports on the work performed. Participation of the whole team in Friday's meetings, where the other participants spoke about the progress and discussed each other’s projects.
The project gave the right to expel participants from the project. And we also had to make a presentation on the demo-day. This is a public event where interns demonstrate the results of their work.


Start


By the beginning of the project, we had already deployed the infrastructure: gitlab, redmine, got mail, accounts, etc. Except for some technical issues, everything was fine. We met internally on Wednesdays and, a week after the start, we came to the conclusion that we need daily online meetings. They came to the fact that it will be 21:30. We discussed the successes and problems of the day. Also, a manager was appointed for a week, who sent reports and spoke on Fridays with a report to the other participants.


The first two weeks we were swinging and I explained how the task management system works, how to write reports, how to take a task, hand over a task, how to work with git, what I expect and want to see in the report on the completed task, etc. In general, purely organization.


Yes, by the way, we had TZ. On the basis of it, we sketched out the components of the system, discussed the architecture and technology.



This is one of the first variants of the component scheme.


Project progress



Created tasks in redmine by component name. These were major tasks. Say "Widget", "Operator application", "Messaging server", etc. Then they created subtasks, smaller ones, say “Widget prototype”, “Widget layout”, “nodejs installation”, “messaging algorithm”, etc. Then more minor ones, like "Layout layout for admin panel", "Layout filter for dialogue history", etc. The result was about 60 tasks (by the end of the project, their number had increased to 94 due to minor problems in correcting the shortcomings).


Three weeks later, we had progress on all modules except the messaging server. I will not dwell on this, as this will lead my narration aside, but I will say that I have excluded one of the participants from the project.


About a week and a half before the end, we had a raw prototype. Curve layout, bugs, unrealized functions. These week and a half we finished the project.


Demo day



In the video, Dima is one of the project participants. By clicking on the links you can see what we have. Site , Admin , Operator
Requisites: admin / admin, operator1 / operator, owner1 / owner.


findings


  1. It is possible and even necessary to make a project with students.
  2. The code is likely to be of poor quality, since time is short. The working prototype is more important than the beauty of the code in this particular project.
  3. Spent about 80 hours of pure time for 2 months. This figure should be taken into account in the future;
  4. I had to explain the basic things of the whole workflow.
  5. It is important that all team members understand what needs to be done.
  6. Not sure that we would have done it if everyone were without experience. The fact is that experienced guys make tasks faster and submit them, they fall into the main branch and the rest can look at examples of their work and do similar tasks. At this time, experienced guys are switching to new tasks and doing them.
  7. Integration problems are always there. Integration is better to do in person.
  8. You need to be prepared to exclude people from the project. Excluding people from the project is psychologically difficult.

')

Source: https://habr.com/ru/post/346248/


All Articles