In the new webinar series: Ask The Expert, experts provide a glimpse into the world of developers and data analysts. Through the Ask The Expert webinars, our students and other interested parties get a better picture of the activities and opportunities for growth in their future field. The expert not only shares his/her experiences, but also answers questions asked by the participating programmers and data analysts in the making during the Q&A. In this blog, we share the highlights from the first Q&A webinar.
The first webinar in the series featured none other than the highly experienced programmer Rob Janssen. To get a better idea of Rob, he first introduced himself to us: “Hi, I'm Rob, turned 43 this year and I've been working at Wolfpack IT for just over six months now. A very cool club that carry out IT projects for companies that have big ambitions but do not have the development capacity. We not only build software but also provide consultation and design. So companies come to us who ask themselves: “what we want, is that even possible?” In addition, we also build apps and web applications. ”
“Before that, I worked at the companies Atogear, Studyportals, Omines, Fancon and Logic technology. For most of my career, just over 10 years, I worked for Studyportals. I watched this company grow from a start-up of approximately 10 people to a 130-man scale-up. By the way, I also received my scrum master certificate there at the time.”
“The title I currently have is lead backend developer. We can break this down into three parts. Lead, Backend, and Developer.” In the Q&A, Rob delved deeper into these concepts. “If we look at the last piece of software engineer, in Dutch engineer, on Wikipedia, you see the following description: 'An engineer is a highly skilled technician who uses scientific knowledge to solve problems. ' The problem solving part is the most important part of the definition. This is a very good description of what you do as a lead backend developer. When you start working with computers, you quickly talk about programming.”
“For me, a working day takes 8 hours. I would say I'm actively sitting at the computer for 5 to 6 hours of that time, with part of that time due to the fact that I currently have to talk to other people via the computer. There are also days when I'm a bit of a spider in the web and I'm doing nothing but holding meetings and therefore standing in front of whiteboards for a long time. Such a whiteboarding session can easily take 1 to sometimes 2 hours and some days there are only meetings in a row. Other days, I can just program and sit and watch the screen for about 6 hours.”
Rob's advice about this is: “The most important thing is to do what you're comfortable with. Programming is a creative profession in the sense that you always have to come up with solutions. From time to time, you need some time to think. Sometimes the right place to do that is not in front of the computer. Then take a walk outside and maybe you'll come up with a solution you wouldn't have come up with otherwise.”
“Let's take a car as an example. The car below is a nice 1961 Jaguar.

Why did I take this car as an example? Well, because you have a nice exploded view of it as in the image below.

