Critical Thought in Software Development.
I wanted to preface this post by sharing something that I learned about myself recently that I always knew to be true; I have always had a knack for teaching. I spent a year as an English teacher in my native country of Honduras as part of a community initiative whose mission was to teach English to students that came from low-income areas (which in my country, unfortunately, is a large percentage of the population). I had never been in a position where I was able to use my knowledge of something in an environment where I would be able to teach others about it, much less give lectures on the topic. And since I didn't have to learn English but instead had grown up speaking both English and Spanish fluently in my house, and also seeing as how no one else in my village spoke a lick of English, you could say that the job fell right into my lap.
During my time there I developed my own teaching methods that would allow me to positively reinforce my student's interest in the subject, but also allow my students to feel comfortable enough to ask questions. Ultimately I wanted to teach in a way that was thorough and effective but most of all I wanted to encourage my students to engage in Critical Thought because I believed that regardless of how many words or phrases they could memorize, I was much more interested in their ability to take those words and phrases and make it work for them. I didn't think that any of my students would go on to write the next great American novel, but I kept thinking “If any of these kids grow up and want to immigrate to the United States, I want to make sure I’ve given them the tools they need to be able to translate and complete a job applicaition”. That was the classes’ final exam; to fill out a job application I whipped up in Microsoft word. Make it work for them.
It wasn't until I became a student of the Software Engineering program at The Flatiron School that I began my own personal journey of Critical Thought as it pertains to development. I realized quickly that Development wasn’t about memorizing array methods or about how well you can implement a fetch request without looking up the proper syntax. To me, Development is about your ability to create as well as your ability to imagine. Everyone begins learning software development with the dream that we might become the next Mark Zuckerburg or Bill Gates or even the next Jeff Bezos, but what sets those types of people apart from the rest of society is their ability to improve upon whatever was already there. Jeff Bezos didn't invent the concept of a market where people go to buy and sell goods. Bill Gates didn’t create the first computer. Mark Zuckerberg didn't invent the first social media website. But they weren’t afraid to use the knowledge they had to materialize a new society into existence. They made it work for them.
Ultimately, when the time came to conceptualize and develop a capstone project to symbolize the end of my educational career at Flatiron School but also to showcase the extent of my knowledge in development, I decided to develop a dog walking app. It’s important to remember that Amazon started off as an online book store running out of a garage.
“Even the tallest trees are able to grow from tiny seeds like these. Remember this, and try not to rush time.” ― Paulo Coelho, The Spy.
I chose the project because I had confidence that it was an application I was capable of creating and one that I could do well. When my future employer looks at my resume and demos my application, I imagine they might ask me “why a dog walking app?” to which I’ll respond, “I knew I could do it. I could build the front and back-end and give it all the functionality that you would want out of an application like that.” I'm hoping that they might point out the last thing any entrepreneur that’s been on Shark Tank wants to hear; “But it’s already been done.” That’s when I drop the bomb. “Wag! is the highest downloaded dog walking site in the country and is available in 110 cities and employs more than 50,000 people. A project like that depends on multiple teams of developers collaborating to deliver an experience for clients and walkers. I created my own and I’m one developer.”
I’m going to make it work for me.