We often meet talented business professionals who aspire to work for the IT sector. Most of them have had exposure to software projects, and they’re amazed by the value technology can create for business. They want to make an impact, so they are eager to join in!
Some of those people have participated in the Vali IT! (Choose IT!) retraining program to teach themselves to code. But programming skills really aren’t crucial for the non-technical roles of software development. There are more important things to learn, and I shall share some links to the resources you can use below.
So, what are the roles non-engineers can take on in software development? And what is required from people who want to excel in those roles?
In general, there are three non-technical positions in (the Helmes Way of) software development business: team leader, business area leader and analyst, with the latter being closest to technology. For entry-level candidates, we should focus on the (junior) team leader and (junior) analyst roles, since the work of a business area leader requires substantial former industry experience.
See also for inspiration and open positions: Helmes – a great place to work
The role of a team lead (or in some companies even a project manager) can differ from company to company. In Helmes, the team leaders are like owners of small development firms. Although, unlike in a small company where one’s expected to take care of everything – from watering plants to organizing the Christmas party – they are supported by many professionals in general roles like HR, legal, finances, marketing, etc.
Anyway, they still have a lot of different areas competing for their time and attention, with different goals to fulfill in parallel:
- Client satisfaction and development of customer relations;
- Team satisfaction and team members’ development;
- Team performance, efficiency of work processes, and the quality of the project deliverables;
- The financial performance of the team
Juggling with multiple important topics requires a set of different talents: one needs to be equally good with people and numbers, and have an eye for detail while also seeing the big picture. You need to enjoy both the process as well as the outcome.
This position is well suited to a person who likes variety and who loves to communicate.
A team manager spends a considerable amount of their work day around people, creating a sense of clarity for everyone. In order to do so, they need to be able to process large amounts of different information, handle several parallel processes simultaneously, and still remain on top of everything happening within the team and the client cooperation.
We’ve written a whole article on different aspects of team leaders work which you can read here (in Estonian).
It does take more than reading a few books or going to some really excellent training sessions to develop yourself for this role. Practical real-life, hands-on experience is paramount. A good team leader has come across different situations in managing projects, customer relationships, and in leading other people.
But only experience, without putting much analysis into the equation, won’t do the trick either. Books, articles, trainings, coaching, mentoring, or even good conversations with smart people, help one leverage their personal experience, helping make sense of things on larger scale and learn from whatever they’ve been through.
So, in order to help you make sense of things happening to you and around you, here are 11 books you might find interesting and useful starting your journey as an aspiring team leader.
Read also: 11 Books that Every Team Leader Should Read
A software analyst is often the first contact person for the client, as well as the development team, when it comes to defining what needs to be done and how. The analyst gathers the initial input for the development team and is always ready to specify any details the developers might need in order to build what is needed. The tasks of an analyst are generally the following:
- Mapping the current (as-is) and future (to-be) business needs and processes of the customer;
- Mapping the current IT solutions of the client;
- Brainstorming with the customer and the team for ideas to find new solutions;
- Defining the requirements for the client’s solution so the development team can build and interface the system(s).
An analyst is a deep thinker as well as an excellent communicator.
They must be very good listeners to get all the necessary input from the client. They also must excel at expressing themselves, describing the proposed solutions to the client or the development team. Their communication is clear no matter the medium – the writing, the presenting, or in the graphics/sketching.
An analyst creates and nurtures relationships, both with the client and within the team. They often must open people up for discussions about weaknesses in their processes, systems and business, as well as inspire them to generate ideas and solutions.
Since they need to generate clarity in a situation of information overload, they need to be systematic and distinguish between the important and unimportant – the critical and nice-to-have.
A person with an inquisitive mind will love the analyst’s job – it’s for those who just must understand how stuff works and how to make it work even better. If that’s you, but your previous experience is lacking, we’ve gathered a list of six books that might help you on your journey to becoming a software analyst:
Read also: 6 Books that An Aspiring Analyst Should Read