Blog

Q&A with back-end developer Lindy

Always wanted to know what a programmer does during his/her work? Expert Lindy explains it to you in detail
Written by
at
August 3, 2021

Anyone who wants to start training as a programmer or data analyst has many questions about their future profession. This makes sense, because they are about to learn a new skill and thus boost or completely change their career. 

"What will my life look like when I finish my education? What skills do I need to start a successful career?". These are some examples of questions that often come up. And who better to answer these questions than an expert in the field. In our webinar series: Ask The Expert, new experts come along every time to answer such questions.

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

In IT, there is quite a proliferation of job titles. Often people performing the same work have different job titles. Lindy carries the title software engineer. This is a broad name for someone who develops systems and software.

Within her position, Lindy is primarily 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 shared the following about it: "I always start my day with a stand-up, where I discuss with my colleagues what we did the day before and what's planned for today."

When you start developing code, it's important to design the code first. Lindy explains how she approaches this. "The first thing I do is draw out what systems are in place and how these systems talk to each other. It's nice to ask for feedback from colleagues before you actually start writing code. Ask them in advance: 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 goes on to talk about writing code. "Then I start writing program code. Often I program code together. For this, I use GIT. When I'm done, I ask a colleague to review my work to avoid as many bugs as possible. Bugs will always be there, but this way you reduce the number. Once everything is reviewed and tested you can put your code live. You then see if you can actually access your program code from your browser. That always gives a real buzz! Then when you have written your software, you see it live for the first time and then everything works as you expect. Then I think your day is successful!"

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

"I am proficient in C#, TypeScript and Python. The main thing I want to pass along 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 job opening where you are already proficient in all languages. You will always have to teach yourself new things. It helps enormously if you can learn new things quickly. This allows you to grow quickly as a developer. Of course, the first language is always the hardest. After that, you start to see more and more patterns and pick them up a lot faster."

What kind of work is involved within the job as a back-end engineer?

"What you can think about, for example, is programming web shops or programming a system that allows people who are going on a plane trip on the day of their departure to check in their luggage. You could also start developing tools to automate social networks. Especially with Python knowledge, you could also go more in the "embedded" direction. Here you can actually start programming robots. You can go in so many different directions, although of course everyone says that about their own work."

One participant asked Lindy how best to determine which direction suits you. She replied that, above all, you should look at what you like. "Keep the following in mind: suppose you choose to go into web shops, that doesn't mean you're going to be in web shops all your life." Lindy adds that the most important thing about learning to program is that you understand the logic behind it. If you understand it, you can easily switch functions.‍


What things did you learn only while working?

"Something I didn't learn until after college, for example, was maintaining code. If you have a piece of software that has been running for years, it's important to have your code written maintainably. That way you make sure that if you change something, something doesn't fall over somewhere else. So you take that into account while setting up. Something else I found out later in my career is that the code that works on your own computer doesn't automatically work 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 working is 1 thing, maintaining code is 2. You naturally want to make sure that when new requirement 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," Lindy says. She recommends a book that can help you do this. Clean Code, written by Robert Martin. "If you're a bit more visually inclined, this video series might be of interest, in which Robert talks about the key lessons in his book on clean code. 'Weeks of coding can save you hours of planning.' In other words, thinking and researching well in advance and asking for feedback from others in the interim is going to save you a lot of time in the future."

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

"Back-end engineering is a little more in the program code, so the back-end systems that don't have a pretty front end. Front-end is mostly on making websites look pretty. So making sure it looks good too. A full-stack developer has knowledge of both front-end and back-end side. A full-stack engineer could also be called a software engineer. A developer who mainly performs work on the back-end, like Lindy, also often carry the title software engineer or software developer." So there is a lot of overlap between the different types of developers. So when applying for a position, look primarily at the content of the job posting rather than the job title. Lindy gives the following tip for retrainers who want a job in IT but are not yet sure what they want: "Look mainly at what kind of techniques you are interested in. Is that Python, is that the Cloud, JavaScript, C#, or just more HTML, CSS, JavaScript? Then start looking at what kind of job or vacancy fits that."

How do you master GIT?

GIT is a tool used for version control. You can work on the same code with multiple people in GIT, or if you are working alone, you can easily go back to previous versions of your code. "There are tutorials on YouTube that clearly explain GIT. GIT is not overly complex so a good YouTube video will get you a long way." Lindy recommends watching this video if you want to learn more about how GIT works.

When it comes to software solutions, what is the greatest demand in the job market?

"Software engineers are generally in high demand. Whether you're going to build a web shop, automate a factory or write internal software for a company. There is actually a demand for everything. There is a huge shortage of ICT workers, so if you want to get started as a software engineer you really have a very good career ahead of you!"

As a woman, do you think it is more difficult to get started as a back-end developer? And have you ever experienced discrimination in this regard?

"I have fortunately never experienced harsh discrimination, as in that I have missed out on an opportunity on the fact that I am a woman." However, Lindy has occasionally had strange questions thrown at her head, such as: "when you come to work here you are the only woman on the team, how do you deal with that? And she heard from a colleague that she has sometimes received derogatory comments such as, 'come on girl, I'll help you out'. Lindy came up with the following advice: "If you mention that something like this has happened, something is always done about it. My personal weapon is to put that person in their place. If someone were to make a remark like that to me, I would just say, 'that's alright son, I'll come to you in a minute.' Then next time they think twice before making such a comment again."

