As of writing, Sooni Mohammed is a 16-year old independent developer and junior high school student from Toronto, Canada who was hailed as one of the winners of the 2021 WWDC Swift Student Challenge. He has a disability called Cerebral Palsy, but he likes to call it Cerebral Possibilities! His fondness for subjects like mathematics, philosophy, and computer science have sparked his interest to learn app development from another app called Notion. His curiosity to learn more about programming was unleashed after using Notion’s “programming a database” feature.
Achieving stability in learning programming
Just like a lot of beginner students, Sooni also went from one resource to another just to learn programming. Though these resources were initially helpful in helping him learn some programming basics, he eventually realized that the content of these materials could only get him so far:
“Before CWC, I was like a free-rein horse with no stability in learning programming. I would just learn from the University of Youtube and buy every course that looked appealing. I’m not going to lie, that’s what got me started, but that honeymoon phase quickly passed. Yes, it was plenty to get me up on my feet to begin building small-scale apps, but at some point, I felt as though I hit a plateau where I didn’t feel challenged enough. I learned iOS networking, Swift/SwiftUI, basic UI design and data structures through learning nomadically. Still, I just couldn’t find great resources to learn things such as databases, SwiftUI shapes, Firebase, etc.”
“CWC connects with its students on a human level”
Sooni eventually stumbled upon CodeWithChris and decided to stick with it because CWC gave him the long-term stability to learn iOS app development, challenged him to become a better programmer, and also valued him not just as an aspiring iOS developer, but most importantly, as a human being. From its relatable free tutorials on YouTube to its helpful support staff, Sooni feels that he is genuinely a part of a growing CWC family that continuously pushes him to achieve his full potential:
“I trust CWC because they really connect with developers on a human level. I feel like they really target the psychological aspect of iOS app development. Let’s face it: creating innovative software that genuinely helps others isn’t as easy as it sounds. There were days when I didn’t want to pursue this anymore. I kept on finding myself running into problems that made me want to bang my head against the wall for days. Developers face many more hardships, but CWC talks about these challenges and motivates you to keep trucking forward.
The first video that CWC+ members see is Chris talking about the CodeCrew forum and how if you ever “get stuck or you just need some encouragement,” you will have the CWC team and community to help you through. It is a very different way of taking you through this development journey compared to other learning resources. Youtube tutorials, for example, make development seem quintessential. The worst part is that they don’t explain how they found and solved that particular problem very well. Even some of the paid courses I took don’t do a great job of this either. How does one learn if not from their mistakes?”
Another positive aspect of CWC that Sooni appreciates is how readily accessible the CWC materials are. He likes the fact that he can easily use them as reference whenever he’s faced with coding problems. The wide range of topics available in the CWC+ platform has been absolutely crucial in helping Sooni achieve his learning goals sooner than expected:
“What surprised me about CWC was how easy it was to learn a topic. I always thought that the CWC databases course would take a month to learn and commit to memory. But here’s what I learned: you don’t have to remember everything because you always have access to the material. With that mindset shift, I got through half of the course in 3 days. It’s actually mind-blowing to me. The best page on the entire website is the index page. I cannot recall how often I used it when building my apps. It’s absolutely indispensable.”
Seeing problems as opportunities for growth
Sooni affirms that CWC has positively impacted his perspectives and approaches towards solving problems. Instead of being easily discouraged by the occurrence of a bug, he’s now more keen to challenge himself by just tackling the problem head on in order for him to become a better developer. As young as he is, CWC’s reassuring guidance has helped him embrace the mindset of seeing programming challenges as stepping stones for further growth:
“My outlook regarding development has genuinely changed dramatically. I now start to see bugs and problems as opportunities for growth. Before this, I would just copy over solutions from StackOverflow, ending that problem. But now, I try my best to analyze and learn from any external code I put in my codebase. In my most recent app, Dishful, I couldn’t move a view up when the keyboard appeared. It took two days to mend together a helpful StackOverflow answer, and that actually worked. I felt so foolish for not being able to implement this one minor enhancement. I thought of giving up plenty of times but eventually pieced different solutions together from various posts to come up with a good reliable solution. I would not have been able to do this without the continuous positive reinforcement that CWC gives me.”
Dishful
Sooni is proud to showcase the product of his superior intellect and undying determination. Dishful is a recipe manager made for people that cook lots and need a single, synchronized place to store their recipes. The current MVP (for version 1.0.0) currently has all the basic CRUD functionality working and a feature to import recipes from different websites. Many more features like scan recipes, meal prep, shopping lists, and more will come soon.
“Look at the big picture”
At 16 years old, Sooni is already primed to share some nuggets of wisdom to aspiring iOS developers, especially to those who feel that learning iOS app development is too intimidating:
“For those interested in iOS development but without experience, I would go on Youtube and watch other people doing it. Get inspired. Once you have that spark, run with it. Build an elementary hello world program and show it to your friends and family. The next thing is to keep that spark alive by learning and building small projects. The key is small projects, which will leave you hungry for more. After that, just learn as much as possible by turning knowledge into application. Very soon, you’ll feel more capable of building more extensive, sophisticated projects.”
He also recommends for students to take a break whenever they encounter a seemingly insurmountable problem. Pausing when needed will help students to meaningfully reflect on their current learning progress, analyze the processes that they’ve already undertaken to reach a certain point, and eventually keep them grounded enough to remain focused on the prize:
“What helped me the most when I felt like giving up learning was to look at the big picture and not let intimidation beat me. It is so easy to get tangled in the details. I had an adamant time learning initializers. I was confused about how and when they get called and why we need them. This was in my early days of learning and when I still had the popular misconception that programming is highly complicated. I overcame this by taking a break and asking how this is connected to the big picture. I discovered that there are cases where you need to set up variables with values and an excellent place to do that is in the init method because when we instantiate an object, that’s what gets called. I was only able to get that conclusion by first and foremost taking a break, then asking a rather broad question.”
Are you a CWC student who has a success story to tell? Feel free to share it with us through this link.