James Patterson

Kennesaw State University · College of Computing and Software Engineering

Information


Seeking: Entry Level Software Engineer Position

Education: Bachelor's Degree in Computer Science

Email (Preferred): james.patterson@themerakicode.com

Phone: (470) 383-1136

GitHub: xRzy1985, NoWorriesWoodWorking

LinkedIn: james-patterson-933843133

Web Application: The Meraki Code

Website: No Worries Wood Working

HackerRank: xRzy85

Documentation: Resume, CV

About


I am a graduate of Kennesaw State University's College of Computing and Software Engineering with a 3.71 GPA majoring in computer science. I graduated from Dalton State College with an A.S. in computer science, and then proceeded to move to Kennesaw to attend Southern Polytechnic State University to start working on a B.S. in computer science. SPSU was eventually merged with Kennesaw State University, and that is how I became a Kennesaw State University student. I followed the computer science curriculum while trying to focus on database design, James software engineering, and various information technology classes.

After graduation, I was gifted with a large sum of money, and told to travel wherever I want for as long as I want. So, I ended up driving across the States to California and up the Eastern coast. I then took a flight to Italy to stay with some family, where I fell into the tourist role; rowing along the Venice canals, dreaming of the fights held in the Colosseum, and getting to actually see Mount Vesuvius from Pompeii was amazing. I ended up befriending a group of Australians while I was traveling southern Italy on a motorbike in Bari, who ended up offering me a place to stay outside of Melbourne. So, I took the next cheapest flight to Australia. My friend Steve took me all along the Gold Coast to watch people surf with great white sharks, we ate fresh fish I've never heard of, and we even drank a few cold ones with a wallaby. The mates and I traveled to New Zealand, off the North Island's Bay of Plenty specifically, to see the amazing views. We saw Auckland, Hobbiton, but camping deep in the Fiordland National Park was out of this world. Milford Sound is by far the most incredible view I've ever seen, outside of Margot Robbie. All in all, I had spent 3 months in Italy with my second Uncle, and six months living with Steve in Hopper's Crossing. I officially came back to the western world in October, and I still had some money left over. The plan was to arrive back in Texas, visit my cousin and her kids before coming back home, but I didn't want the ride to end yet. I ended up signing up for a bus trip along the Eastern coast of Mexico to the Ria Celestun National Park. I met some of the nicest people through my travels, and without those people I would have came home much sooner than I did. I will always cherish these memories, experiences, and try to build upon those each and every day.

After arriving home, I ended up starting a small business that I operate out of my garage, called No Worries Wood Working, and I really discovered my love for woodworking while I was in Australia. I helped Steve build an entirely new room along the North face of his home. I learned that I had the gift, and when I came home I put a lot of my efforts into developing the skills required to start. I ended up building small projects here and there, developing a great reputation among clients, and now I actually have to turn business down. Although, I do use the money to pay bills, I do the work because I love to, and I don't want to exhaust that option. I have also put a lot of effort into exploring additional languagees, technologies, and frameworks since I've been home that are related to computer science.

Since being home, I have focused a lot on learning new languages, techniques, and technologies. The first language I learned outside of college was C#, and I can't believe I waited this long to learn C#. C# is probably my favorite language to program in, and will hold a special place for me moving forward. I have started looking into mobile design, using Xamarin forms with C# to create a few small apps in the iOS environment. I have also touched on a bit of scripting using Unity to create my own copy of a few well known titles; space invaders, pac man, and super mario brothers is in production. I've also started learning a lot more about HTML, CSS, Bootstrap, Javascript, AngularJS, and JQuery to name just a few. During college, I was focused on strictly object oriented programming, back end capabilities, and writing algorithms to suit my team's individual needs. The projects I worked on were always structured within the agile environment. The more complex projects I was apart of used the agile methodology further; breaking tasks down for individual roles within the methodology. The majority of larger projects I was apart of had one software engineer major to be our team lead, our professor being the product owner, and two computer science students assuming the developer roles. It wasn't until after graduation, that I started looking deeper into front end development.

I realized soon after graduation, that I wanted to become a full stack developer. I love being able to have input in all areas of development. I might not be the most skilled in certain areas, but collectively we all will bring value to the team in our own individual way. That is why I believe I want to find the right company or team, and progress my career with them specifically. I've had a few offers since January, but something has always felt off about the situations. I'm the kind of person who would rather wait for the right opportunity to present itself, then to jump into something I won't be happy with, and have to relocate within a few months or years.

Goals


