DevStory: Back End Developer, Takwa Bouallegue von Parkside
How did you get into programming?
Since both my father and my brother were in IT, I can fairly say that I’ve always been involved with computers in some way. So I didn’t stop at just learning how to use a computer, I also wanted to know how it actually works and what’s happening “in the background”.
At which age did you start?
I think I wrote my first piece of code ever when I was 17. It was in Pascal, an already dying language at the point I got to learn it, but it was still useful to get into programming thinking. That was during my last year of high school, we had a couple of elective courses we could choose from and “Computer science” was one of my choices.
Which programming language did you first get excited about?
This is a tricky question and often controversial as many of my peers seem to hate my answer. At the university, I didn’t study programming per se, I studied embedded systems, which was more hardware oriented. At that point, we learned only low-level programming languages and I got so excited about Assembly. For me, it was absolutely amazing how many things you could do with a very limited set of instructions.
What exactly is your DevJob about?
Currently, I’m a backend developer. But I’ve switched from Android development to frontend development before coming to Parkside.
What do you particularly like about your DevJob?
There is always something new to learn – a continuous learning process is definitely something I like the most about my job. You never know everything about a framework or a language, it’s always evolving and constantly changing. And even if you actually do get a hang of it at some point, there’s always new technology on the horizon and you get to learn something new again.
What kind of challenges do you face specifically in your DevJob?
Keeping up with the latest technologies. It’s the best and the most challenging aspect of a DevJob in my opinion. You need to know the basics and the fundamentals, but it won’t bring you far if you can’t keep up with what the world has to offer today. Modern problems call for modern solutions, so you always need to be up to date.
What are your preferred technologies?
I honestly don’t have any. I’m a firm believer that it depends on the project and its needs. Some technologies are extremely powerful but could be overkill for a small project, and vice versa.
Windows or Mac?
If the choice is only limited to those 2, I’d say Mac. I have never been an Apple fan, but once I started using Mac for professional projects, I had to admit that it is much more reliable than Windows.
Personal and Professional Growth
Which Dev Projects do you have outside of your work?
I have a small app that’s only for personal use in my household. It might or might not evolve to a full-blown project in the future, but so far – it serves my needs.
How do you keep yourself up to date for your job?
I try to seize every opportunity (i.e., small projects, side projects, etc.,) to use other technologies and not just those I’m used to. Here at Parkside, we have Communities of Practice which is a great way of keeping myself up to date and aware of what’s new out there.
Where do you see yourself in the future?
I see myself still being a part of the Parkside team, building great applications and partnering with many more interesting clients.
Tips for beginners
How do you start programming and what should you start with?
In my opinion, before jumping into programming, you should first learn algorithmics. If you get the right way of thinking and problem solving, you can learn any programming language.
Which skills are required for your work?
Being open-minded, flexible, and fast learning. I think those are the prime skills you need in order to be able to keep up with the continuous evolution of technologies and frameworks and all the novelties this field offers.
In your opinion, what kind of education helps to be good at your DevJob?
The most obvious would be computer science, but also mathematics. In general anything that teaches you problem solving.