Web Development

For over 3 years I have thoroughly enjoyed diving deep into Full Stack Development and learning the necessary skills through my work experience, education, and personal learning. From large enterprise web applications to Ecommerce sites and simple blog sites such as this one, I am confident in my ability to perform and produce quality results for your web project.

Learn more

Application Development

Experience in Application Development was well received throughout my college aducation. Skills such as leadership, knowledge of the SDLC, team work and agile methodologies, best practices, and design patterns were all valueable in my development as an efficient software engineer. The technologies used mostly consisted of Java Swing and CodenameOne GUI libraries as well as 3D computer graphics programming.

Learn more

Mini Programs

A large chunk of my college experience was spent developing short simple programs, which run through a CLI. From games and calculations, to programs that just gave me experience in writing algorithms and data structures from scratch, I can definitively attribute my problem solving skills to these small, but valuable experiences.

Learn more

About Me

Work Experience

Hexaware Technologies | Java Full Stack Developer | Jun 2022-Aug 2023
Revamped enterprise projects and simplified architectural complexity by migrating to AWS Cloud Services and Azure Cognitive Services.
Read More
  • Java and Spring API development
  • Python Integration of Azure Cognitive Services
  • JUnit, Postman, and Cucumber debugging and testing
  • SonarQube project security and code quality analysis
  • Onboarded new team members and project documentation
  • Pair programming, team collaboration, code reviews in scrum environment
CA Department of Justice | Full Stack Intern | Jul 2020-May 2022
Lead frontend developer and occasional full stack work for enterprise web application revamp
Read More
  • JavaScript/jQuery frontend design and development
  • Java and NodeJS backend API development.
  • Occasionally PL/SQL script debugging
  • JUnit, Postman, and browser developer tools debugging and testing
  • SonarQube and browser plugin accessibility and quality analysis
  • Requirement elicitation and progress meetings with business users
  • Trained and onboarded other developers

Education

Senior Project | CSC190-1
  • Worked with a team in order to apply all the skills and knowledge acquired over our college experience. Met with potential clients and decided on a local restaurant who was in need of a well-designed and completely revamped website.
Web Programming | CSC196W
  • Client-server relationship, server-side web services, DB integration, HTML, CSS, JavaScript, XML (AJAX)
Read More
Software Requirements and Specification | CSC170
  • Analysis and specification of non/functional requirements
  • Determining and validating customer and user software requirement specifications to be correct, complete, and testable
  • Modeling techniques, methods for representing real-time requirements, and the use of Computer-Aided Software Engineering (CASE) tools to illustrate analysis concepts.
Computer Software Engineering | CSC131
  • Principles of Software Engineering covering the software development life cycle; software requirements (elicitation, modeling, analysis and specification), software design, software implementation and testing
  • Top-down and bottom-up software implementation and testing
  • Project management, project documentation and the development of communication skills through written documentation and oral presentation
Computer Networking Fundamentals | CSC138
  • Network architecture, ISO/OSI reference model, TCP/IP protocol stack, layering
  • Protocol, encapsulation, socket. HTTP, FTP, SMTP, DNS, P2P, TCP, UDP
  • Multiplexing and demultiplexing, reliable data transfer, flow control, congestion control
  • Internet addressing, routing, forwarding, IP, ICMP
  • Error detection and correction, multiple access problem, LAN vs WAN, Ethernet, ARP, switching
  • Wireless standards
  • Network security, threats and attacks, defense and countermeasures
Introduction to Computer Architecture | CSC35
  • Internal representation of numeric and non-numeric data, assembly level machine architecture, addressing modes, subroutine linkage, polled input/output, interrupts, high-level language interfacing, macros and pseudo operations
Introduction to Systems Programming in UNIX | CSC60
  • C preprocessor macros, I/O, bit-manipulation facilities, timesharing system concepts, file permissions, shell script programming, make files and source code control, basic system calls, pointers and dynamic memory allocation, libraries and relocation and linking concepts