A little about me, I'm not sure if I am your typical computer programmer, but I am definitely me. I love to exercise, and in return that leads me to a healthier diet and lifestyle. I like to go hiking, biking, or jogging along the country side in my free time. I also spend at least thirty minutes a day to play guitar, and learn a new chord, progression, or scale. The goal every day is to learn something new, challenge myself in different ways, and hopefully I will be a better person come tomorrow.

The 1st goal is to obtain an entry level position within a great company. I took a year off to travel, and since I've been back in the states I haven't found the perfect fit. I want to secure a job with a wonderful work environment. I want to take pride in my work, have others take pride in theirs, and together we can create beautifully working products. The majority of the jobs that I have interviewed for have been full stack developer positions, but I am open to front end, back end, or anything in between.

Full Stack Development is what I have been searching for in the job market. I enjoy seeing a project go from start to finish, each individual adding a little bit more to the project, and eventually you all create something you can be proud of. I'm a hard working individual who takes pride in who he is, where he works, what he does, and how he does it. I mainly focused on object oriented languages in college; C#, C++, Java, Python, and Visual Basic. The projects I worked on would quite often use a SQL database to store information for the program, on the user, and verify information for all users. The database classes offered at KSU were a great addition to my skillset. Offering unique ways of storing and accessing data, structuring databases to be normalized, and connecting the databases to the particular program written to use their data.

The 2nd goal would be to sustain growth within a company. I want to find a position where the management appreciates the employees, and in return they will receive hard work and respect. The work environment is a huge part of my job search. I don't want to be thrown into a position that I'm not qualified for, and be expected to sink or swim. I am extremely dead set on finding an entry level position that will help me grow, and allow me to grow with them through the addition of my skills.

Growth within a company will push me to progress my skills to new heights. I will have to constantly learn new skills, techniques, and code. In the end, the hard work and dedication will be completely worth it. I wanted to get into programming because I felt it would stimulate my mind in multiple different ways, and it does on many different levels; documentation, discussions, white boarding, design, coding, debugging, and release are all a combination of many different tasks and skills. Documentation, for example, requires a person to understand how to formulate a proper sentence, structure a paragraph, and style the document. The average person does not realize how many skills actually build upon each other to finally yield a software engineering position. Building skills, reputation, and work will eventually lead to my third goal.

The 3rd goal has to be find a suitable place to buy a home. This third goal will hopefully be achieved within 5 years. I do not want a whole lot out of life; a good paying job, a great family, wonderful pets, amazing food, and a place to call home. I hope to be able to take more vacations in the future to more distinct parts of the world gaining the experiences of a lifetime.

Projects


Meraki

The Meraki Code

Summary: A web application that offers basic tutorials on several different programming languages.
Languages/Frameworks: Python 3.5, Flask, Jinja2, HTML, CSS, Bootstrap 3, Javascript, and SQLite3 DBs.
Host/IDE/Technology: Python Anywhere, Linux Shell, Atom
Methodology: Agile
Role: Back End Developer
Features: Login, Logout, encrypted message/file sharing, and programming tutorials.
Purpose: Internet Programming Final Project; the assignment was to build a web application that would be beneficial to us and the rest of the class. The group decided to build a web application that would hold our programming knowledge, and double as a tutorial website. Security features are in place to secure the users passwords, messages, and files stored on the database.

SSSAJ

SSSAJ -No Longer Available-

Summary: A web application that allowed teachers to transfer files, such as answers to test, using AES encryption techniques.
Languages/Frameworks: Python 3.5, Flask, Jinja2, HTML, CSS, Bootstrap 3, Javascript, and SQLAlchemy DBs.
Host/IDE/Technology: Python Anywhere, Linux Shell, Atom
Methodology: Agile
Role: Back End Developer
Features: Login, Logout, encrypted message/file sharing, and a public message board.
Purpose: Freelance Project, I wrote the the Python back end functions that dealt with logging in and out, sending messages, encryption of messages and files using AES techniques, decryption of messages and files, and storage of sensitive data.

Freight Tip Calculator

Summary: A Xamarin cross platform tip calculator application that was wrote, debugged, and tested using an iOS device inside Visual Studio 2017.
Languages/Frameworks: C#, Xamarin Forms
Host/IDE/Technology: Visual Studio 2018, Xamarin Cross Platform Package, iOS Development
Methodology: Agile
Role: Product Owner · Lead Developer
Features: Easily calculate the amount owed to each essay on a shift, and calculate the total amount owed to the bartender for that shift.
Purpose: Freelance Project, I originally wrote the application for Freight Kitchen & Tap's servers to use to simplify the tip out each server will owe at the end of their shift, but I never received payment to publish the application on any app store. So, the application is an unused finished project.

Life

Life Simulation

