How To Choose The Right Software Development Company? (Part 1) | Devs skills

・13 min read
How To Choose The Right Software Development Company? (Part 1) | Devs skills

IT is a dynamic market that has been gaining tremendous popularity over the last few years. The shortage of specialists with significant experience results in companies offering high income and better work conditions, growth opportunities and activities in the programmers' community.

Working environment is one of the most important things to keep in mind when choosing an offshore software house. You might be wondering why it is so crucial if you are not physically working with their developers in-house. Surprisingly enough, a well-established employee structure means a better outsourcing partner.

This article will show you why Selleo is the best outsourcing company, how we managed to create an atmosphere that encourages both personal and professional growth as well as active participation in the community.

What to consider before choosing the software development company?

Some time ago, we created an article concerning 10 Questions You Should Ask A Software Outsourcing Company, which highlights some key answers you should receive before you sign a contract. However, from our experience, a lot of customers ask and are concerned with the cultural fit. That is why in this 2-part series of articles we will try to provide as much information about Selleo as possible. This will include how we work, why our experience and code quality is so high (even coming from so-called junior devs) and how did we manage to build a system that meets the requirements of even the most demanding customers.

How to understand an outsourcing company?

Have you ever thought about whether it is crucial that your outsourcing partner has established goals, mission, values and rules and if they have to align with your own ones? Or is it some cliche that is continuously repeated but actually brings nothing to the picture? Cultural alignment, common goals and work ethics make the collaboration more effective and definitely positively influence the communication and overall transparency on the project.

Selleo believes that a value system makes a solid foundation for building a sense of belonging and motivating employees to continually grow and evolve. It is also helpful for defining the overall atmosphere of the employee environment.

We co-create a demanding community that brings benefits, takes the initiative and faces challenges that support co-workers engaged in personal and professional development. Selleo Playbook

A value system should lead people that build the organization. It can be defined as a list of values, motto or an inspirational quote - most importantly, it should clearly express the company’s priorities. Those elements should be clear from the very beginning of the collaboration. Then and only then, you will be able to decide whether or not your potential business partner aligns with your own beliefs and values.

Find out more about Software Development Teams with an entrepreneurial sense of ownership at its core

A recruitment process - when technical skills meet soft skills

Speaking of the recruitment process - this is the stage where the company should stand out and create recruitment workshops like none of its competitors. Experience and knowledge of a given programming language are essential, but skills like teamwork or striving for constant growth can be as or even more crucial.

In Selleo, we create an environment that enables us to get to know the candidates in a creative way. Let them show off through such exercises that give them an opportunity to present their real selves. We frequently use Lego building as a task that has to be solved together with the entire team.

How do we build technical expertise?

Education is the most powerful weapon which you can use to change the world

Nelson Mandela

We become professionals while mastering and practising a given field. In the case of the IT industry, we call it hard skill growth - mainly technical skills. This is what makes us a programmer, graphic designer, etc.

Because of the industry characteristics (which is rapidly developing), it is not a one-time process - on the contrary, it is expected to constantly evolve in the profession. Solutions that are standards today, tomorrow may turn out to be outdated. The newest technologies that are used by a handful of people may become a standard in the nearest future. This is why we have a strategy to remain relevant to the market. A plan for employee development - on many levels and in many different ways. Below, I will present some of our ways of implementing those strategies.

Growth path - how our developers learn?

From years of our experience, we have learned that a clearly defined growth path (in this case, hard skill growth path) is a must-have, especially in the beginning stages of career development. Because Selleo has well-established and mature best practices we do not turn away from employing juniors and help them achieve an acceptable skill level.

DevPath - we created this publicly available and constantly updated document describing pieces of necessary knowledge that present programmers and potential candidates can find out what is expected from them at various levels of experience. Making it publicly available allows other companies to use it as well, so we can develop the DevPath together.

Img

Evaluations - passing each level in our DevPath takes place through evaluation - in short, assessing knowledge of each technology. Those tests are conversations and simulations of conversations with a client. Each developer will have contact with clients (at least in Selleo) and those ‘role plays’ are to help with communication on commercial projects.

Mentoring - DevPath provides information on what developers should know in order to get to the next level. But how to start learning? We noticed that an indispensable way to speed up the learning process is to have a mentor or a teacher. Nothing compares to an experienced engineer who supports juniors in their growth face-to-face. A mentor can give out a task through which the given person gains the necessary skills while getting lots of feedback.

How do we take care of the growth of our experienced developers?

Addons - growth is not reserved only to the less experienced developers. It is crucial that everyone strive to better themselves. This can be achieved through ‘addons’. Plans of so-called addons can be created together with the mentor or other people in the organization, depending on the given person’s interests and the path he/she will choose. In Selleo, we distinguish:

Open Source - this means building open solutions. The skill of communication with strangers and the ability to add something of your own to projects used by tens, hundreds or thousands of people is an excellent indicator that your code is useful and somebody appreciates it. Additionally, it shows that developers were not afraid to take on this task. This allows them to get to know the library or create something on their own.

Img

Public speaking - in Selleo, we encourage overcoming the fear of public speaking through sharing interesting thoughts or solutions to common problems. Our developers often prepare presentations (talks) or record a short video to educate others and build their brand. We believe that the moment when a potential client gets a video of a developer presenting a solution to his/her problem is the moment they win.

