Blog

Q&A with backend developer Lindy

Have you always wanted to know what a programmer does while working? Expert Lindy explains it to you in detail
Written by
upon
August 3, 2021

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.

What position does Lindy hold as a back-end developer?

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!”

Which programming languages do you master? And do you have any tips for learning a new language?

“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 kind of activities are there in working as a back-end engineer?

“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.


What things did you only learn while working?

“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:


“It is not the strongest of the software that survives, nor the most intelligent that survives. It is the one that is most adaptable to change”. 



“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.”

What's the difference between a full-stack, software engineer, front-end, and back-end developer?

“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.”

How to get the hang of GIT

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.

What is the biggest demand in the labor market when it comes to software solutions?

“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!”

Do you think it's harder as a woman to work as a back-end developer? And have you ever experienced discrimination in this?

“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.

How do you find out which programming languages I find interesting?

“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.”

What's more important: papers or experience?

“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.

What do devops and cloud engineers do?

“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.”

What does the training process within a company look like?

“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.”

Do you have tips about flexible/robust coding?

“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.”

Do you have any more book tips?

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.

  • Robert C Martin - Clean Code
  • Martin Fowler - Refactoring
  • Erich Gemma et al. - Design Patterns
  • Gene Kim - The Phoenix Project
  • Gene Kim - The Unicorn Project
  • Vaughn Vernon - Implementing Domain-Driven Design

What is your favorite CMS?

“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.”


What is the workload as a back-end developer?

“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.”

Do you have any advice on how to determine or monitor your value (salary) as an employee? (regarding applications and promotion)

“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.”

Are there also programmers who work part-time?

“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!”

Is Python programming also an increasingly important role in fulfilling solutions?

“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.”


Can you talk about programming languages for apps on the phone? What language or course can you recommend for this?

“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.

More Blogs

Cookie Preferences
close

We may use and track cookies, local storage, your IP address and similar technologies to improve the user experience of this site and to understand how it is used. Read more in our privacy policy.