- About
- Services
- Portfolio
- Clients
- Work
- Statistics
- Blog
- Contact
Who am I?
I'm Juan Rodirguez, a Software Developer
When not programming, I am hiking in the great mountains of North Georgia. I have a Bachelor's degree in Computer Science from Southern New Hampshire University and an Associate's in Computer Programming from Chattahoochee Technical College.
- Java
- C++
- JavaScript
- TypeScript
- Python
- C#
- HTML & CSS
- Tailwind CSS
- Angular
- React.js
- Express.js
- MongoDB
- PostgreSQL
- MySQL
- Git
- OpenGL (2D & 3D graphics)
Here's what I'm good at
SOFTWARE DEVELOPMENT
Experienced in developing software.
DATABASES
Experienced with MongoDB, PostgreSQL, SQLite, and MySQL.
Mobile Development
I developed a mobile inventory application.
3D Simulations
Used C++ and OpenGL to create a 3D scene.
My Portfolio Told Through Narrative
Explore the Narrative by Clicking an Image
The artifacts showcased here are from courses I completed during my bachelor's degree in Computer Science at Southern New Hampshire University. Each artifact reflects a unique aspect of my academic journey, highlighting the skills and knowledge I developed throughout the program. By clicking on an image, you can explore the narrative behind each project and understand how it aligns with my growth and expertise in computer science.
Completing this program has not only strengthened my proficiency in software engineering, data structures and algorithms, database management, cybersecurity, and technical communication, but it has also refined my ability to work collaboratively, think critically, and approach challenges with an analytical mindset. Through coursework and hands-on projects, I have developed the skills necessary to contribute effectively to the technology industry and prepare for a career in software development or full-stack engineering.
This self-assessment highlights my strengths, professional goals, and technical competencies. It also provides an overview of how my academic experiences and projects have shaped my journey in the computer science field.
My Strengths and Professional Growth
Throughout my academic career, I have gained hands-on experience in multiple programming languages, frameworks, and software development methodologies. Each course I completed contributed to my ability to develop, test, and optimize software applications while considering efficiency, security, and usability.
Collaborating in a Team Environment
One of the most valuable aspects of my academic experience has been the opportunity to collaborate with peers in a professional, team-based environment. Courses such as CS 360: Mobile Architecture & Programming and CS 250: Software Development Lifecycle required me to work on projects that simulated real-world software development teams.
Through these experiences, I learned to utilize version control systems like Git to manage code contributions effectively, delegate tasks using Agile methodologies, and troubleshoot challenges collaboratively. These projects reinforced the importance of communication, adaptability, and accountability in software development—skills that are crucial in the professional workplace.
Communication
A successful developer must be able to communicate effectively with both technical and non-technical people. My coursework in CS 255: System Analysis and Design emphasized the importance of clear documentation and requirement gathering when working with clients or project managers. I developed skills in writing software design documents, test plans, and technical reports, ensuring that I can articulate complex technical concepts in an accessible way.
Data Structures and Algorithms
A strong understanding of data structures and algorithms is essential for designing efficient applications. In CS 300: Data Structures and Algorithms, I gained experience implementing and optimizing sorting algorithms, hash tables, trees, and dynamic programming techniques. These problem-solving techniques have enabled me to write optimized, scalable code for a variety of applications.
One of my notable projects involved designing an optimized search algorithm for a grocery inventory application, significantly improving retrieval speed compared to traditional linear searches. My ability to evaluate Big-O complexity and make informed trade-offs between time and space efficiency has been a valuable asset in software development.
Software Engineering and Database Management
My experience in software engineering is demonstrated through projects that showcase my ability to design, develop, and optimize full-stack applications, mobile solutions, and data-driven systems. I have worked extensively with Python, Java, Android, and database technologies, applying industry best practices to ensure performance, scalability, and security.
Animal Shelter Dashboard
One of my key projects involved building a Python-based interactive dashboard using Dash and MongoDB, designed to dynamically visualize and analyze real-time data. This project strengthened my ability to integrate front-end and back-end technologies, optimize data retrieval with aggregation pipelines, and apply database indexing techniques to improve performance.
Mobile Inventory App
Additionally, I developed a mobile inventory management application using Android Studio, Java, and SQLite. This project required implementing CRUD functionality, authentication mechanisms, and efficient local database management. Building this mobile-first application reinforced my understanding of user experience design, mobile optimization, and structured data storage.
CornerGrocerApp
Another major project, the CornerGrocer application, was originally written in C++ and later translated into Java. Given my understanding of Big O notation, I implemented a HashMap-based solution to optimize item lookups and inventory tracking, significantly improving data retrieval efficiency.
Through these projects, I have gained extensive experience in software development, database management, and API integration, ensuring that my applications are both functional and scalable across different environments.
Security and Secure Coding Practices
Security is an essential aspect of software development, and I have applied secure coding principles across multiple projects. I have implemented input validation, authentication mechanisms, and encryption techniques to mitigate vulnerabilities such as SQL injection, cross-site scripting, and improper access control.
Additionally, I have worked on analyzing software for potential vulnerabilities and strengthening system security by identifying and mitigating risks. This experience has given me a security-first mindset, enabling me to develop robust, resilient applications that adhere to modern security standards.
Summary of Artifacts and Portfolio Structure
The projects featured in this portfolio demonstrate my technical expertise across multiple disciplines:
- • Software Engineering & Design: A mobile inventory app showcasing CRUD functionality and authentication mechanisms.
- • Algorithms & Data Structures: A grocery tracking system originally developed in C++ and translated into Java, optimized using hash maps and search algorithms for improved performance.
- • Database Management: A MongoDB-driven Python dashboard with real-time data visualization.
Conclusion
Completing my Bachelor’s in Computer Science at SNHU has prepared me for a successful career in the technology industry. This portfolio showcases my ability to collaborate, communicate, and develop efficient, secure, and scalable solutions.
As I enter the professional world, I look forward to applying my skills in a software engineering or full-stack development role. My passion for innovation, combined with my problem-solving skills and adaptability, makes me eager to contribute to meaningful projects.
My work experience



59+
GitHub Projects
SNHU
Dean's List
10,000+
Hours Spent Programming
10,000+
Bugs Fixed
Who am I ?
Check out my interest.
My contact information.
Feel free to reach out.
My Phone
My Email