When he began his IT studies, Sami Kulmala had no idea that he would soon be an experienced coder, entrusted with the responsibility of designing the complex IT systems of an international credit management company. So how did that happen?
Sami began his studies in 2007. A course in the ICT industry led to an internship at ATR Soft, then to a summer job and finally to a permanent position by way of a thesis. Sami graduated as an IT engineer in 2012.
He only had to do his summer job until the end of July, but he kept on coming back after his school days to do more work. This continued until the end of his studies.
School offered software development theory, and Sami dabbled in coding while studying, but it was work that taught him how to actually build larger systems.
My first partner was a mentor from whom I learned the ropes. He took care of one part of a certain application and I took care of the other. Gradually, responsibility for the whole application was transferred to me – and now, in recent years, I’ve handed it over to others. This first application taught me a lot.
Embedded software is changing to .NET.
After his first year of studies, Sami turned towards embedded software and robotics- and circuit-board programming. He got familiar with C language. Sami, who studied Java at school, also used it for a long time at ATR. With another partner, he then began to make a document managemen system and Java was exchanged for .NET.
It was a big leap from Java to .NET, as I had never done anything with .NET. But you learn by doing, and with my team, we had a good division of labour.. For the last year and a half, I’ve been doing almost nothing but .NET.
Working on one or several projects in a software company?
At ATR Soft, some of the staff worked for several customers, and some just for one. Both have their advantages: when moving from one project to another, you have to revisit what you did last time, while it’s easier for people working on one project to focus on one thing. On the other hand, different customers with different work offer variety to the routine. In any case, projects end and new ones come along, and jobs can also be swapped within the company.
A developer’s dream customer
At present, Sami is spending all his time on one customer: Lowell. This includes several different projects in several different countries with different environments, applications, system upgrades and automation.
I must say that this is the best project that I’ve ever had in my history and ATR! A lot of interesting work, relatively free hands to do what I want and the customer that accepts my development suggestions positively. Some customers always want to go with the old things that have been proven to work, but Lowell is willing to try new techniques without prejudice.
Coders learn a lot about the customer’s business.
You can’t get a complete picture of how a piece of software works just by knowing how it works technically. You also need to understand what the application is really aiming at and how the user operates it. In almost all projects, an application developer gets to learn about industries about which he or she knows very little at the start. Some developers may just be satisfied with creating a technical solution, but you can usually get more out of work when you know what you’re involved in.
Everybody giving their all
In ATR’s Lowell team, jobs are not compartmentalised so everybody does everything. Everyone has to learn all the tasks at some level, but it gives meaning and choice to the work: you might as well be solving a support problem as building great new functionality. Such an approach also enables you to take holidays and sick leave without jeopardising the progress of the customer’s work.
You can do the front, the back, identity control – everything is possible. No two days are the same.
Jobs are shared and circulated. When someone has been working with a particular technology for a longer period of time, someone else will come in in order to avoid the silo effect on skills. Completely new methods can be learnt on courses or independently, the team members also learn the technologies that they master from each other. Similarly, customer-specific problems and their solutions are communicated to all team members. Information is constantly being shared.
Feedback is important.
Like many others, Sami has noticed the importance of feedback. If someone is excelling at their job, you should remember to say so and not just take it for granted.
if you get positive feedback from the customer or colleague for a job well done, it gives you the incentive to try even harder. Of course, you get praise from all customers when the project is finished, but again, I have to praise the Lowell people who take the time to give recognition even as the work is being done. Of course, feedback should also be given for work done internally within ATR, but here we could certainly do a little better.
ATR shuns the strict division of roles
in large compaanies, jobs and roles can sometimes be strictly divided, so that developers rarely have anything directly to do with customers at all. At ATR, we’d rather keep the roles diverse. Customers appreciate being able to discuss with just the people who are actually creating things.
In one previous project, the customer’s representatives had previously worked with a large software company. They were amazed when the kick-off meeting was full of us coders who make the applications. They had got used to men in suits being there, who did not necessarily know anything about IT matters, and just served as messengers. I must say that they were very happy at being able to work with us.
Nobody codes alone
When transitioning from the schoolroom to the world of work, people are sometimes surprised at how customer-friendly the IT professional’s work is. You don’t necessarily have to deal with external customers in all tasks, but you do have to deal with your colleagues. You don’t need to do anything completely alone.
When I was a student, I did imagine the programming work meant tapping alone on a keyboard in some dark room. Nowadays at least, the reality is far from that.
And you’re not left to struggle with tasks on your own – working in a software company is all about teamwork and learning.
If you’re looking for your first job in IT, you might think that the company’s employees are a bunch of coders who know everything. Or that coding is rocket science. It’s not. It’s worth remembering that everyone starts out from exactly the same place. Be brave and apply for a job in the sector!