Operating System Principles | CSC139
  • OS processes, threads, concurrency, parallelism on multi-processor and multi-core systems, CPU scheduling, inter- process communication and synchronization, deadlocks, real and virtual memory management, device management, file systems, security, and protection
Algorithm Design and Problem Solving | CISP300
  • Analysis of classical computer problems in a top-down, divide-and-conquer approach
  • Structure design and object oriented programming
Introduction to Structured Programming CISP360
  • Top-down design, control structures, flow control, and other considerations for I/O, libraries, data structures, etc...
Object Oriented Programming with C++ | CISP400
  • Further development of programming proficiency through practice of implemention of classes, storage class and scope, encapsulation, polymorphism, inheritance, function overloading and overriding, virtual functions, operator overloading, templates, exception handling, stream I/O, file processing, and the Standard Template Library
Computing Theory and Programming Languages | CSC135
  • Limits of computation and techniques for specifying and processing formal languages
  • Regular languages, regular expressions, finite automata, properties and limitations
  • Context-free languages, grammars, pushdown automata, properties and limitations
  • Applications in lexical and syntax analyses
  • Turing machines, halting problem, reductions
  • Functional programming and related programming language features
Data Structures | CISP430
  • Analyzed situations for most suitable data structure and sorting algorithms in a manner to provide most efficient time complexity
  • Graph theory, including shortest paths, topological sort, depth-first search, and minimum spanning tree
Data Structures and Algorithm Analysis | CSC130
  • Specification, implementation, and manipulation of abstract data types and their structures: balanced trees, priority queues, sets, hash tables, and graphs
  • Recursion, searching and sorting algorithms, asymptotic analysis, fundamental graph algorithms including graph search, shortest path, and minimum spanning trees
Advanced Algorithm Design and Analysis | CSC140
  • Algorithm design using dynamic programming, randomization and greedy methods
  • Analysis using recurrence relations and amortization
  • String and network-flow algorithms
  • Reductions and approximation algorithms
  • Review of divide-and-conquer design and asymptotic notation
Object-Oriented Computer Graphics Programming | CSC133
  • Mobile application development, implementation of event-driven systems, implementation of software design patterns, graphical user interface development, fundamentals of 2D graphics systems
Advanced Computer Graphics | CSC155
  • Modeling, viewing, and rendering techniques in 3D computer graphics systems
  • Polygonal and parametric surface representation
  • Transformations, windowing, clipping and projections in 3D
  • Hidden surface removal algorithms
  • Techniques for realism such as shading, shadows, highlights, and texture
  • Fractals and procedural models
  • Introduction to animation
  • Hardware support for computer graphics
  • Application of graphics principles to virtual reality systems and 3D games
Database Management Systems | CSC134
  • ER and relational model, DB design, implementation with SQL, schema definition, constraints, and queries
Computer System Attacks and Countermeasures | CSC154
  • Network and computer security with a focus on how intruders gain access to systems, how they escalate privileges, and what steps can be taken to secure a system against such attacks
  • Perimeter defenses, intrusion detection systems, social engineering, distributed denial of service attacks, buffer overflows, race conditions, trojans, and viruses

Skills

  • Languages: Java, Python, Nodejs, C, C++, HTML, CSS, JavaScript, ReactJS, Angular, Racket
  • Libraries: Spring, Java Swing, JUnit, Mockito, Karate, Codename One, Bootstrap, jQuery, DataTables
  • Databases: MySQL, PostgreSQL, MongoDB, Firebase, PL/SQL, JPQL
  • Tools: AWS Cloud Services, Azure Cognitive Services, J2EE, Hibernate, Git/GitHub/GitLab/GitHub Desktop, Jira/Trello, SQL Server, Apache Tomcat Server, Cucumber, Postman, SonarQube, Jenkins, Maven, Wireshark, Atlassian Suite, Putty, Jasper Reports, VM VirtualBox, MS Office Suit
  • Other: Cloud Development, Artificial Intelligence, Software Testing, Agile/Scrum/Waterfall/Kanban, MVC, UI/UX, Unix/Linux/Windows, APIs, Data/Business Analysis, Automation, Debugging, Documentation, and Project Management