As technology continues to evolve and shape our world, software developers play a crucial role in building and maintaining the software that powers our daily lives. From the alarm that wakes us up to the car we drive to work in and the laptop we use when we arrive, the software is an integral part of almost every device that makes our lives easier. But what’s it like to be a software developer, and what does it take to become successful in this field? To answer these questions, we sat down with Ahmad Hajou, a seasoned Full Stack Developer at Shell, based in Amsterdam.
This interview is part of Templeton & Partners’ Let's Talk Tech series, where tech specialists from diverse backgrounds and experiences share their career journeys, industry insights, and career advice for anyone embarking on the journey of technology and IT.
With over 13 years of experience, Ahmad has gained a wealth of knowledge and expertise in the space of software development. His passion for programming sparked during his university days, where he discovered the rewarding nature of the field, as it allowed him to see the direct impact of his work and indulge in his natural curiosity. Since then, Ahmad’s career journey has taken him across different industries and countries – from Lebanon to Dubai and eventually to the Netherlands.
In this interview, Ahmad shares his career journey and provides valuable insights into the world of software development. He delves into the ever-evolving tech landscape, discussing the profound impact of emerging technologies and tools like ChatGPT, and offers advice to aspiring software developers.
So, let's dive into our conversation with Ahmad and gain insights from his experiences.
Contents
- Choosing Careers and the Experience of Working Abroad
- Working Remotely and the Transition from Employee to Contractor
- The Misunderstood Aspects of Software Development
- The Role of Communication and Challenges of Working with Global Teams
- Staying Up-to-Date with Technology and the Impact of ChatGPT
- Future Career Aspirations and Advice
- How to Become a Software Developer
Choosing Careers and the Experience of Working Abroad
Let's start by getting to know you better, Ahmad. Tell us a little more about yourself.
I've been in the Netherlands for the past ten years, working as a software developer, but before that, I had the opportunity to work in various countries, including Lebanon and Dubai. Currently, I'm a Full Stack Developer at Shell. I'm passionate about exploring and experimenting with new technologies, and outside of work, I enjoy spending time with my wife and two-year-old daughter.
How different was the experience of working in the Netherlands and Europe rather than in your country or Dubai?
The work culture in Europe is quite different from what I experienced in Dubai and Lebanon in terms of organisation and structure. The level of experience and professionalism here seems higher compared to the Middle East. However, I should note that my experience in Dubai was in a media agency with a software department, so it may not fully represent the entire IT industry there. Moreover, I don’t know how things might have changed in the past decade.
Discover – Living and Working in the Netherlands: The Ultimate Guide
Did you always know that software development was the career path you wanted to pursue? Which specific aspects grabbed your attention and made you passionate about this field?
Ever since I chose computer science as my major in university, I knew that software development was what I wanted to do. I was attracted to its rewarding nature. Unlike some professions, it’s less dependent on other people and allows me to see the direct impact of my work. As someone who used to feel quite uncomfortable in social situations, I appreciated this freedom and independence. The field also encourages exploration and experimentation, which aligns well with my natural inclination to delve deeper into problems and find innovative solutions.
Working Remotely and the Transition from Employee to Contractor
How does your preferred way of working align with the nature of your role as a Full Stack Developer, especially considering the increased flexibility of remote work?
The flexibility and autonomy that come with being a software developer are well-suited to remote work. Before the pandemic, I had the opportunity to work from home a couple of days a week, which was considered cool at the time. However, my setup wasn't ideal back then. Now, with the shift to full-time remote work, I have a proper workspace with multiple screens and a dedicated room, which has improved my productivity and work-life balance. Also, the absence of a daily commute saves time and allows me to focus more on my tasks.
While I can understand the benefits of being in an office environment, such as face-to-face collaboration and social interactions, I can’t imagine myself going back to working in the office full-time. Remote work offers flexibility and many other benefits I wouldn't want to give up.
Was this flexibility one of the reasons that prompted your transition from being an employee to working as a contractor?
While it was one of the reasons, the main motivation was the financial aspect, as contracting tends to offer higher pay. Being a contractor also allows you to switch jobs more frequently. Although I enjoy the team I'm currently working with, and I’m not considering switching jobs, contracting provides opportunities to explore various projects and work environments.
Don’t miss out on – Contractor vs Freelancer vs Full-Time Employee: Pros and Cons
The Misunderstood Aspects of Software Development
What are some common misconceptions people have about software development? Are there any aspects that are often overlooked?
One of the aspects often misunderstood in our profession is the significance of communication. Back when I was in university, I used to think that developers simply sat in front of their computers all day, typing code without interacting with anyone else. However, I quickly realised that wasn’t the case. It was a bit of a shock when I joined the workforce and discovered the amount of meetings, discussions, documentation, and collaboration the job involved. Most of the things I do at work require communication, but this is not something they teach you in school.
While it's true that software development is a technical job, there is so much more beyond the technical aspects that can be learned in a matter of weeks. The majority of our work revolves around effective communication. It's about understanding why something is happening, figuring out the best approach, and translating requirements into code. When people view our profession from the outside, they often think it's all about the technical wizardry, but in reality, that's the easy part. The real challenge lies in effectively translating and conveying ideas and concepts into tangible solutions. Ultimately, we are builders who bring ideas to life through our code.
The Role of Communication and Challenges of Working with Global Teams
How did you acquire the necessary communication skills to bridge the gap between your technical expertise and the understanding of others who may be unfamiliar with your field? How do you effectively convey your ideas to ensure everyone is on the same page?
When it comes to communication, my journey involved hands-on learning and adopting a framework known as Agile and Scrum. Software development it’s not the same as going to the carpenter and simply handling a design with the instruction to build a table. It’s a dynamic process that involves continuous evolution and adaptation based on needs and usage. Agile methodology allows us to iterate the software in short cycles, typically every two weeks, during which we discuss upcoming tasks and their significance to both the customer and end-users. We gather feedback, make improvements, and repeat the process every two weeks.
Within Agile, Scrum serves as a specific framework. To draw an analogy, Agile is like driving, and Scrum is the car itself. So, just as you need to know about the roads and other driving rules, understanding Scrum provides a structure for effective communication. When engaging with different people, I always consider their roles. Are they the product owner who deals with clients? Are they colleagues or scrum masters responsible for coordinating the team's efforts? Each role has its specific guidelines for communication within the framework.
This disciplined approach enables clear and transparent communication. It allows non-technical individuals to easily understand the ongoing processes and what's happening throughout the software development cycle. That’s how we ensure everyone involved is aligned and working towards the same objectives.
Are these guidelines equally effective when communicating with people from different countries? What are some of the biggest challenges you've faced while working with individuals from diverse backgrounds and working cultures?
Working with a team spread across different countries has its fair share of challenges. The most significant is managing communication across different time zones. Our team has members in India, the United States, and myself here in the Netherlands. As the intermediary between these two time zones, my mornings kick off by catching up with our Indian team. By noon, they're already calling it a day, as they are three hours ahead. Then, joins the United States team, so I start working with them to address any issues that may have come up. It's like playing time-zone Tetris to make sure everyone's on the same page.
Besides the time zone puzzle, working with people from diverse backgrounds and cultures has brought about differences in work styles and practices. The working culture in India or the Middle East, for instance, is very different from that of Europe. I remember when I first arrived in the Netherlands, my boss approached me after about a year and told me that he had noticed I had taken many sickness absences during that period. I immediately felt I needed to apologise, explaining that I didn't know I had to inform him. To my surprise, he assured me that he wasn't there to place blame but rather to ensure that I wasn't overloaded with work. That was a culture clash moment for me. I wasn’t used to that kind of working environment.
To tackle these challenges, I have found that open and frequent communication is crucial. Setting up clear channels of communication with the help of technology has played a significant role in bridging those geographical gaps. Moreover, understanding and appreciating different perspectives is critical too. We've learned to embrace the diversity within our team, adapting to various work styles and cultural nuances. It's all about creating a harmonious and productive team dynamic. By adopting these approaches, I've managed to build strong connections with my international colleagues, and together, we've achieved some pretty successful project outcomes.
Staying Up-to-Date with Technology and the Impact of ChatGPT
How do you stay up to date with the latest technologies? Are there any resources you would recommend for someone just starting in the field?
Staying on top of new technologies is a must in our fast-paced industry. Personally, I find social media to be an invaluable resource. I keep a keen eye on Microsoft's updates and announcements, as I primarily work with their technologies. They often hold big events and conferences I make sure to follow. It helps me stay in the loop about what's happening now and what exciting developments lie ahead.
And while I’m not actively looking for new opportunities at the moment, I like to browse job offers from time to time to gauge market trends and understand the demands in the field. It provides valuable insights into the skills and technologies that are currently in demand. I also used to do some side projects and experimental things. Not only I enjoyed doing them, but they also provided me with hands-on experience and a chance to apply my knowledge in practical scenarios. Fortunately, those projects eventually wrapped up; otherwise, I might still be wrapped up in them.
When it comes to resources, the key is to follow your curiosity and determination. There is so much online content available. Some people like to read articles or books, while others prefer watching videos – whatever floats your boat. At the end of the day, it's about finding what works best for you. But, regardless of the medium, the important thing is to put that knowledge into practice. As a professor once told us, programming is not a spectator sport. You can watch others do it all you want, but you won't grow as a developer unless you roll up your sleeves and start coding yourself. True understanding comes from doing, experimenting, and overcoming real-life challenges.
How do you view the impact of tools like ChatGPT on the job market – are they a source of new opportunities or potential threats? Do you anticipate any shifts in your job role in the future?
This is definitely a hot topic. Together with some friends, I recently had the chance to explore GitHub Co-Pilot, which functions similarly to ChatGPT but within our specific work context. It's an incredibly powerful tool that enables us to achieve more in less time. However, we all share the consensus that it’s by no means a threat to our jobs.
ChatGPT and similar technologies allow us to streamline our workflows. Previously, we would perform tasks manually, but now we have the assistance of automated tools to speed up the process. However, it's important to note that these tools still require human oversight. We need to verify their output, ensure it aligns with our intentions, and maintain the tool itself. So, while it helps us accomplish tasks more efficiently, it doesn't replace the need for skilled professionals.
The job market is big enough to accommodate both the increasing number of developers and the demand for their expertise. Shortages of skilled developers are prevalent across industries, and the market constantly seeks more talent. If more developers are available, it will likely result in a growing number of job opportunities. I don't think there will ever be a point where there are more developers than jobs.
While it's difficult to predict precisely how these tools will evolve, we need to be flexible and agile to keep up with the changes. Ultimately, ChatGPT and similar tools are just tools built to enhance our capabilities rather than replace us. Our jobs are safe as long as we remain proactive in upskilling ourselves.
Future Career Aspirations and Advice
Where do you see yourself ten years from now? What trajectory would you like your career to have taken?
Well, ten years ago, I was doing the same thing. Now I’m just more experienced and senior in my role, and I really enjoy what I do. So ten years from now, I want to keep doing what I do. Maybe grow better at it and earn more money. I see myself taking on more challenging tasks and higher-level roles in my field. It's exciting to have the opportunity to make a bigger impact.
While I know people in my field who aspire to become managers or pursue a Solutions Architect career, I personally love programming. I get a lot of satisfaction from solving problems on my own and writing code. It's a part of my work that brings me joy and a sense of fulfilment. While I might consider exploring the architect role in the future, it's not something I'm drawn to at the moment.
Do you believe software development is a career worth pursuing, and would you encourage younger people to follow this path?
I would absolutely encourage younger people to pursue this career path. It's an exciting and fulfilling journey where you get to create things with your own hands, all while having a lot of fun along the way. Plus, there's a high demand for skilled professionals in this field, which means plenty of job opportunities.
While it may not be a physically demanding job, it can certainly challenge you mentally. But that's part of the adventure too. You have the chance to tackle exciting projects, solve complex problems, and witness your ideas come to life. It’s definitely a wild ride that will keep you on your toes and constantly learning. So, if you have a passion for hands-on work, enjoy being creative, and want to be part of an industry that is always evolving, then this is the perfect fit for you. It’s a very rewarding path that can lead to both personal and professional growth.
If you could go back in time, what advice would you give yourself before embarking on this career path? What words of wisdom would you share with someone who is just beginning their journey in this field?
Looking back, I would encourage my younger self to be more determined, take more risks, pursue different opportunities, and see them through to completion. There were instances where I didn't fully explore certain paths or failed to seize promising chances. If I could turn back time, I would approach those situations differently.
Determination plays a key role in this career. Once you have found your true calling, you need to be fully committed to it and embrace any challenges or setbacks as opportunities for growth and learning. But to do so, it’s crucial to have a genuine passion for the craft and be certain that a career in software development aligns with your interests and aspirations.
Finally, I’d like to highlight that software development is not the only option within the software industry. There are plenty of roles you can explore, such as scrum master, product owner, documentation specialist, analyst, and tester, among others. If one particular aspect of the field doesn't quite fit your preferences, don't be afraid to venture into other areas that may better align with your skills and interests. The industry offers a wide and diverse range of opportunities, and finding the niche that suits you best is key.
In an ever-evolving technological landscape, Ahmad's advice to embrace curiosity, foster determination, and remain adaptable serves as a compass for anyone venturing into the world of software development.
A big thank you to Ahmad for sharing his insights and inspiring career journey with us.
How to Become a Software Developer
Find Your Next Career Opportunity with Templeton
Are you looking for an exciting new career in software development or want a new tech opportunity?
We provide contract tech jobs across 40 countries, and our diverse, international team is on a mission to find the right one for you. Find your next IT job here!
Discover more from our interview series:
- Let's Talk Tech: Insights from a Project Manager
- Empowering Women in Tech: An Interview with Chibuzo Igwe
- Empowering Women in Tech – An Interview with Thérèse Struik