Proficiencies

  • Javascript/Ajax/HTML5

    Rank: Proficient

    There's seemingly no hotter language than Javascript right now, as it seems these days new frameworks are popping up everyday, and Javascript is now being used to do everything from server-side programming (Node.js) to building online games. And with ECMAScript 5, and now 6 compatibility being spread across most major platforms, mobile and otherwise, we now have a standardized development environment that can run an array of applications, all being written using Javascript.

    All this change is quite hectic, but fortunately because I learned Javascript when libraries such as jQuery were just starting to be written gave me a good background in both hand-coded Javascript as well as using libraries and frameworks to get things done faster. And given that I experienced the time when Internet Explorer 6 was the dominant browser, I have an intimate appreciation of the fact that web standards are now the dejure baseline of web development. The "write once, deploy many" philosophy that Java once aspired to has now been reached via Javascript.

    Early on my career at Planetwide Games, I had the opportunity to do some novel (at the time, 2007) pure Javascript development, such as image rotation at the time the canvas element wasn't widely supported. And my background learning Javascript by hand has helped me work with or without jQuery, AngularJS, and other prominent JS frameworks.

    My time at ABC/Disney gave me a chance to work on their local news web application, and also gave me an opportunity to take a deep dive with the AngularJS framework, MongoDB, and NodeJS.

    As a result of all these experiences, I'm pretty confident that I can adapt to the new changes coming up the pipeline.

  • PHP

    Rank: Proficient

    I have worked with PHP for about as long as I've been doing development, 11+ years running since 2006. While frameworks and languages like Node.js, Ruby on Rails, and Python have become more popular, I still find PHP a great language for doing all things web, as I've used it to do everything from image processing/creating to proxying remote websites. While I initially started out with .NET when working on the web, I enjoyed how quick it was to write PHP code and get it on the web, and with good design practices, it can still serve a variety of needs well.

  • HTML & HTML5

    Rank: Proficient

    I learned HTML by hand coding everything as opposed to using a WIZIWYG like Dreamweaver, so much of what I do in terms of development is using good old notepad or a similar text based editor to create my web pages.So needless to say, I'm pretty well versed and comfortable in building entire websites from scratch by hand-coding them.

    More recently, I've started to become more adept at using frameworks and templating to separate data from presentation.

  • CSS

    Rank: Proficient

    I feel pretty confident about CSS, and with CSS3 we get a lot of new features such as rotation of elements and media queries. I've learned much of what I know about CSS on my own, as many places I've worked at insist on using archaic HTML layouts. I'm a big fan of CSS-P to make website layouts that can be modified later due to good CSS design, but I've learned to compromise with CSS and HTML when entering an environment that uses a more antiquated HTML/CSS solution.

  • NodeJS

    Rank: Good

    I have a familiarity of NodeJS, and it's a comfortable environment to develop in, due to my experience with Javascript development as a whole. During my time at Disney, it was convenient to be able to run my code written for the client and MongoDB within the same context.

  • AngularJS, React.js and other JS Frameworks

    Rank: Good

    I had a pretty good experience with AngularJS 1+, using it to develop the local ABC video pages that may still be online as of 2017. While AngularJS at the time was big on the MVVM (Model View View Model) architecture, the newer frameworks, such as React.js and Angular 2+, have moved the point of focus to Web Components. Directives were my favorite part of Angular 1+, and it's a good approach to describe your layout in HTML, while being able to define new HTML tag behavior through Web Components.

  • MySQL/SQL Server/PostGreSQL and other database management systems

    Rank: Good

    I've been working with RDBMS (Relational Database Management Systems) for almost as long as I've been doing development, so I'm well versed with writing SQL queries, joins, stored procs for SQL Server and MySQL based applications. My background with DBMS is more as of a developer, and less of an administrator.

  • MongoDB and other NoSQL databases

    Rank: Familiar

    I did some work with MongoDB during my time at Disney/ABC, utilizing MongoDB for analytics gathering and reporting. A good choice for storing and retrieving unstructured data, and distributing it in a sharded environment. However, relational data is better stored using a traditional RBDMS. I prefer to think of these two database technologies as complementary to each other, rather than a replacement for one or the other.

  • Ionic & PhoneGap/Cordova

    Rank: Familiar

    I've used Ionic intermittently for personal projects, and I find it to be a good way to get a mobile app experience without having to learn a brand new development environment. By following web standards, we can get some pretty good UI in a mobile app, while only experiencing slight performance degradation. It's important to consider what kind of application we're building when we're using Ionic/PhoneGap, as graphic heavy, GPU intensive tasks such as games would probably be better done natively.

  • Facebook Development

    Rank: Some experience, not my forte

    I have a little bit of experience developing iFramed applications using the Facebook platform several years ago. My experience with Facebook is that I found putting up applications fairly easy to do on the Facebook platform, but I had to watch out for changes with their API.

    I also maintain my own Facebook page, A Road A Little Less Traveled, so I know a little bit about pages as well.

  • CMS Experience (Drupal, Joomla, Wordpress)

    Rank: Some experience, not my forte

    I have some experience maintaining and working with CMS systems, although when left to my own devices I often prefer to write to my own code based on the needs of the system I'm trying to create. I guess my feelings about CMS systems is that sometimes they add complexity for a problem that may have a simpler solution, and sometimes the solution (the CMS system) doesn't fit the problem in hand.

    That's not to say that I can't help modify or add features to a website that already uses a CMS, it's just that I usually believe in using the right tool for the right situation. The extendability of CMS platforms such as Drupal or Joomla is very helpful in this regard, but like I had mentioned before, when using a CMS sometimes you are subject to the artificial rules that a CMS system may impart on your website, so it's important to know your requirements before proceeding with a CMS or custom solution.