Hello,

My Name is

Samuel

Portfolio

Technical Skills

In the past three years I have acquired practical working knowledge as a software developer. My experience is rooted in an educational background in computer science as well as enterprise level full-stack development experience. The skills listed below are a few of the languages, technologies and technical tooling in which I am able to proficiently use and implement.

ubuntu icon windows icon

Preferred OS


When first learning to code my primary OS was Windows. I wanted to work more with system administration and also become more comfortable with the Command Line so I dual booted my laptop to have both Windows and Ubuntu installed.

I end up using Ubuntu 99% of the time and command line has become one of my greatest assets. Now I use the command line for almost everything: from installing packages, sifting through error log data, setting up a native LAMP stacks with multiple versions of PHP running, and keeping my OS updated/upgraded.

stacks icon

Languages


I enjoy working across the stack yet I have found myself gravitating to the front end.

I have experience working the the TALL stack as well as the MEVN stack.

Working with front end libraries and frameworks such as Vue and React are a large part of what I enjoy learning about.

Lately I have been diving into writing automated tests for front end applications.

I have a passion for learning vanilla JavaScript and how the modern frameworks actually work under the hood!

tooling icon

Tooling/Debugging


Having the proper tooling and skills to debug applications is equally as important as knowing a language.

For development I have used an array of different code editors and IDE's. For simple projects I prefer VS Code but my main IDE is PHP Storm. For debugging I prefer to use xdebug. I don't know how I ever programmed without it. Stepping through code and figuring out what is being outputted is helpful in finding code issues as well as understanding code logic and flow.

Another set of tools I use are the Chrome DevTools, particularly for debugging Javascript code. Along with the many development extensions offered by Chrome, I also utilize the Vue dev tools within the Chrome console.

database icon

Databases & SQL


The use of SQL and databases is crucial for any developers toolkit. I mostly work with relational databases including MySQL and SQL Server (MSSQL) for all of my applications. Everything from DDL: creating databases, schemas, tables to using DML to manipulate data: Selecting, inserting deleting or any other form of data manipulation, I use them daily in my professional and personal applications.

Within the Laravel world I am versed in writing Database migrations for table creation and updating data. When working with data my DB client of choice would be mysql workbench or DBeaver when working in Ubuntu, otherwise in Windows I like to use HeidiSQl.

web icon

Additional Development Skills


  • For VCS I used Mercurial for a brief period but mostly use GIT and Github Repositories. Along with Github I do most of my commands from the CLI but also use GitKraken if I ever need a good GIT GUI. I am comfortable merging, creating branches, rebasing, cherry picking, committing and pushing to git repo's.
  • I have knowledge of AWS concepts and services that Amazon offers. I have worked with Elastic Beanstalk deployments, setting up and ssh-ing in EC2 instances and creating and querying DynamoDB tables. I have more-so theoretical knowledge of various AWS services.
  • I am familiar with open SSH as well as some networking concepts including: tunneling DNS configurations, ip forwarding and port forwarding.
  • For continuous deployment I use Drone and corresponding drone yaml files for deployment configurations.
  • I am comfortable using npm and composer and installing front-end and back-end packages and dependencies as needed on a per application basis.

Recent Projects

Inquiry Application

This project is meant to serve as a stack overflow clone site

This application is a clone of stack overflow. It is built using Laravel 6 javascript, sass and Vue.js. It allows users to submit questions and answers, vote for favorite answers and questions. It has full crud functionality along with user registration and authentication. This project uses web and api routing as well as api creation. It includes the use of Vue components for rendering data and also transforming front end portions of the application to be rendered as components which is meant for extensibility and maintainability. This app uses a MySQL database backend to store all application data.

img

Decision Making App

This project is was made using React.js

This project works as a decision making application. You type in various options and when you click the decide button, the application randomly chooses one of the options which the user entered in, thus helping you be decisive.

img

Premier Digital Marketing Site

Freelance Business Website

This site was created for a business that conducted digital marketing. It was created using Laravel 5.7. It functions as an SPA but uses a lot of Laravel features including routes, MVC architecture, blade templating and DB integration.

img
my photo

The only true wisdom is in knowing that you know nothing.

—Socrates

About Me

Full Stack Software Developer

I have three years of software development experience. My professional experience consists of working for a large non-profit organization. I am proficient in building out and maintaining full fledged web applications consisting of both server side and client side development. I mostly work with native PHP and frequently use Laravel's PHP framework.

I love building out applications, tackling difficult tasks and using logic and analytical processes to produce and implement efficient coding solutions.

Personally and professionally, I am a diligent and self motivated individual. I am an innate leader who also enjoys collaborating and working with others. I am articulate, concise and pragmatic when solving any complications whether technical or relating to the overall business.

Regardless of the experience I have gained, I understand that there is plenty more to learn. The un-ending challenges and continuous learning are just a couple of reasons why I enjoy working in the software development field.

Contact info