•  

    the topic that sawing metal and, say, planning your time are, in principle, two different tasks. Back in the late nineteenth and early 20th centuries, Henry Ford automated processes. Then people did not look at soft skills, everyone decided that a person needs to be taught something narrowly focused. And now, many employers choose people, in my opinion, in most cases, it is for soft skills. Personally, I had such cases when a person shows himself to be a very cool specialist, he is a really strong techie, knows Linux well, is a great developer, but it is impossible to agree with him. Question! Are soft skills now hard skills? Can they be equalized?


  •  

    Misha: Okay, I can go aside too. I'll start with a little history. Sasha has already touched on this topic. Now, indeed, his personal characteristics come to the fore when hiring and searching for employees. When I hire people, I look at this in the first place. You can learn programming quite easily and quickly when there are strong guys around who can teach you, when there are mentors and mentors. But if a person doesn’t fit in culture, doesn’t fit in character, he is irresponsible, doesn’t know how to plan time, doesn’t keep his word, then, most likely, no even the coolest hard skills will pull him out. What qualities are valuable for developers? I always pay attention to the responsibility of a person: if he promised to do some feature by the deadline, then he did it on time. Responsibility is also connected with the second important quality - the ability to calculate one's strength, to plan time. And, probably, the third is the ability to seek a compromise. Understand the need to do something for the business, although it may not be a very cool and energizing task. Understand that now it is necessary to do this for business. It is important for me to be able to negotiate with a person.


  •  

     

    Usually, I give stage ratings for each artist and each resource with the percentage of their employment, then I give the final overall rating. For example, the implementation phase of a small project may require the participation of an architect (50% of his time), an analyst (25%), an infrastructure maintainer (10%), and three full-time developers. The phase lasts 6 weeks (30 working days), so the architect will be busy for 15 days, the analyst for 7, the administrator for 3, and each of the developers for all 30 days. Based on these labor costs, you can calculate the personnel costs. For the same 30 days, the team needs a task tracking system, a version control system, a couple of virtual machines for testing, a virtual machine with a deployed DBMS, and something else specific to the project. In addition, you need a license to use a cryptographic provider, certificates and containers of private keys for each stand and personally for each developer, so that you can use a digital signature.

     

    Having such an assessment for each stage, it is easy to understand at what point we should hire or release a particular specialist, when and for how long we should order the necessary virtual machine for the project or purchase / rent equipment, when and for how long we need to obtain licenses for required third-party software, etc.


  •  

     

    It will be possible to identify critical chains of tasks and try to optimize them. Also, such a view will give the deadlines by which to recruit staff or deploy / upgrade / release infrastructure components of the project.

     

    Another significant positive effect of the plan is the ability to break the entire scope of work into several small stages of delivery and thereby make the project more flexible and predictable. By releasing a finished product with a specific set of functions at each stage of delivery, you can get customer feedback in a timely manner, which is very important when working in complex subject areas. I usually do delivery stages lasting 4-6 weeks.

     

     

     

    Based on a preliminary work plan for each proposed technical solution, the contractor must estimate the total labor costs, staff composition and the necessary hardware and software for the development process. The purpose of the evaluation is to obtain realistic time and budget estimates for each solution so that the feasibility of the project can be assessed.






    Suivre le flux RSS des articles
    Suivre le flux RSS des commentaires