Professional Self-Assessment
Transferring to SNHU and completing the Computer Science program, as well as this capstone, has been a transformative journey, both professionally and personally. Throughout said journey, I feel like I have evolved from just a student exploring random foundational concepts, to someone with an understanding of the field and equipped with practical skills and a clear trajectory. That trajectory is trying to enter the cybersecurity field.
The process of building my capstone project, which is a full android application meant for tracking weight progress, whether you are trying to gain or lose weight, challenged me to apply, integrate and learn a wide range of my computer science knowledge. More importantly, it gave me the opportunity to work by myself, without a "guide". It helped me prepare myself for resolving real world problems, simulating what I might experience in a more professional settings. Through this self assessment, I want to highlight how the program helped me understand core technical competencies, understand how they can apply to cybersecurity, and develop soft skills essential for working intodays fast paced tehc industry.
Professional Growth and Goals
Coming into Computer Science, I always knew I wanted to end up in cybersecurity. Ive always been drawn to areas where information or data security and privacy intersect. While my capstone focused on fitness tracking, I made a concious effort when beginning my code to prioritize data integrity, error handling and structured architecture. These skills are essential in cybersecurity roles. Developing the application helped me solidify my understanding of secure data flow between the UI, ViewModel, Repository and Database layers. This is something that isnt really talked about when introducing people to coding or teaching them, but I feel is vital to ensure they become a good developer. I also encountered a big issue with converting timestaps, type mismatches and architectural conflicts. All of which took some time to debug, but after reading and realizing my mistakes, small or large, I was able to overcome them and fix them. THese challenges taught me how to build more resilient and secure systems. This loops back to being an overall good developer and is a skill I plan to carry throughout my career. Additionally, the project helped refined my attention to detail, whcih is also extremely important in any security role. From controlling user input, to avoiding unhandled expectations and ensuring there is a smooth navigation between activities. Every part of the app reinforced the importance of code correctness and validation.
Collaboration and Communication
Although my capstone was an individual project, many of my previous courses involved collaborate software development using git and agile principles, and some peer code reviews. During my capstone, specifically trying to convert timestapes, I had reached out to a good friend of mine who does DevSecOps and asked him the best way to go about it. I think collaboration is extremely important in any software job. Its important to always have another eye looking at things you might have missed. Experiences like these taught me how to work in team environments, and communicate effecitively with both technical peers, for example my friend, and non tehcnical people.
When Debugging issues, like the ones mentioned in my narratives or the timestamp problems earlier, I have to comminucate clearly why I am having these problems, and document my design decisions. On top of this, testing for edge cases will help overcome these problems too. Having good communication skills maps directly to well functionaing roles in cybersecurity.
Technical Skills Overview
Data Structures and Algorithms
Algorithms were not always just academic exercises. They informed how I structured weight trend calulcations inside of my app. Understanding time complexity helped me optimize my database queries and render efficient visualized charts using the MPAndoirdChart library.
Software Engineering and Databases
My use of Room for local database access in Android development mimicked real worled practices of handling relational data. I applied the Repository pattern, MVVM architecture, and DAO interfaces. These skills are directly transferable to enterprise level secure systems development.
Security
While the capstone was not a security focused app, I went out of my way to consider data integrity, input validation and error handling throughout the capstone. In previous courses, I explored topics like cryptography, authentication and secure API usage which reinforced my goal to work in cybersecurity. Some examples of security stuff in my app are the Input sanitization in the user creation and weight tracking, which helped prevent malformed data. As well as thought out UI-to-DB flow control ensured that updates were transactional and safe.
Portfolio Summary and Artifacts
The portfolio showcases the new and original artifacts used to represent my growth and skill development. It covers app development, database management, UI/UX design, and secure coding practices. All of these together demonstrate my ability to build end to end applications, work accross multiple layers of software architecture, debug issues systematically and communicate findings and fixes clearly.
Conclusion
Overall, this program has helped me prepare for real world problem solving, as well as learn how to continue learning. I can effectively contribute meaningfully to any development or security focused team. WIth a strong foundation in both software engineering and core security principles, I am confident in my ability to pursue a role in cybersecurity, whether its secure software development or a penetration tester. This repository is more than just a collection of code, its look into who I am. A detailed, security minding, adaptable computer scientist ready to make an impact in the field of cybersecurity.
Narratives
These documents provide insights into my thought process, architectural decisions, and development journey during the CS499 Capstone project.
Code Review Video
Watch my first code review done at the beginning of this course here:
▶️ Watch on YouTube