# Resume
Missing Your Technology Stack?
Does this resume not have a specific technology you're looking for? I always enjoy growing and leveling up in my field. I'd love to learn it!
# Opening Remarks
Sure, I can name tons of technologies, keywords, & software that I'm capable of using. Here is the truth: Our industry is ever evolving. Constantly changing. Every week brings a new technology to learn.
So what matters in a developer? For me, its willingness to learn & continuously evolve. Yup, I specialize in that.
yarn add -D \
@developer/adequate \
determination \
relentlessness \
pursuit-of-knowledge \
willingness-to-learn \
[email protected] \ # psyche
left-pad # checking it's still there (dev joke)
2
3
4
5
6
7
8
My heart belongs to all things Front End Web Development
, but I'm also a proficient Full Stack Developer
.
# Working in Teams
I love working in teams
.
Teams
are essential to every business, especially agencies. They require communication, trust, and accountability
. It's vital for teams
to grow together in a stable enviornment.
Team members
shouldn't be scared to try new things, fail sometimes, and always learn. That's what inspires me. The freedom to learn & thrive as a group. Those are the teams I'm proud to work with and be part of.
# Who Inspires Me
I also follow amazing developers that have a heavy influence in my career:
- Harry Roberts (opens new window)
- Jeffrey Way (opens new window)
- Adam Wathan (opens new window)
- Steve Schoger (opens new window)
- Chris Coyier (opens new window) – I bought his old laptop, ask me about it
- Wes Bos (opens new window)
- Chris Fidao (opens new window)
and partake in the knowledge of these websites (to name a few):
- CSS Tricks (opens new window)
- Smashing Magazine (opens new window)
- Codrops Collectives (opens new window) - game changer
- DEV (opens new window) - great community
- Stack Overflow (opens new window) - let's all be honest here
# Front End
# JavaScript
TIP
Since JavaScript goes by so many names, I created a regex:
/^(ES\d+)$/
ES5 ✓
ES6 ✓
ES2015 ✓
Java ✗ # it's a funny story, ask me about it
2
3
4
I'm up to date with everything JavaScript (it's my favorite language). I've been writing ES6 for over 7 years
now.
Technologies I am familiar with:
- Vue.js (opens new window)
- React.js (opens new window)
- Webpack (opens new window)
- Gulp (opens new window)
- Plain ol' JavaScript (opens new window) 😱
- jQuery (opens new window)
I've also taken a lot of courses such as:
- ES6 For Everyone (opens new window)
- React for Beginners (opens new window)
- Learn Vue 2 (opens new window)
- Advanced Vue Component Design (opens new window)
# Vue.js
I've used Vue.js (opens new window) on a bunch of production projects. Here is a impromptu code example (you'll have to trust I wrote this in real time):
Code:
<ButtonIncrement text="Press the Button!" />
Result:
# HTML / CSS
Oh how my approach has changed over the years.
It's quite concerning looking back at code I wrote over a year ago. Who was that person? Will I be saying the same thing a year from now? Probably.
I currently employ these ideas / practices:
- BEM (opens new window)
- ITCSS (opens new window)
- This video (opens new window) changed my life
- SMACSS (opens new window)
Utility Libraries
/Frameworks
like Tailwind (opens new window) / Bootstrap 4 (opens new window)
You can catch me writing something like this nowadays:
<!--
`.js-button-toggle` is used to denote a class
that is used in javascript, thus it signals
to developers to not remove the class
-->
<div class="d-flex justify-content-center">
<button class="btn is-primary is-large js-button-toggle">
Button Text
</button>
</div>
2
3
4
5
6
7
8
9
10
// base class; responsible for generic styling
.btn {
cursor: pointer;
display: inline-block;
font-size: rem(16);
line-height: 1;
margin: 0;
padding: rem(10);
transition: $default-transition;
}
// modifier classes
.btn.is-large {
font-size: rem(22);
line-height: 1.25;
padding: rem(15);
}
// theme classes; responsible for stylistic changes
.btn.is-primary {
background-color: c(orange);
color: c(white);
@include media-hover {
background-color: c(orange-dark);
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Testing
Recently, I've become a huge fan of Cypress (opens new window). Their api
is so simple & easy to use:
describe('Home Page', function() {
it('should load', function() {
cy.request('/').then((resp) => {
expect(resp.status).to.eq(200);
});
});
});
2
3
4
5
6
7
I'm also familiar with technologies such as Mocha (opens new window), Karma (opens new window), etc.
# Continuous Integration
# Bitbucket Pipelines
I helped research, build, & deploy Bitbucket Pipelines (opens new window) for a number of websites.
# Features
- Leveraged custom
environment variables
for deployment to multiple servers - Implemented a crossover
git
+artifacts
deployment method
# Template Development
I'm a master of all things email. Here's a list of some of my arch rivals:
Outlook 2007
Android Nexus 5 Gmail
Yahoo! Chrome
Want advice on developing emails? Forget everything you know about web development, just throw it out the window. We're talking inline styles
, lack of media query
support in some clients, and copious amounts of testing. I've visited the Campaign Monitor CSS Support Guide (opens new window) more times than I can remember.
# HTML5 Banners
# GSAP
I have experience building HTML 5
banner ads with GSAP (opens new window). The GSAP Ease Visualizer (opens new window) is invaluable for coordinating with designers on animation.
Want advice on building banner ads? Keep the amount and quality of large images at bay. You only get ~150kb
to work with, including the default image. This includes all of the HTML / CSS / JavaScript
files. There are even some platforms that only allow 100kb
. Favor using HTML / CSS
over an image when possible (buttons, etc
), and use external CDN's
for JavaScript
libraries.
Pro tip: If you're wondering why your localhost
won't show the banner ad
no matter what you do, just confirm your ad blocker
is off 👍
# Back End
I'm familiar and can efficiently develop with the following CMS's
/ Frameworks
:
- Wordpress (opens new window) – Since the world still loves it (opens new window)
- Drupal [8.x] (opens new window) – Lesson learned: Use view modes & rendered entities for best results 💯
- Laravel [5.x] (opens new window) – Best 👏 Documentation 👏 Ever 👏
- Concrete [5.7.x] (opens new window) – The only CMS that doesn't follow SemVer (opens new window) 🤷♀
I've also learned a lot by taking courses through Laracasts (opens new window), among others.
# Documentation
I take care in documenting anything that will help the team
become more efficient. It's always worth it when you refer to your own documentation 6 months
later. It not only helps yourself, but everyone on the team
.
Just to name a few, I've written in depth documentation
for:
Docker
Webpack
Gulp
Server Setup & Management
Continuous Integration
Server Certificates
# Miscellaneous
# Source Control
Very familiar with git (opens new window) (does anyone not know this in 2023?) and can find my way around svn (opens new window) (is anyone still using this in 2023?).
This article on git branching models (opens new window) changed my life.
# Docker
I organized the rollout of Docker (opens new window) for local development to a group of developers. I've written more Dockerfile's
than I care to admit.
I gained tons of insight watching the Shipping Docker Series (opens new window) by Chris Fidao (opens new window).
# Servers
One of my secret obsessions – I love everything to do with servers & server management. I spend most of my day hacking away in a terminal. If a package has a cli
, you bet I'm using it.
I took a course by Chris Fidao (opens new window) called Servers for Hackers (opens new window) which really helped me level up. I also learned so much by understanding Docker and how to build up images.
I originally hosted my website with Digital Ocean (opens new window) via a Droplet that I set up from scratch and managed.
You can catch me writing commands like:
# one of my favorite commands
# uploads => uploads.bak
mv wp-content/themes/uploads{,.bak}
# i <3 ssh aliases; paired with ssh keys... heaven
# ask me about my ssh config file
rsync -azv --dry-run prod1:[path-to-wordpress]/wp-content/uploads/ .
# i <3 globs
prettier ./**/*.{php,js,scss} --write
# we've all been there
find . -type f -exec chmod 664 {} \
find . -type d -exec chmod 775 {} \
# simplistic, yet classy
yarn development
# learning docker has taught me a few things
# about multiline statements
browser-sync start \
--no-open --cors --reload-debounce 500 \
--proxy https://secure.docker \
--files \
'wp-content/themes/primary/**/*.php' \
'wp-content/themes/primary/assets/**/*.css' \
'wp-content/themes/primary/assets/**/*.js'
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# Experience
# Fastspot
Web Developer
Baltimore, MD (March 2020 - Present)
Website (opens new window)
# Planit Agency
Web Developer
Baltimore, MD (January 2015 - March 2020)
Website (opens new window)
# Mission Media
Web Developer
Baltimore, MD (August 2011 - January 2015)
Website (opens new window)
# Education
# University of Maryland Baltimore County
Baltimore, MD (2009 – 2012)
Degree: Business Technology Administration
Field Of Study: Web Development
Grade: 3.6