Interview with Full-Stack Web Development Instructor, Affaf Ahtisham

Full Stack

By Matthew McGrath

Affaf Ahtisham DevOps Instructor
Affaf Ahtisham, an instructor and curriculum developer for the Certificate in Full-Stack Web Development and the Director of Engineering at HashiCorp

As the Holiday season is in full swing, that probably means you’re finishing up (or just starting) your online shopping.

Picking the right present for a loved one is hard enough, so when you finally find that perfect gift, the last thing you need is a glitchy checkout feature to get in your way. 

Who do you have to thank for your seamless online purchases this year? A full-stack web developer. 

Full-stack professionals offer a comprehensive skill set that can take a digital product from conception to completion. With the York University School of Continuing Studies Certificate in Full-Stack Web Development, you can learn to create these enjoyable online experiences for users. To learn more about this program and the field, we spoke with Affaf Ahtisham, an instructor in the full-stack program and the curriculum developer. 

Affaf Ahtisham has been working within the software development industry (full-stack development being the key component) for over 15 years. Starting his career as a developer, today Affaf is a Director of Engineering at HashiCorp, a cloud software company based in the San Francisco area.

Let’s start with a simple question many might not know the answer to—what is full-stack web development? 

Full-stack web development entails creating software and applications that serve various needs of businesses and communities. Developers focus on the experiences of how users interact with the software, so what we refer to as front-end development. It also encompasses how we store data, secure data, the rules around data storage and protection, and business logic, which is what we refer to as back-end development. So full stack combines both the front end and the back end to give a comprehensive perspective on what it takes to build modern web applications that a lot of us use on a day-to-day basis.

So is full-stack development more focused on the appearance of web applications or the structure?

It’s kind of both. For example, for someone filling out a form on a website: what those fields look like, what the colors are, and so on, that’s the front-end component. But when you click submit, the data storage that happens next is the backend. Collectively it’s full-stack.

And this is the unique thing about this program itself. There are a lot of programs where you would only focus on one side of the stack. For example, a front-end stack program would only focus on the experiences users might go through, and it will have some degree of programming as well. But it never gets to the extent of how we store the data in an area that is secure, reliable, and can be extracted again in the future.

What are the employment prospects in this field?

Software is always needed. It is crucial to our modern economy and the way we do things; the way that consumers expect to engage with various businesses and how organizations operate. The necessity for software developers is high. And during the pandemic, we did see an increase in the demand for developers, but not enough developers to fulfill the demand. 

The digital world is here to stay. This is a field that we’ve seen tremendous growth over the last decade, and we’re not going to see any shortage of that over the next little while. 

What is the standout feature of this program? 

We keep lessons close to the applied nature of full-stack development, letting students experience how to solve problems. Students work through real-life examples to understand the actual development, the testing, and the final release of their work, similar to how we do it in the industry. Students get hands-on experience of the life of a developer through projects and assignments. 

Throughout this program, students work on a web development project that threads through each course. Why take that approach?

Oftentimes, students in a program will ask themselves: “I’m learning this concept, but why am I learning it? How is it going to help me in the real world?” 

We want students to understand and empathize with why certain technologies are useful and where they fit in. So we begin the threaded project as early as ideation. We present a series of topics or business problems that students might be familiar with. They pick one of them and ideate solutions and work through the concepts of functionality. In each course throughout the program, students will learn new functionalities to apply to their projects.

They work through the designs of the web application, add logic into it, layers of security, and finally upload it to the public cloud where anyone can go and interact and use these services that students have built throughout the program.

In many ways, students go through an entrepreneurial journey to understand what it takes to build a product and bring it to the market today. 

Could you give some examples of these student projects?

We have folks working on, for example, a Q&A board for new immigrants, a journaling platform, ways to plan your taxes, and a way to share videos for a specific sport. We have a wide array of different topics available, and students need to work through the thought process of: “Okay, I have this idea, but how would it work? How would users interact with it? How do I store my data? What does it even look and feel like?”

What kind of background do students need before they start the program?

I think the only requirement for this program is having some degree of familiarity and comfort with using a computer. The program is designed for anyone that wants to learn how to do full-stack development and build engaging experiences that solve real-world problems in an ever-increasing digital world.

Do you have an idea for a web feature that you can’t get out of your head? Gain the skill set to bring it to life and launch your career in this exciting field with the Certificate in Full-Stack Web Development