Summary: A windows console application that attempts to simulate real world objects and actions using Visual Studio 2017.
Languages/Frameworks: C#
Host/IDE/Technology: Visual Studio 2018
Methodology: Agile
Role: Product Owner · Lead Developer
Features: Object creation, interfaces, abstract classes, private and protected variables, inheritance, and reflection in C#.
Purpose: Freelance Project, I wanted to try and further my understanding of object oriented programming. I understood the idea behind public, protected, and private variables, but until this project, I haven't used protected or private variables much, if any. The differences between an interface and an abstract class always confused me until this project. Now I understand that an interface is a way of specifying the blueprint of methods that must be present within a class inheriting the interface, and now I can tell you that abstract classes are full of methods waiting to be overwritten. I have created Life: Animal: Person, Life: Animal: Dog, Life: Food objects, and more inside of this console application. I plan on updating regularly to include grids, locations within the grid, movement, fighting among different objects, and reflection methods to achieve dynamic object creation.

Unity Game Engine Recreations

Summary: A few single level recreations of beloved classic video games; Tetris, Pong, Space Invaders, and Super Mario is currently in the works.
Languages/Frameworks: Unity Game Engine, C#
Host/IDE/Technology: Unity Game Engine, Visual Studio 2018, Gimp
Methodology: Agile
Role: Product Owner · Lead Developer
Features: Graphic Design splicing Gimp and Unity, 2D graphics, C# methods, and C# Scripting
Purpose: Freelance Project, I wanted to learn how to program my own video games, and the best way to learn is to just get in there and program. So, I found some beginner tutorials on Unity, and began recreating classic games. Unity helps further my progression with C#, scripting, and graphic design.

Life

Object Oriented Programming

Summary: A collection of basic coding examples that I have gathered over the years in college; C#, C++, Java, and Python . I add files to the appropriate languages as they are created, found, or needed.
Languages/Frameworks: C#, C++, Java, Python
Host/IDE/Technology: Visual Studio 2018, Eclipse, Python Anywhere
Methodology: Agile
Role: Product Owner · Lead Developer · Student
Features: Data Types, Objects, I/O, Math, Functions, and more
Purpose: Storage, I want to gather all of the code I've written over the years onto one platform, and Github will end up being that platform. As I progress through the files I have, I keep adding more and more files to my GitHub account. I hope to increase my reuseability as I progress throughout my career as a software engineer.

Skills


Programming Languages/Frameworks

Visual Basic, Java, C++, C#, Python, SQL, HTML, CSS, Bootstrap, Javascript, AngularJS, Django, Flask, Jinja2

Top 5 Languages I'm Comfortable with...

C#, Python, Java, Visual Basic, SQL

Database Management Experience

SQLite3, Oracle 8.x, MySQL Server, Sql Alchemy

Software Engineering

Requirements gathering, planning, proper time line establishment, dynamic problem solving skills, proper documentation of projects, and finalization of projects on time.

Methodologies

Agile, Waterfall, Extreme Programming

Information Technology

Database management, Encryption techniques, Web application attack prevention, Hash algorithms

Encryption/Decryption

Public, Private, and Hybrid key, AES 256/512 bit, digital signatures

IDE/Design Tools

Atom, CMD, Notepad++, Dia, Eclipse, JGrasp, Visual Studio, Net beans, PyCharm, Gimp, Unity Engine

MS Applications

Word, Powerpoint, Excel

Operating Systems

Microsoft Windows based systems, and short term uses with Linux and Mac OS

Strengths


GUI / UI Design

A well built GUI/UI shouldn't need instructions if the design is correctly built. I make efforts to decrease any learning curve on the applications I've been apart of. I strive to increase the aesthetics associated with the applications, create an interface that requires no additional reading, and amplify the security of the application to the best of my ability.

Object Oriented Principles:

I have the knowledge to construct OOP functions, methods, various data structures, recursion, and so on. The languages I'm familiar with are C#, C++, Java, and Python. I plan on researching the model view control method to further my understanding of how web applications function on a larger scale.

Security

A working knowledge of security standards is a good weapon for any programmer to have. The ability to use encryption and decryption algorithms to encrypt information, securely store sensitive information, and decrypt the information without storing any plain text data on the database. The importance of attempting to prevent phishing, SQL injection, cross-site scripting, denial of service, and man in the middle attacks are vital to any web application developer.

Web Applications

Web applications are becoming the norm with information being store progressively on the cloud. Programmers are opting to create web applications that would not require any software downloads, instead websites are being designed to work as fully fledged applications. Micro frameworks, such as Django and Flask, utilize the model, view, and control method to achieve their goal. The encryption standards have been raised higher than ever before with 512 and 1024 bit encryption techniques taking center stage.