Workshops & more - helping other people to grow through organizing workshops is also a great way to build a strong expert position. This also allows passing on a spark of interest among developers. Additionally, workshop leaders also gain skills in knowledge sharing.

Beyond the process - tools, tips and must-haves

Having a well-established process is not enough in the IT world. In Selleo, we recognize that our programmers should have access to internal and external tools that will not only motivate them to work but also make their lives easier. By using them, they can code faster, verify their knowledge and learn something new.

Oshee

Wouldn’t it be perfect if a company additionally motivated you to learn new skills and supported your professional goals? This is the main idea of oshee (the name refers to Open Source Hours and a famous energy drink - a knowledge supercharge), where everyone can voluntarily conduct research and development projects, usually around open source. As a consequence of those projects, people earn experience which positively impacts the entire team - and it is also a form of activity that grows skills of the employee and the quality of services provided by us.

Extensive library

It is a crucial element, which should be a standard at this point - a rich collection of books - whether they are eBooks or physical copies. A good book should be shared with the world. Plus, building a community of people that read allows you to find real diamonds, which you can later recommend on services like goodreads.com, faster.

Online courses

Access to various teaching materials, especially in an organization that emphasises the growth of its people, is a must-have. We believe that employees should be able to explore different fields that will help their day-to-day work with a client. For example, Udemy courses can be amazing building blocks of personal development.

Certificates

The next element that we recognize supports the growth of employees not only through internal programs are external certifications. They are one of the things that ‘stay’ in the person long after he/she is done with the certificate. This strategy is an opportunity to build a personal brand of a given person especially if it is done through certificates highly valued in the industry.

Networking with experts

Networking and talking to field experts is also a fantastic opportunity to expand developer skill set. Selleo goes above and beyond to nurture the sense of community by organizing internal days, attending conferences or taking part in hackathons.

Internal Day (Haxorz)

We treat our internal day as a conference within our company. It gives us the opportunity to find out more about people we are not working with on a regular basis as well as share knowledge during presentations. It gives the future speakers an opportunity to test themselves in front of an audience they know and gather priceless feedback.

Conferences

Img

Our industry is known for its wide variety of conferences. We carefully plan out our budget to be able to send developers to conferences they are interested in. It gives them an opportunity not only to learn something new but also to establish new relations, which often result in business initiatives.

Coder Dojo

Img

The mission of the international Coder Dojo foundation is to promote information technologies and programming to the youngest. Companies participating in this initiative focus on building a community in their surroundings. It is a long-term investment where people meet and learn how to code. Coder Dojo can also be a great introduction to the recruitment process in the company.

Hackathon

Img

Many organisations, including Selleo, get involved in so-called Hackathons - open events where programmers, graphic designers but also visionaries can meet and share some fascinating ideas. The goal is not only to get to know each other but also to create projects on a given topic in a specified time frame (for example, 24 or 48 hours). You can read in more detail on how it looks like in the article How did I organize Hackathon in my company?.

Supporting initiatives

Companies should remain open to supporting employee initiatives as this type of investment will always come back with double the power. It builds a sense of belonging to a community, a better office atmosphere, and an amazing environment for creativity. An example of such an initiative in Selleo was the creation of the ‘bathroom availability status’ using a photoresistor, Arduino module (read more), a food ordering app (read more) or a bot for Slack for opening a parking gate.

Technology leaders

Tech lead is a role, which main focus is to take care of the chosen technology in the company. One of the elements of the work of a tech leader can be organizing meetups or workshops dedicated to this technology. Satisfaction from the growing interest in expertise around the given programming language, tools, etc., inside the company is priceless. It is an opportunity for self-development and a much easier way of exploring the technology.

Img

Technology experts

The growth of a person in the IT world can go in two directions - one dedicated to soft skills, where we are focusing on the team, planning and coordinating actions or the other concentrated on hard - technical skills. Technology experts are ‘commandos for special tasks’ on projects - they enter projects, where they are needed the most and solve the hardest tasks.

Motivator - setting goals

How to motivate people to learn? Planning quarterly goals with team leaders or the entire team is another technique that motivates developers to grow. Just like with diets - if you publicly say that you want to lose weight for the summer it is harder for you to admit defeat. Members of the team hold each other accountable and cheer each other on.

Img

Conclusions

The IT market is constantly growing. Because of the shortage of development experts, companies go out of their way to provide not only higher salaries but also better work environments.

A solid value system and recruitment process can be one of the most important aspects of a good IT company, but there is even more. The organization should provide its employees with opportunities for growing their hard and soft skills. Mature growth paths combined with evaluations and mentoring are what help developers become more experienced programmers. Public presentations, organizing workshops and opportunities to contribute to open source solutions are perfect for skill development and personal brand growth while conferences, internal days and hackathons create opportunities to meet and collaborate with new people.

Selleo recognizes the advantages of implementing those methods in our organization. This is why, throughout the years, we managed to create a supportive community that not only encourages growth but makes people want to work and stay with us for the long run.

In 2nd part of the article about choosing a software development company, I’m focusing on soft-skills which are equally important if you are planning a long-term relationship with your future product development partner.

Related articles