Skip to main content

In this first year of the DukeEngage Jordan program, students worked with partnering organization ILearn on a variety of projects related to the education and training of youth, particularly refugee youth. Leah Nickelsburg worked on a digital platform to help social enterprise organizations monitor and evaluate their projects and generate annual reports. Here she writes about the experience of putting her computer science major to work in the real world.

As a Computer Science major, I’m not new to the process of trying to make a program work — the trial and error, debugging, endless googling, and hours-long attempts to find out what’s keeping your code from running (which tends to cumulate into a frustratingly simple solution) is something that I am not only familiar with, but also have consciously chosen to make a permanent part of my life. But I had never before experienced it on the scale of our current project.

Brendan [Sweezy], Leyla [Rasheed], and I have been working to develop an app called “Wathik” that will make it easier for community-based organizations to create annual government reports. When we were assigned this project, the three of us were incredibly excited — it involves front-end and back-end development, work with databases and security features, user experience, and other components that we are interested in. But the magnitude of this project was clear. From the beginning we knew creating Wathik would not be an easy task, and we soon discovered more factors that would make our work difficult.

At Duke, I am used to working on carefully professor-designed CS projects under the direct supervision of teaching assistants — each step is carefully prescribed, and a “correct answer” for the final product is defined. The curriculum is curated to introduce new concepts in a logical sequence, and large concepts are broken into smaller pieces for students’ convenience.

A man with an amused expression in front of a laptop with question marks on it
DukeEngage Jordan student Brendan Sweezy poses in front of a laptop displaying “the output of an early attempt at generating a government report, resulting only in question marks.”

Wathik is completely different: the program was started by a developer several months ago in a language and a framework that was unfamiliar to our team; our direct supervisor is not a software engineer and has not been involved with the programming of the app; the initial developer is no longer working for this organization, and lives in a different country. Not only is our work largely self-guided, but we also had to teach ourselves a new programming language and environment before we could get started.

The process of learning the required tools used to work on the app was grueling: it took about two weeks of intensive studying to teach ourselves the programming languages and developer environments. There were multiple times when I thought that I wasn’t getting anywhere, or that I should factory reset my computer and start over, or even that computer science is not the correct path for me and I should change my major.

Luckily, our supervisor was able to connect us with the developer who had started Wathik. He was going to be visiting Jordan for Eid, and would be in Amman for a few days. Even though he was here to visit family and celebrate the holiday, he very generously offered to meet with us and introduce us to the engineers at his web development company, Creativology.

After speaking with them, it only took a few more days of work for Brendan, Leyla, and I to start making breakthroughs — we had spent weeks on intense work that was incredibly valuable but provided only non-visible abstract structural results, and were finally able to make progress on features that would be visible to future users of this product.

This process has been exhausting, both intellectually and emotionally. But it’s also been completely worth it — I’ve gained more technical skills in these past couple of weeks than I typically would in a semester-long CS class. I’ve also learned about the generosity of the people in this industry. It has been a great privilege to connect with the Creativology staff over our passion for programming — I feel so lucky that I have been able to share this process with brilliant people who I would’ve otherwise never met, and that they have been so welcoming and eager to help us.

I have a renewed sense of hope for the tech industry and my ability to find a place in it. And most importantly, I have gotten to experience that euphoric feeling (every software developer must know it) that comes from discovering how to make a program work — and this time, I feel like I’m doing it on a project that matters.