It is well recognized that software engineering plays an instrumental role in solving world problems, therefore, so do software engineers.
To cure cancer, doctors need software that will collect, classify, and analyze an enormous amount of patient data. This kind of analysis will allow us to diagnose cancer at a very early stage. The combined power of software and hardware can help us create classrooms to facilitate inclusive and special education and enable students with different abilities to take full advantage of our educational system.
Tackling issues in both cancer treatment and inclusive education requires not only an effort in their domain – medicine, education – but also an effort of creating corresponding software, and you need software engineers to create it. Solving the puzzle of hiring software engineers in order to build those solutions becomes a necessary step in the roadmap of solving the core issue. But if you have ever been around people who deal with the enigma of hiring software engineers, you have probably heard the statement, “hiring software engineers is tough.” But why is it?
One of the biggest causes may be the huge demand for talented engineers, but there are other aspects to this problem. As a software development company, AOByte is in constant pursuit of cracking the hiring puzzle and trying to figure out what exactly companies do wrong that makes hiring harder than it should be. We do the same.
Hand-tailor hiring volume to your needs
The income of the company does not necessarily have a linear dependency on the number of engineers. Quite often, big companies with a huge income tend to “over-hire” engineers. And there is a tendency to tackle problems with quantity rather than efficiency. But let’s not place any blame; this is a phenomenon that all companies can relate to.
Given a budget, it is easier to have a larger staff which guarantees delivery, even in cases of somewhat inefficient processes. Obviously, not all companies can afford to take a similar approach. AOByte tends to optimize processes and tech for each given project in order to minimize delivery effort. Everything is up to review and optimization. The company customizes agile SDLC to find a perfect formula for this particular team, research for third-party services and components (which aren’t necessarily free) to minimize development effort and which are tailor suited to the testing strategy.
Optimization not only reduces the company’s hiring needs but is also highly appreciated by its customers. Simply reduce your hiring needs and the process will run easier.
Interview but don’t overdo
There is a very common mistake of “over-interviewing” people. An average company may ask about balanced trees, complex algorithms and hash maps, meanwhile, an employee will most likely not use any of it in their day to day work. There is nothing wrong in knowing this information, in fact, if the employee knows it, it can be considered a great asset, but it doesn’t mean you can’t do a great job if you are not fluent in algorithms and data structures.
We make it harder on ourselves by failing people during interviews and asking what people might have forgotten or have not used recently, at the same time by failing to verify fundamental characteristics that make a great engineer - hard-working, detail-oriented, etc..
AOByte came to the understanding that an interview is not about verifying that a candidate is knowledgeable about certain things, it is about figuring out if the candidate can handle your company’s job.
Think about the interview that you had today. Now think of how many of your teammates would have passed it. Certainly, not all of them would have, but apparently, all of them successfully work with you. You can hire a lot more efficiently when you have a crystal clear understanding of what your potential employee should know in order to do the job that you are expecting them to do. That is why you need to sharpen your focus on the skills that are actually required and formulate your MVC (minimum viable criteria). This will help you to hire employees who otherwise might have seemed incapable of handling the work when in reality, they are.
Forget about decades-old formulas
Another common mistake is limiting yourself by looking for candidates only in places that you’ve used before, doing the same “BS/MS in CS” over and over again. In this digitized century, the idea that only certain schools can teach programming is just naive. In fact, it ceased to be true even long ago- just think of all the people you’ve seen making careers in programming coming from different backgrounds.
With so many books, online courses, alternative educational centers, the open-source community and just due to the fact of the world becoming so much more connected, we should admit that there is no “proper” way of learning programming. In fact, at the AOByte office, we have a rule of thumb to have at least one colleague at any given point of time that doesn’t have any CS-related background. This has worked out great so far. Multiply your chances to hire people by looking on the platforms that most companies don’t look on.
Plant the seeds you can water
The last point, and the most important one, as it has to do with our future (not the future of AOByte, or the IT sector as a whole, but humanity in its entirety). As mentioned in the beginning, it is essential to understand that engineers play an instrumental role in solving world problems, and the number of engineers required to solve those problems grows each day. We have to plant the seeds today in order to be able to solve problems of tomorrow. Organizing internships and workshops in the office is not the process of planting the seeds, it is the process of watering the plants. Planting the seeds is about reaching out to people who are not aware of what programming really means or those who haven’t made a clear career choice yet. It is about reaching out to schools and communities, exposing them to careers in IT and teaching them about programming.
And yes, it takes time for seeds to grow, but if we plan to stick around on this planet for a while, we need to put more effort into educating our youth on topics of engineering and careers in IT. It is important to educate our youth on those topics, to make them aware of the challenges that humanity is facing, to get them involved in the solutions of those problems and to give them a chance to become those brilliant engineers who will lead the way in solving the future problems of this digital world.
The pool of engineering talent is another resource of humanity, and we need this resource in order to survive, and like any other resource, we need to use it responsibly, rather than just draining it.
Article by AOByte
AOByte is a software producing company that partners up with companies from all over the world in order to provide solutions for industries like public security, healthcare, finance, etc..