As you can see, such a car is not built all at once. It consists of several parts that are put together separately. As long as there are good agreements between the teams and the people who build each component, everything should fit well. The same principle also applies to the software.
When you sit in a car, you see a dashboard. In software terms, you would call the dashboard itself the frontend. It is designed by a user interface (UI) designer and built by the frontend developer. This is the part that the user of the software directly touches and uses to provide instructions.
The backend then actually consists of the engine, the gearbox and everything else that the user does not touch directly but that you, as a user, need to be able to drive.”
“Great question. Personally, I've always been more or less interested in graphic design. The creativity you can show in the backend is by building a very elegant system that has thought of everything. Furthermore, for me, that creativity actually means solving puzzles. And that doesn't mean just banging your head at something until you finally get everything to work. It's about seeing the big overview. So you have that creativity in solving puzzles.”
“If you want to start as a backender, you can first focus on: how to talk to an API” Rob explained earlier that an API stands for application programming interface, or a set of definitions that allow a computer program to communicate with another program or component. Rob continues: “So if you want to become a backender, you should actually start with your own API. I would try that out first. I think that's also the most useful thing to learn. So start creating your own API! That sounds much harder and bigger than it is, but that's not so bad.”
“Okay, you've completed your education and are a backend developer. Because you've just started, you're still a junior developer. This means that you have 0 to 2 years of experience. Although there is no conclusive definition for it, a junior developer is expected to be able to speak at least one language well. You still have a lot to learn and you still need guidance. You are put on projects and you still have limited influence there.
A medior developer is expected to have enough experience and be able to get by on their own. A medior usually has 3 to 5 years of experience. The medior is good at working with colleagues and has sufficient knowledge. The influence of a medior can extend across the entire team.
As a senior, you have a lot of experience. They coach other colleagues, have a vision for a project and set out the pillars. There is no real standard for calling someone a lead or senior. At some companies, you are already a senior after about 5 years. At other companies, you will still be a medior after 10 years. It is not only a matter of knowledge but also of responsibility. You are expected to be able to complete a project successfully, on time and on budget. Often, you also act as a bridge between different teams.”
As a senior, you are not necessarily a lead. Especially when you're working on multiple projects, it's nice not to be a lead on every project. In fact, it is often possible to maintain that you are a lead with a project, but not with the rest because it takes a lot of time.
“When you start working for a company, if all is well, you're not going to work alone. You will then join a team. The roles of junior, medior and senior are often present here in a mix. In addition to backenders, you will probably also find frontenders, user interface (UI) and user experience (UX) developers. This is called a multidisciplinary team. The team itself can then include a developer who decides what to build, what the customer asks for. That is a possible interpretation of lead. Here, the lead influences what the rest of the team builds. As a junior, you will then be asked to solve part of the problem independently. Of course, this does not mean that your ideas and suggestions are not welcome. But the ultimate responsibility lies with the lead.
At a large company, you have multiple teams, and in that sense, a lead developer can decide what those multiple teams should build together. The lead of the team itself has a lot of freedom of choice when it comes to building, but the lead of all teams together largely decides what needs to be done. Sometimes such a lead from multiple teams is also called a software architect. This often implies that this person only designs things and is not programming himself. Designing often takes place at a high and abstract level.”
“It is very important to have the situation very clear for yourself but also for the customer. As a backend developer, you are often expected to be able to make a good and conclusive translation so that your colleagues can get to work. Being able to draw well is therefore a big plus and legible handwriting just as much. At the same time as drawing, documentation begins. You must be able to justify and explain every decision you make. Because something you are working on within a project can seem very obvious at the moment, but within a year it will become completely incomprehensible. The reason you document this as a lead engineer is because mistakes are sometimes made in a design. By documenting something, you know where it went wrong and you can try to fix that instead of having to start all over again.”
“Many companies refer to their websites. But this is often a web application. A web application is a piece of software that handles everything: searching, sorting and displaying information. Some well-known examples of such web applications are Bol.com, Funda and Marktplaats. Often, these web applications consist of several parts that work together. The system that allows you to search is slightly different from the system that handles orders, inventory or messages. If you look at Bol.com, you can see that they have systems for, among other things: consumer payments, analytics, discounts, promotions, product data, inventory management, returns, price controls and the search engine.”
“You have to be able to store data somewhere. With web applications, you often do this in a database. There are many common types of databases. A common type is a relational database. One such example is MySQL. Such a database contains tables filled with information. This information is linked in a certain way. The identity and information are placed in a so-called schema. You can retrieve this data using a programming language. This language is called structured query language. Abbreviated as SQL. As the name suggests, it is a structured way of asking questions to a database.
Rob explains this using the following question as an example:

He explains: “To be able to store this data in a database, you need to be able to distinguish between the different types of data. The types of data are called data types. There are different types of data types, such as a 'string', 'data' or 'integer'. In a 'string', you can store a piece of text. “data” is a date and “integer” is a number. You can sort and filter this data”
“To run a web application, a server is required. A server is nothing more than a computer that is constantly on and connected to the Internet. This server is often located in a data center. A server has a maximum capacity. If a server exceeds this limit, a web application becomes slower. This allows visitors to a website to click away from the webpage, with the result that you can miss out on sales. So at the moment, another server will have to be turned on automatically, this is called scaling.”
“By making a website 'responsive', it works optimally on a laptop, mobile and tablet. For example, you can also have a webshop as an app on your phone. With an application programming interface (API), you solve the problem where you have multiple devices that need to retrieve information. With API, you have one place where all the information is stored.”

“When you start with a programming language, it's not so important to learn how the programming language works. The first Python script she will make is “Hello World”, where in Python you actually just have a line: print (“Hello, World!”) , and then hoppatee you have something on the screen.

Whether you do this in PHP or Python doesn't really matter. So you have no particular disadvantage or advantage of learning Python about PHP.”
Rob does add a small advantage of Python: “The interesting thing is that Python has a number of built-in constructs. Python actually has an advantage here, because if you want to do that in PHP, you'll get less elegant code. Less elegant code is harder to read and harder to test. If you can write a readable, well-structured code, your colleagues can look at it and understand what's happening. And that clarity of expression, so to speak, is slightly better with Python.”
About learning a new programming language, Rob says the following: “Every language you learn with it actually makes the next language easier. Constructs such as “if this, then that” are largely the same. That's not the challenge.”

Did you find the Q&A with Rob Janssen interesting?
Then we have good news for you! After all, a lot of new webinars are planned where you can ask all your burning questions. So make sure you're signed up for the new sessions on time. You can sign up via this link.