Name: Joshua Clark
Type of Project: Artistic and Creative Endeavor
Over the course of the summer, I utilized my spare time to complete the Udacity online courses and study online documentation in order to better my understanding of Android development, and further my experience as an Android developer. I established a schedule on when and how I wanted to complete the courses in my free time, and made sure to enforce the schedule throughout the summer. I utilized my STEP funds in order to pay for the Udacity course over the course of the summer, and to establish a workspace that contained the proper tools I would need in order to pursue Android development. I set up a comfortable office space, and supplied a Nexus 6 and a Moto 360 in order to have simple-to-use platforms on which I could physically test my Android phone and wearable applications on. After progressing through the online courses, I have continued to use this working environment in order to further study the Android development platform and begin creation of personal Android application projects.
Before completing my STEP experience, I had experienced difficulty in regards to self taught development and pursuing extracurricular coding projects. Throughout this experience, I worked towards bettering myself in both of these regards. By the end of it all, I learned a lot about my personal development habits and what I need to do in order to continue bettering them. I realized the importance of being passionate about the projects I work on, and sticking with the learning process even when I am confused. Gaining this experience really improved my confidence overall as a developer, which in turn gave me peace of mind for my future career as a software engineer. The habits I trained over the course of the summer will continue to influence my learning process not only throughout college classwork, but also during internships and future jobs after graduation.
Key Aspects of the Experience
The main reason why this experience was so impactful to me was that I was able to take time away from learning classroom materials and focus on something I personally wanted to learn, and all goals and deadlines were set by myself. I knew that there was a lot of material that I would need to cover and that I wouldn’t get anywhere if I didn’t have some sort of organization. I set goals while simultaneously making sure that I didn’t bore myself with too many tutorials. I varied what I would do every time I worked, some days advancing in the tutorials, and on days where that didn’t interest me I simply focused on coding my app. Even though I hadn’t completed the tutorials on those days, I was able to get a lot accomplished by simply searching online documentation on how to solve any issues I came across. With this methodology, I was able to keep up with the work, and I learned more about how to work and learn effectively on my own.
Another important part of this project was the brainstorming aspect of my development. This project, along with several other recent coding projects I have had throughout classes and internships, have taught me that the planning phase for any coding project is usually one of the most important parts of the development process. In many projects, it’s important to plan for the future to avoid having to completely overhaul your system later on. With Android development, I learned that this idea still applies. When creating an app, it’s important to plan out what functionality you wish to include, because this functionality is usually what is used to draw out and plan the user interface’s layout. If you wish to add functionality later on that wasn’t planned for, the UI may need to be redesigned and reformatted, otherwise it could become cluttered and difficult to use. In addition to this practical use, the planning stage when developing an Android app is important because apps are usually designed with an idea in mind. Many are created to solve a problem or make something more convenient, and having a good idea backing your app can influence the success of your app as well as your motivation to program it. Over the course of this experience, creating my application reinforced this importance of the planning stage of development, and I will definitely be sure to keep this in mind for all future programming projects.
Lastly, in regards to my confidence as a developer, the most rewarding part of the whole process was simply running my application and seeing it work. Being able to see the application I had made running on my own phone was a nice personal verification of what I was accomplishing throughout the course of this experience. It’s one thing to watch the tutorials and learn the content, its another to use what you learn to create something different and see it functioning before you. This was extremely gratifying for me, and encouraged me to continue working on my app and any future applications I want to create. In that sense, this experience has really kickstarted my development projects and gave me a reason to follow them through.
Significance of the Experience
Academically, I was able to add more development experience to my existing skill set. Android development, which is in high demand as the mobile and wearable markets continue to grow, is something I will continue to learn and will hopefully utilize in future college classwork, and in potential internships or careers. In terms of personal and life goals, my main aspiration is to find a position or career in the field of computer science that will bring me the most happiness to work in. Although I am fully confident in my choice to pursue computer science, there are many different types of programming career opportunities available for me after graduation. Some of them revolve around Android and mobile development, while others work with web development, systems software, desktop applications, embedded systems, and more. I am still in search of which field in computer science I want to pursue, and my STEP experience has influenced me to research more about mobile development as a potential career choice. In addition, the habits and skills I developed throughout this experience will help me explore other computer science fields and technologies in order to continue my search for my optimal career.