Good code reads like a novel
Erik Johansson possesses over 20 years of experience as a test engineer. Throughout his career, he has worked in different industries, for different Semcon offices, but with one singular focus. In his Semcon Story, Erik reflects on his journey and his relationship with coding and testing.
The art of good code
My work revolves around code, and I believe that good code should be readable and as self-explanatory as possible. Code is read more than it is executed. When I see well written code, it almost feels like reading a book. You aren’t scratching your head figuring out what it does. It just reveals itself to you. While it can be necessary to write descriptions of more complex snippets, code shouldn’t rely on documentation to be understandable. In testing, especially, where execution speed isn’t the top priority, readability is king.
I believe AI can be highly influential in programming. It can provide effective tools to make the code more readable and increase its quality, especially for code that is often reused and in general it can be a powerful assistant to a programmer.At the same time, there are areas in which the use of AI, while attractive in theory, at its current state, can be quite dangerous. AI is good at mimicking and gives a great first impression, but often produces “beautiful BS”. It can be the equivalent of a student writing an essay that is pure filler with fancy wording to reach a word count.
The consistent nature of testing
Testing, especially when it comes to medtech products, where adherence to regulation is crucial, is often split into the technical and the legal side. My work focuses on functional testing, which is almost purely on the technical side. Essentially, there is an input to a system and an expected output, and my job is to verify that the system being tested performs correctly and consistently in different use case scenarios. This is applicable to many systems and products, from telecommunications to medical equipment, so in practice, my routines and methods are the same regardless of what I am testing.
In an ideal setup, I collaborate with people that are familiar with the product itself. This way I can focus on writing tests, with little ambiguity over the test requirements and how they would practically translate in concrete processes. Arbitrary requirements can be a challenge when writing tests, and breakthroughs in how to translate them into code can often be difficult.
The importance of a good work environment
In my current assignment, one aspect I enjoy is the high level of commitment to a high standard and professionalism of my peers. Testers there are really good at finding faults, which may sound counterintuitive, but it is crucial to the testing process and especially in the medtech industry, where errors can be a matter of life and death.
As a tester, I have had the privilege of being able to choose whether to work at the office or remotely during the pandemic. While I appreciate the advantages of working from home, like the ability to focus, I enjoy the social aspect of going to the office and meeting colleagues. Working remotely over an extended period of time, with little to no social interaction, can really affect your mental state. I consider flexibility over work setup a big plus.
The best of both worlds
I studied applied physics and electrical engineering. I started working for Semcon right after my university studies. While at the time I didn’t put much thought to it, I’ve come to appreciate working as a consultant and especially for Semcon.
Being a consultant has given me the ability to focus on programming. I don’t have to attend many meetings that are irrelevant to my work and I am able to do what I am good at and enjoy without being involved in corporate events and politics. But my assignments have mostly been several years long so I have had the opportunity to work long term with projects and fully commit to them, like one would if directly employed. In my case, one can say that “I can have my cake and eat it too”.
A seamless transition
Another big plus of working at Semcon has been the ability to take my job with me. I had been working for the Linköping office for over 10 years when I made the decision to move to Stockholm. I had a chat with my manager about my intention to move, and when the time came the process was handled smoothly. I started working for the Stockholm office and soon I had an assignment. It was truly frictionless. I don’t think it’s common to be able to take your job with you wherever you go.
About Erik
Title: Testing Engineer
Education: Applied physics & Electrical engineering
Worked at Semcon since: 2000
I have the most fun at work when: debugging code