"On the other hand, I also hear from many companies that they actually like having a woman on the team. Because it changes the whole team dynamic. You are of course largely in a man's world, but most people like to have at least one woman on the team. If you only have the same type of people in your team you always get the same solution. I am on a mixed team with both men and women and also 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 explained that the percentage of women in tech is very low if you compare this to other countries. For example, in India it is 50/50 and in most other European countries the percentage that are women is usually higher than in the Netherlands as well. So our country still has a long way to go and Winc Academy is trying to contribute to that.

How to find out what programming languages I am interested in?

"For example, what you could start doing is creating a hobby project in a new language. For example, I once switched from C# to Python. I then just started building a geeky application: a small project where I made a song generator." Lindy's advice, then, is to just get started and see how far you get. It's not that once you choose a language, it's hard to switch. In fact, Lindy says it is often more convenient to be able to speak many different languages. "I often explain this using the following comparison: sometimes a small car is more convenient and sometimes a big one. It's the same with programming languages. Sometimes Python is more convenient and sometimes C#. You have to find the right tool for a problem. How you like the language also plays an important role in this, of course."

Which is more important: papers or experience?

"Both are important. Papers are a quick way to show what you have to offer. If you only have experience, you have to go all the way out and show your work first. So it really comes down to the same thing, only with only experience it's harder to demonstrate what you can do. Within the company where I work we also have a number of people working without papers. They are just super good at what they do!" Papers or experience? So both will get you there, but papers will make it a lot easier. The most important thing is that you have mastered the skills and that you can also demonstrate this with a portfolio, for example.

What do devops and cloud engineers do?

"You are then mostly setting up processes so that you can put other people's code live or so that you create tooling where other engineers only have to upload their code. Through 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. You actually always have to keep learning and trying new techniques. When talking about the training process, I think you can learn a lot on the job. Above all, have a conversation with the company you work for about what you can already do and what you would still like to learn. Above all, find an employer who gives you room for that. This is incredibly important. If you start out as a programmer, you could also do a traineeship to gain experience."

Do you have any tips regarding flexible/robust coding?

"A good reading tip is the book Design Patterns, written in 1994. This book has exposes patterns for common problems (think composite pattern or template matted pattern). It was written in 1994 but is still incredibly relevant. By the way, there is also a website created from the book. Another example is again the book Clean Code. Both books help tremendously to be able to write your code robustly."

Do you have any more book tips?

Lindy has given us several tips of books that are valuable to read as programmers. Below is the list of books that Lindy says 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
  • Vaugn Vernon - Implementing Domain-driven Design

What is your favorite CMS?

"I haven't worked much with CMS systems in recent years, but mostly wrote a lot of custom code." In addition to this question, Lindy had a good tip: "Suppose you are going to make a website for the baker around the corner, don't start coding yourself and use a CMS system like Wordpress. That code may not always be neat, but you put the baker in control of the texts on the website. That way you prevent this baker from calling you every week to adjust another piece of text."


What is the workload like as a back-end developer?

"This varies a lot from company to company. Working methodologies like scrum do help tremendously with this. In these, you estimate tasks in points. These points are relative and not time-bound. After a number of sprints (time periods of 8 weeks), you know that as a team you can handle 30 points, for example. You will not pick up much more than 30 points worth of tasks in a sprint. This keeps the workload reasonably constant. If you have an important deadline coming up, it might be a bit of a stretch. Or if you promised your team to get something done and you ran into some problems here. Still, even then you can discuss this and work with your team to see if this could have been prevented. The solution often lies in asking for help earlier or during refinement to better investigate what exactly a task entails. In any case, always raise the alarm if you notice that you are working much more than 40 hours and often at night."

Do you have any advice for determining or keeping an eye on your value (salary) as an employee? (regarding job 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. I also think Glassdoor.nl is a good website to see what peers earn at other companies."

Are any programmers working part-time?

"Actually a lot. 32 hours is very common. Sometimes 24 hours also occurs but this can be inconvenient, because then you miss meetings and thus also important updates. As a back-end developer you often have flexible working hours within companies. I really like this! You can decide when you start working, how long you take a break and what time you finish. As long as you make your hours!"

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

"By programming, you teach a computer to do something that otherwise would have had to be done by a human. Programming in any language has always been important in fulfilling solutions, such as automating processes. Python did become a particularly popular language in recent years to solve these problems with."


Can you say anything about programming languages for apps on the phone? What language or training can you recommend for this?

"Within app development, you actually have 2 streams: native and multiplatform. With native, you program with the official language of the platform. With iOS that's Swift and with Android it's Java. Because you use the official language, you can always program based on all the possibilities offered by that platform. The other current is multiplatform. Think Flutter or Kotlin Multiplatform. These allow you to develop an app for both iOS and Android by writing the code once. This gives you faster results, but if a new feature becomes available in the latest version of iOS, it will not be available (immediately) via multiplatform. So both streams have their advantages and disadvantages." Good to know: developers are in high demand in both streams.

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.