CSS3

CMS Developer

After completing my internship with 50onRed, I was offered a position as a CMS (Content Management System) Developer for the company.

As a CMS Developer, my responsibilities involve building and maintaining marketing sites for the company’s core products, and several viral content sites. All of the sites run WordPress, so the majority of my duties involve regular WordPress maintenance: updating core/themes/plugins, selecting and installing plugins, and assisting the content writers with any technical help.

I have also had many opportunities to dig into the more advanced aspects of WordPress. I have modified existing themes to extend their functionality or appearance, and have created new themes from scratch. An examples of these include redesigns of both the blog and careers pages of the company website. I have also developed several WordPress plugins for use on our sites. These include an AB testing plugin, an ad unit manager, an OpenGraph tag manager, and a custom integration with the Jazz (formerly Resumator) API.

In my work, I focus on making sure the sites perform well. I use several plugins to manage the minification of assets and compression of images. Our sites are hosted on WPEngine, and I take advantage of the tools they provide to help our sites perform well. I also take pride in the cleanliness of the code I write. I am regularly refactoring for readability and documentation. I choose to write PHP in an object-oriented style, which helps with organization and maintanability.

Software Engineering Intern

I joined 50onRed as part of their RedLabs internship program. The goal of the program is to provide real-world work and learning experiences by working alongside the engineering and product teams. As an intern, I worked with other interns to complete projects, and worked with engineers on core company products.

During my time in the RedLabs program, I became proficient in Python and the Flask micro-framework, as these technologies are dominant in the company’s core products. I also learned to integrate with 3rd party API’s, the best example of this being a Slack integration called MusicBot. In working on core products, my concentration was on front-end technologies. I learned Jinja templating, and leveled-up my HTML, CSS, and JavaScript skills. The company uses a number of in-house repositories for various components (such as forms, tables, etc.). I contributed to these repositories, adding new features, and writing unit tests for existing code.

I also worked directly with members of the engineering and product teams. I participated in daily standups, and was regularly assigned tickets in Jira. All of my contributions were code-reviewed, which provided invaluable feedback.

Front-End Developer

Hangify is an events discovery and aggregation app for college campuses for iOS, Android, and the web.

My work as a front-end developer for Hangify revolved around the development of the initial version of the iOS app. I joined the team after the creation of an AngularJS app, which was being ported to iOS using Ionic and Cordova. My responsibilities involved refactoring existing code for cleanliness (an example was moving inline styles throughout the project to Sass files), adapting code to work with the native iOS platform (using native iOS storage rather than browser localstorage), and new app features and improvements. Some of the features I worked on specifically included implementing infinite scrolling on the events list page, and lazy loading for images throughout the app. I also fixed bugs that were reported to us.

This was my first professional experience as a web developer, and provided a first-time opportunity to work with a development team. I learned to make use of git branching and merging, learned how to submit a pull request, took part in weekly sprint planning meetings, and regularly collaborated with other team members.

YadaGuru

Project

YadaGuru is a college application reminder web application. It is a CodeForPhilly

project, on which myself and another developer work. The purpose of the app is to help college students through the college application process by giving them regular reminders to write essays, get recommendation letters, complete applications, etc. Students use the app by supplying their application due date, and a list of reminders are generated and presented to the student, grouped by date due and category. Students can then print out the reminders or export them to Google Calendar.

Read MoreYadaGuru

The Hair Saloon and More

Project

Hair Saloon Screen Shot

This is a brochure site for a hair salon in our area. It is essentially a custom WordPress theme. I chose WordPress as a CMS, because it was an easy way to allow the business owners to update the content if needed. The header is a scan of the business card, and the colors/fonts were selected to match it. The slideshow on the front page uses the slides.js plugin.

My process of building the site has been documented here.

Diving Deep into WordPress

Blog post

WP Admin Shirt

So, as I mentioned in my last post, things have been going well at 50onRed. I am now working full-time as a CMS (read ‘WordPress’) developer for the content team. I manage three viral content sites, and the majority of my work is diving into depths of WordPress.

WordPress was part of my beginning experiences building for the web. Not Your Mommy’s Blog, The Hair Saloon, and this blog are all WordPress sites. Soon after building these sites, I began to work with Hangify, CodeForPhilly/YadaGuru, and then landed the internship at 50onRed. The these experiences had been focus away from WordPress: full-stack JavaScript with node, Angular, and Python/Flask. I think it is safe to say that I ‘grew up’ as a developer outside of the world of WordPress. Read MoreDiving Deep into WordPress

Not Your Mommy’s Blog

Project

Screenshot of Not Your Mommy's Blog

Not Your Mommy’s Blog uses a custom WordPress theme called ‘Tiles,’ which I created. The theme is responsive, and features my first attempt at a slider/carousel to display recent posts.

This is my first start-to-finish project for another client, though the client is my wife, so I am not sure if that counts.  :-)

This theme is built from scratch, and contains only features and elements needed by my wife. Perhaps in the future, I might modify the theme, and submit it to the WordPress Theme Directory.

Update: This theme was redesigned in September of 2016. I used the Roots Sage starter theme, which I chose because of its integration with Bootstrap CSS. The overall layout contains many of the same elements, but with a cleaner design.

I also introduced a few tools into my personal setup with this project, including SASS pre-processing, Gulp task runner, and VVV for developing locally.

Hangify

Blog post

Hangify Logo

Ugh, was February 5th really my last post? There goes my New Year’s Resolution of blogging regularly. Well anyway, I feel like I have a good excuse this time…

The last month-and-a-half have been a crazy-awesome learning experience for me. I wanted to take some time to reflect on this time, as it has been very exciting.

It all started at the January Philadelphia JavaScript Developers Meetup. After the presentations, we were hanging out at a nearby bar/restaurant. Usually, I don’t really know anyone at these meetups, so I try to make an effort to sit with someone I don’t know, tell my story, and ask for advice. Read MoreHangify

Building for a client – The Hair Saloon and More

Blog post

Hair Saloon and More

Prior to my latest project, most of my projects have been built either for myself, my wife, or friends. While I was confident with my abilities at this point, I had not yet had the opportunity to build something for someone who I would consider a real “client.” Recently, I had this opportunity, and wanted to document my experience in building a website for an actual client.

I regularly get my haircut at a small business local to me called The Hair Saloon and More. About a year ago, I decided that I would keep my hair cut very short. While I am happy with the look, I have the unfortunate problem of rapidly growing hair, and have to get my haircut about every 2-3 weeks to maintain it. I’ve gotten to know the owners well, and enjoy my regular visits. Read MoreBuilding for a client – The Hair Saloon and More

Lingo and Explorations in JavaScript

Blog post

A screenshot of the project Lingo

One of my favorite game shows from back in the mid 2000’s was the game Lingo. My wife and I used to occasionally watch the show, and would play each other on the online Flash version. Soon after this, the show went off the air, and eventually the game disappeared from the Internet. My wife and I continued to play Lingo in paper-and-pencil format, usually on the back of diner place-mats.

For those who have never played the game before, here is the general idea: You have to guess a five-letter word to which you are given the first letter. After each guess is made, you are told whether each character that you guess is: 1) in the word, and/or 2) in the correct position in the word. Read MoreLingo and Explorations in JavaScript