Anyone who wants to start training as a programmer or data analyst has many questions about the future profession. Logical, because they are about to learn a new skill and thus give their career a boost or a completely different twist.
“What will my life look like when I finish my education? What skills do I need to start a successful career?” These are just a few examples of questions that come up frequently. And who better to answer these questions than an expert in the field? In our webinar series: Ask The Expert, new experts come by every time to answer such questions.
In IT, there is a significant proliferation of job titles. Often, the people who carry out the same activities have a different job title. Lindy bears the title software engineer. This is a broad name for someone who develops systems and software.
Within her position, Lindy is mainly involved in the back end. She designs, develops, writes, implements, tests, improves and maintains software. These are quite a few different activities. So what does a back-end engineer's workday look like? Lindy said: “I always start my day with a stand-up, discussing with my colleagues what we did the day before and what's planned for today.”
When you start developing code, it is important to design the code first. Lindy explains how she approaches this. “The first thing I do is figure out what kind of systems there are and how these systems talk to each other. It's nice to ask colleagues for feedback before you actually start writing code. That you already ask: hey, I want to implement it this way, what do you think about that, what else should I take into account and do you know any tools that can help me? That way, you can work a lot more efficiently.”
Lindy continues to talk about writing code. “Next, I'm going to write program code. I often program code together. To do this, I use GIT. When I'm done, I ask a colleague to review my work to prevent as many bugs as possible. Bugs will always be present, but this way you will reduce the number. Once everything has been reviewed and tested, you can put your code live. You will then see if you can actually access your program code from your browser. That always really gives a kick! Once you've written your software, you see it live for the first time, and then everything works as you'd expect. Then I think your day is a success!”
“I'm proficient in C#, TypeScript, and Python. What I especially want to say about learning a programming language is that it is important that you learn how to teach yourself a language. You will see that every company requires different languages from you and there will never be a vacancy where you are already proficient in all languages. You will always have to teach yourself new things. It helps you a lot if you can learn new things quickly. This enables you to grow rapidly as a developer. Of course, the first language is always the hardest. After that, you'll see more and more patterns and you'll pick them up a lot faster.”
“What you can think of, for example, is programming web shops or programming a system that allows people who are going to take a plane trip to check in their luggage on the day of their departure. You can also develop tools to automate social networks. Especially with Python knowledge, you could also go more in the 'embedded' direction. Here you can really program robots. You can go in so many different directions, although, of course, everyone says that about their own work.”
One of the participants asked Lindy how you can best determine which direction suits you. She replied that you should mainly look at what you like. “Keep the following in mind: if you choose to create web shops, that doesn't mean you'll be stuck in the web shops all your life.” Lindy adds that the most important part of learning to program is understanding the logic behind it. Once you understand them, you can easily switch functions.
“For example, something I only learned after school was maintaining code. If you have a piece of software that has been running for years, it's important that you've written your code maintainably. This way, you ensure that if you change something, something doesn't fall over somewhere else. So you keep that in mind when setting up. Another thing I found out later in my career is that the code that works on your own computer does not work automatically on the server.”
Lindy quotes the following quote:

