Code Name: techcareer.net / Experienced Software Developers' Recommendations: Deniz İrgin
Code Name: techcareer.net / Experienced Software Developers' Recommendations: Deniz İrgin
Welcome to the new section of Code Name: techcareer.net!
Our guest today is an experienced software developer and podcast host, Deniz İrgin, who also works as the VP of Engineering at Armut.com. Deniz has been practicing the software profession since 2007 and is currently pursuing a master's degree in computer engineering to further enhance his software skills. Being an experienced developer involved in various scales of software projects, listening to his experiences can be highly beneficial for those who are new to or planning to enter this field. Now, we will discuss Deniz's transition into software development, his career progression, and his insights on learning software.
How did your interest in software development begin, Deniz?
My interest in software development actually started in my childhood. Although my father wasn't formally a computer engineer, he was interested in software and worked as a chemical engineer. He even created a program that asked multiplication table questions when the computer was booted. This allowed me to discover my interest in computers and programming.
How did you encounter software during your educational journey?
I received education in industrial automation at Anatolian Technical High School. This allowed me to learn programs related to industrial automation, although I wasn't programming at the microchip or market level. After graduating from high school and transitioning to university, I found myself in a period when computer technologies were rapidly advancing in Turkey. My father directed me towards training provided by a major software company, and that process became a crucial step in shaping my career.
After starting your professional career, which projects did you work on in the software field?
After starting my professional career, I began working on factory automations. I still get excited when I remember my first project. I developed software that collected and reported data from automatic sensors in a packaging line. Although this project was simple, it was a significant step for me.
What are your thoughts on the importance of working with mentors and experienced individuals?
Employers, mentors, and experienced individuals have played a crucial role in my learning journey. I have benefited greatly from my interactions with the companies I worked for and my mentors. I believe that working with a good team and good people accelerates personal development. Especially in the early stages of my career, mentorship and apprentice-master relationships played an important role for me. However, I think that these types of relationships have decreased nowadays. This is due to many newcomers joining the software industry during the pandemic period and changes in learning habits and entry criteria for the industry.
What do you think about access to information and learning speed in the software learning process?
Access to information has become easier and the learning process has been accelerated. Although specialization areas are not as distinct as before, this has both made the job more challenging and easier. I believe that focusing on a specialization area in software entry could be beneficial, and I emphasize the importance of focusing on self-improvement in that area.
What can you say about changes in specialization areas in the software development process?
In the past, it was emphasized that one had to learn and specialize in various disciplines in the software development process. However, nowadays, software entry seems to have become somewhat easier. The distinction between specializations has become clearer. Each area consists of disciplines that require different expertise. For example, Full-stack was quite common in software development. Now, I can say that there is a cleaner distinction. I think this has made software entry somewhat easier, but it should be noted that specialization always requires the same journey.
Have you observed an increase in the depth of software since 2007?
In the past 16 years since 2007, I have observed that specialization areas have deepened. I have particularly seen this change in the Front-end field. Previously, content-focused work was in the foreground, but now the development process quietly continues right after the design phase. Front-end is no longer just about implementing the design; it has become an area where complex applications are developed. This requires front-end developers to constantly learn new things. There has also been a similar change in server management. Previously, servers were given great importance and required serious expertise. However, now everything is progressing with containers and cloud services. Of course, there has also been a transition from working on a single machine to distributed architectures, and this change has brought about new specialization areas.
If you were to start now, in which field would you choose to specialize?
I still feel passionate about Back-end development. Even after working in this field for 16 years, I still believe that there is a lot to learn.
How has your approach to technology selection changed over time?
I used to think that the frameworks and technologies used were more important, but now I have adopted a more flexible approach. Technologies are tools and should be learned and developed when needed. Industry leaders and trends are constantly changing, and what matters is learning and using the necessary tools in a timely manner. Nowadays, everyone can use multiple technologies and gain mastery in them over time. Flexibility has become important in technology selection and usage.
Has there been a change in your learning style from the beginning until now?
When entering the software world, I believe it is important to start with something simpler and more understandable. Learning to code is a long process, and you will see that there is now more access to resources. However, it is possible to notice some changes in the learning process.
The opportunities and support provided by companies are important because software development is a critical business process for a company. However, I can say that in the early days, I also spent a lot of my personal time coding. It requires a passionate approach that requires great dedication. It's not a job that can be done without enjoying it.
The software industry has constantly changing technologies and paradigms, so it requires continuous learning. It is important to keep yourself up to date even if you are not actively involved in software development. In the beginning, you get to know a field, but as you gain experience, you will realize that the 'map' opens up, and you need to develop yourself.
Software development is not limited to just one programming language or platform. It has a vast ecosystem and is developed in collaboration with teams. You may need to have knowledge about version control systems, deployment processes, and more. Some parts that seem easy at first can become more challenging over time, and when you are involved in a product development process, you may encounter different learning journeys. Learning becomes easier and takes less time as time goes on, of course.
How can progress be made throughout a software career?
In a software career, it is important to continuously improve technical skills and domain knowledge. While initially focusing on technical skills, later stages may require a focus on domain knowledge, especially. Additionally, receiving mentorship, working with experienced teams, and being involved in different projects can help advance your career.
How do you decide which software field to specialize in?
Actually, all fields are of great importance, and it is very personal. In addition to one's interests and abilities, considering the demand and job opportunities in the industry is also important when deciding on a field and specialization. For example, I have seen more often in the industry that individuals specialized in Front-end tend to have a design-oriented mindset and an inclination towards UX. However, no matter which field you work in, you can't completely isolate yourself from other areas; you need to have some understanding of other fields as well. So my recommendation is to gain experience in as many areas as possible and then make a decision rather than entering the industry by saying, "I will work in the back-end or mobile field.
Click to listen to the podcast: Kod Adı: techcareer.net / Deneyimli Yazılım Geliştiriciler Ne Öneriyor: Deniz İrgin