“Getting code up and running is one thing, maintaining code is 2. Of course, you want to make sure that when new requirements come in from stakeholders, you have written code in such a way that your modification does not cause problems. There are many ways to do that,” says Lindy. She recommends a book that can help you with this. Clean code written by Robert Martin. “If you're more visual, this video series perhaps interesting, where Robert talks about the most important lessons in his book about clean code. “Weeks of coding can save you hours of planning”. In other words: thinking carefully and doing research beforehand and asking others for feedback in the meantime will save you a lot of time in the future.”
“Back-end engineering is a bit more in the program code, so the back-end systems that don't have a nice front end. The front-end is mainly about making websites beautiful. So make sure it looks good too. A full-stack developer has knowledge of both the front-end and back-end side. A full-stack engineer could also be called a software engineer. A developer who mainly works on the back end, such as Lindy, also often bear the title software engineer or software developer.” So there is a lot of overlap between the different types of developers. So when you apply for a position, look primarily at the content of the vacancy and not so much at the job title. Lindy gives the following tip for reschoolers who want a job in IT but are not sure what they want yet: “Take a look at what kind of techniques you are interested in. Is that Python, is that the Cloud, JavaScript, C#, or more HTML, CSS, JavaScript? Then look at what kind of job or vacancy suits that.”
GIT is a tool used for version control. You can work on the same code with multiple people in GIT, or easily go back to previous versions of your code if you're working alone. “There are tutorials on YouTube that explain GIT clearly. GIT isn't overly complex, so a good YouTube video can go a long way.” Lindy recommends this video to watch if you want to learn more about how GIT works.
“There is generally a lot of demand for software engineers. Whether you're going to build a webshop, automate a factory or write internal software for a company. In fact, there is a demand for everything. There is a huge shortage of ICT professionals, so if you want to work as a software engineer, you really have a very good career ahead of you!”
“Fortunately, I've never experienced harsh discrimination, as if I missed out on an opportunity to be a woman.” However, Lindy has occasionally received strange questions, such as: “if you come to work here, you are the only woman in the team, how do you deal with that?” And from a colleague, she heard that she has sometimes received derogatory comments such as: “come on girl, I'll help you out for a little while”. Lindy came up with the following advice: “If you indicate that something like this has happened, something will always be done about it. My personal weapon in that is that I then put that person in their place just as well. If someone were to make such a comment to me, I would just say: “Good boy, I'll come to you soon.” Then they'll think twice next time before making such a remark again.”
“On the other hand, I also hear from many companies that they actually like having a woman on the team. Because this actually changes the whole dynamic in the team. Of course, you are largely in a man's world, but most people like to have at least 1 woman in the team. If you only have the same type of people in your team, you will always get the same solution. I am in a mixed team with both men and women as well as different nationalities. This gives you so many more different suggestions for how to solve a problem. That only leads to a better product.” Team diversity is therefore very valuable. Age is also part of this diversity.
Lindy has worked with tech companies from other countries before. She said that the percentage of women in tech is very low when compared to other countries. In India, for example, it is 50/50 and in most other European countries, the percentage of women is usually also higher than in the Netherlands. So our country still has a long way to go and Winc Academy is trying to contribute to that.
“For example, what you could do is create a hobby project in a new language. For example, I once switched from C# to Python. I then just started building a fun application: a small project where I created a number generator.” Lindy therefore wants to give the advice to just start and see how far you get. It's not that once you've chosen a language, it's not difficult to switch. Lindy says that it is often more convenient to know many different languages. “I often explain this by using the following comparison: sometimes a small car is more convenient and sometimes a big one. This is also the case with programming languages. Sometimes Python is more convenient and sometimes C#. You have to find the right tool for a problem. Of course, how much you like the language also plays an important role in this.”
“Both are important. Papers are a quick way to show what you have at home. If you only have experience, you should first explain it completely and show your work. So it actually comes down to the same thing, but with experience alone, it's harder to show what you can do. Within the company where I work, we also have a number of people working undocumented. They're just super good at what they do!” Papers or experience? So you'll get there with both, but it'll be a lot easier with papers. The most important thing is that you control the skills and that you can also demonstrate this with, for example, a portfolio.
“You are then mainly busy setting up processes so that you can put other people's code live or create tooling where other engineers only upload their code. Thanks to the tooling, it is then automatically put live.”
“As a back-end developer, you never stop learning. In fact, you should always keep learning and trying out new techniques. When you talk about the training process, I think you can learn a lot 'on the job'. Be sure to talk to the company you work for about what you can already do and what you would like to learn. Above all, find an employer who gives the space to do so. That is incredibly important. If you're starting out as a programmer, you could also do a traineeship to get your experience.”
“A good reading tip is the book Design Patterns, written in 1994, which reveals patterns for common problems (such as composite pattern or template matted pattern). It was written in 1994 but is still incredibly relevant. By the way, there is also a website made of the book. Another, for example, is the book Clean Code. Both books help enormously to be able to write your code robustly.”
Lindy gave us several tips for books that are valuable to read as programmers. Below is a list of books that Lindy believes are definitely worth reading.
“I haven't worked much with CMS systems in recent years, but I've mainly written a lot of custom code.” Lindy had a good tip in addition to this question: “Suppose you're going to make a website for the baker around the corner, don't code yourself and use a CMS system like Wordpress. That code may not always be neat, but you will have the baker in control to change the texts on the website yourself. This way, you prevent this baker from calling you every week to change a text.”
“This varies a lot from company to company. Working methods such as scrum do help enormously with this. In doing so, you estimate tasks in points. These points are relative and not time-bound. After a number of sprints (time periods of 8 weeks), you then know that, as a team, you can handle 30 points, for example. So you won't pick up much more than 30 points worth of tasks in a sprint. As a result, the workload remains fairly constant. If an important deadline arrives, it may take a while. Or if you promised your team to get something done and you ran into some problems here. However, even then, you can discuss this and see with your team whether this could have been prevented. The solution often lies in asking for help earlier or better investigating exactly what a task entails during refinement. In any case, always sound the alarm if you find yourself working much more than 40 hours and often at night.”
“Your employer may not always like this, but I'm a big believer in just talking to your colleagues about your salary. In addition, I think Glassdoor.nl is a good website to see what colleagues at other companies earn.”
“Actually, a lot. 32 hours is very common. Sometimes 24 hours also happens, but this can be difficult, because you will miss meetings and therefore important updates. As a back-end developer within companies, you often have flexible working hours. I really like this myself! You can then decide when to start working, how long to take a break and what time you finish. As long as you work your way out!”
“By programming, you teach a computer to do something that should otherwise have been done by a person. Programming in any language has always been important in fulfilling solutions, such as automating processes. In recent years, Python has become a very popular language for solving these problems.”
“Within app development, there are actually 2 schools of thought: native and multiplatform. With native, you program with the official language of the platform. With iOS, that's Swift and on Android, it's Java. Because you use the official language, you can always program based on all the possibilities that that platform offers. The other movement is multiplatform. Think Flutter or Kotlin Multiplatform. This allows you to develop an app for both iOS and Android by writing the code once. So you will have a lot faster results, but if a new feature becomes available in the latest version of iOS, it will not be available (immediately) via the multiplatform. So both schools of thought have their advantages and disadvantages.” Good to know: there is a lot of demand for developers in both schools of thought.