Jason Austin's Blog Life and times of a PHP Developer in Raleigh, NC

1Apr/110

php|architect Article: Good (PHP) Help is Hard To Find

In this month's php|architect there is an article written by yours truly entitled "Good (PHP) Help is Hard To Find."  Here is the synopsis:

There is a huge difference in a PHP developer and someone who “knows PHP.”  If you are looking for a job, how do you set yourself apart from the crowd to get noticed as a qualified professional PHP developer?  The answer is simple.  You have to build your geek cred.

It is the first time I have ever been "published" in a real way.  I was extremely nervous about writing the article, and am now even more nervous about how my PHP community brethren will receive it, but I thought I did a pretty good job on my first REAL writing piece.  I hope that the article is helpful to PHP developers looking to land a job and those of us just looking to improve our own skills.

It is kinda awesome though...knowing that the "who's who" of the PHP community will be reading something I wrote.  Let's just hope I didn't screw it up too much.  Check it out at http://phparch.com.  My article is in the March edition, but if you are a professional PHP developer, you would be well served to purchase a yearly subscription.  Well worth the money.

31Mar/110

BreweryMap.com – Find new brews!

Just after the new year, Garrison and I were sitting around the office talking about breweries.  I was planning a trip to Denver and wanted to know about breweries in the area, so we brought up Google maps and searched for "Denver Breweries".  The results sucked.  We couldn't find much of anything worthwhile.

Simultaneously, our friend Shaun was creating an open database of breweries and beers called BreweryDB.com.

It didn't take long for Garrison to put the two together and create a mashup, mapping all the breweries in BreweryDB.com onto a Google Map and making it searchable.  BreweryMap.com was born.  As soon as I saw what Garrison had done, I asked him for access to the code so I could make a mobile version of the site.  After about a week or so of work, we had a functioning site that allowed you to search for breweries and beers from your phone or your desktop.

Fast forward to last week.  We were asked to do an interview with Raleigh's #1 newspaper, the News and Observer, about BreweryMap.com.  We did a photo shoot and everything.  It was very cool.  Our article was posted earlier this week, with a teaser on the front page!  It was unexpected, but very cool.  I bought like 10 copies :)

Our goal with BreweryMap.com has always been to promote two of the things both of us love, craft beer and technology.  I feel like we are on the verge of something really awesome and am really excited for what the future holds.  If you like exploring new beers, check out BreweryMap.com and find some new breweries to try!

4Jan/113

2010 In Review

2010 is over.  I set a pretty high bar for myself, both personally and professionally, when I made several blog posts in early 2010.  Three of those posts (Inventory the (NC State) web, Improve Adoption of the Brand, and More Mobile) were directly pointed at my professional life at NC State.  One post was more of a general "Stuff I Wanna Do" post.  After all that, here is what I (we, in most cases) were able to accomplish.

At NC State

I made it a goal of mine to start a project to inventory the web at NC State.  I explained the problem in my previous post, but am sorry to say that I don't think we are any closer to solving it now than we were then.  Honestly, it never became a focus of mine over the last year.  Hopefully it is something that I can actually begin work on in 2011.

My second goal was to begin to improve the brand adoption.  I actually feel like we made a difference in this area, albeit small.  We have continued the work with the NC State Web Developers Group and continued to push the university forward with Social Media, including an ambitious project creating a location-based service specifically catered to NC State.  We aren't any closer on a web developer / designer certification program, but not because of lack of trying.

My third goal was "More Mobile" and I have to say, we've made the most progress here.  We are launching a new site in mid-January focused on our efforts to mobilize (no pun intended) the Mobile efforts on campus.  We've released several applications into the app store, gave presentations on how we "do mobile", and have an organized and positive direction on where to go next.

Despite not meeting some of my goals, I feel like I accomplished a lot in 2010 at NC State.  Not to make excuses or anything, but I feel like a lot of my progress was impeded by some dire circumstances.  We've lost a significant amount of people in my department, with additional budget cuts looming on the horizon.  Morale is at an all-time low.  In fact, most employees I have talked to are just plain pissed off.  Pissed off at management, at politicians, at administrators, at the world.  I'm not pissed off.  I was, but I think I'm in the "accepting" stage now.  The higher education IT world just isn't what it was when I started working at NC State in 2001, and it likely never will be again.  Oh well.  Bottom line is, people are just not as productive or innovative when they are downtrodden.  Now on to some slightly better things...

Personal Work and Personal Goals

I wanted to grow my business in 2010.  That happened in a rather unexpected way.  AmberCube didn't really do a lot this year, but an offshoot of that occupied the majority of my free time in 2010.  I haven't blogged about it here, but if you know me personally, you have heard me talk about Destination Analytics.  I dedicated A LOT of time and effort to DA this year, with it finally paying off in December when we were able to post some profits.  Great feeling.

I wanted to advance professionally in 2010.  Since I already spoke a bit about NC State, this is more about my professional profile outside of that.  I've started contributing to some open source projects (Zend Framework), I've spoken at several conferences this year, I've started to help organize the Raleigh PHP User Group, and I've started sharing more of my code.  Along the way, I also found something that I am pretty good at...organizing events.  I organized BarCampRDU 2010 and also served as program chair for the UNC CAUSE 2010 conference.  Both were incredibly rewarding and exhausting, but I honestly had a blast.

Travel was also a priority in 2010.  Erin and I knocked this one out of the park pretty well with our trip to Rome, Sorrento, Corfu and Athens.  It was a flat-out amazing trip.  Best of my life so far.  We are already planning our next one, which seems to be directly related to what conferences I may speak at.  I also went to Chicago, the beach a few times, and camping.

I wanted to get out and explore more in 2010.  One of the places that I excelled at this (my friend Jen would hug me) is in the craft beer category.  I have discovered that I love the stuff.  I've tried more different beers in 2010 than I even thought possible.  I joined the Band of Outlaws at LoneRider (my favorite brewery) and even spent $19 on a single beer at one point.  My 2005 self would have kicked my ass, but that guy loved Bud Light so what did he know? :)

One thing Erin and I didn't really follow through with was our restaurant challenge.  We made it to precisely 1 restaurant on the list.  We just didn't end up having the time.  It's still on our list for next year though.

I wanted to lose some bad habits in 2010, but let's just ignore that.  I seem to have picked up more than I lost.  Maybe next year...

Overall, I think I did pretty well for myself in 2010.  Erin and I are doing great together, too.  I fully expect 2011 to continue on with some of the successes of 2010, hopefully limiting some of the let-downs.  Happy New Year and good luck to all my readers in 2011!

19Apr/102

Come see me at TEK-X!

I have the great honor of speaking at TEK-X this year, which is an awesome PHP conference in Chicago from May 18 - 21.

My topic is "Lean Mean PHP Machine", where I will be talking about how Garrison and I do what we do with very little budget, high demand, high stress...but also high efficiency and quality.  You know what that means right?  It's gonna be flippin sweet ;)   But only if you guys show up!

Conferences are a great way to network with new people and revisit old friends, so I am really looking forward to it.  It's worth every penny of the conference fee to hang out with the "Who's who" of the PHP community (that definitely doesn't include me, but it does include folks like Rob Allen, Matthew Weiere O'Phinney, Cal Evans, Keith Casey, Eli White and many more...all regulars in my Google Reader).

Come on out to TEK-X and please find me and introduce yourself.  I always enjoy meeting new folks...  See you in Chicago!

Tagged as: 2 Comments
13Jan/104

Strategies for upgrading webapps?

Calling all software developers!  Garrison and I need some help...

Here is the scenario.  We have to maintain a bunch of production web applications, most of which use Zend Framework.  When we have created a new version of the application, we need to deploy it to production in as simple of a way as possible.  We have automated the file version of this by using Phing to export the tag out of SVN, copy old config files, set write permissions in the correct place, etc.  However, the database manipulation has happened manually and we are looking for strategies on how to automate this.

We came up with an idea to write a custom migration library which will execute php and sql files, but it seems like a problem that has to be solved better by someone else.  Anyone have any tips?  Anecdotes?  Strategies?  Anything to help us get going in the right direction would be much appreciated.  I'd even buy someone a beer or two :)

13Jan/102

Speaking at TEK·X

I had announced this on my twitter feed, but I thought it warranted a blog post of it's own.  I have been asked to speak at TEK·X, an awesome conference for PHP professionals.  My talk, "Lean Mean PHP Machine" was accepted!  Flippin sweet!  Here is the description of my talk:

Implementing software development “best practices” can be a challenging feat, especially if you are in a very small team of developers. Little to no budget, stress to just “get something out”, and lack of understanding from management of what you really do means you have to make sacrifices, right? This talk will give you some insight on accomplishing your goals of being a top-rated development shop, even if you are an army of one. From justifying those best practices to utilizing free services to hiring additional help, this talk will run the gamut of running a software development shop at a small scale.

Speaking at a conference is a great responsibility and honor, but then I took at look at who the other speakers are and I was immediately humbled.  So many of the other speakers are the movers and shakers in the PHP community.  Hell, some of them actually helped write PHP.  As soon as I saw the speaker list, I instantly got nervous.  But a few reassuring words from my friend Keith Casey helped.  I am just thankful that people like Keith and the rest of the TEK·X organizers are willing to give me a shot to share what I have learned about working with PHP in a resource starved environment.

So if you are a PHP pro and want to get involved with a great community, consider coming to TEK·X in May.  Knowing (of) most of the speakers, and meeting most all of them at one time or another, I can GUARANTEE that you are going to get your moneys worth.

12Jan/100

NC State Goal for 2010: Improve adoption of the Brand


Last year, our campus adopted a brand book.  This is a guideline for how NC State media (web, print, etc) is to be published.  It was something that our campus SORELY needed, and a great step in the right direction.  In 2010, I'd like to help NC State improve the adoption of that brand with respect to the web, and be better organized along the way.

To accomplish this goal, I believe it starts with developers and designers.  Our campus has an awesome community of web developers and designers.  I have been the key organizer for the group for the past year, and my continuance with that will be a focus in 2010.

More Meetups, More Topics

The plan for 2010 is to have monthly meetups that are a bit more structured than years past.  The goal is to come up with a few presentations about web-like stuff, and have the community vote on what presentations they want to hear for the next month (similar to how IgniteRaleigh selects talks).  The idea would be, after a while, people would start submitting their own talks so that a few of us don't have to do them every month.  Every meetup, we'd have one or two topics, then use the rest of the time for socializing and general Q&A.  We are also going to be trying to give equal representation to the designers among us.  The better informed our developers and designers can be, the better they will be able to execute the goals of the brand book.  And an active community, is (hopefully) a productive, happy one.

Social Media Push

Last year, we launched http://twitter.ncsu.edu and it was a massive hit.  I have no facts to back it up, but we HAVE to be the most actively tweeting campus around.  We have 74 official NC State accounts for goodness sake!  I also helped teach a class last year on "Tweeting for NC State University", which made it to the home page of slideshare.net (way cool).  In 2010, I'd like to continue our momentum and tap the Facebook, YouTube, LinkedIn, whatever-social-media-outlet-you-want-to-name markets as well.  I'd like to see us expand on the NCSU twitter site to also pull feeds from other social media outlets.  I think it would provide a great resource to incoming students, allowing them ways to connect with new people on campus.  I'd also like to organize some additional training for people on how to effectively use social media on behalf of the University.  This will help us spread the brand to new and prospective students.

Certified Developer/Designer Program

This one is something that I have been thinking about for a while, and it may seem a little bit out of left field, but hear me out.  I'd like to setup a system where designers and developers are rewarded for knowing and executing the brand book the way it should be.  It would involve a bit of work on behalf of the employee, but the rewards could be tremendous for them and for the department or college they work for, especially in our resource-starved environment.

Here's the gist.  We setup a curriculum which involves classes on the brand book, effective design principles, Photoshop, accessibility, usability, etc.  This would be a lot of work to get started, but we already have a lot of good people who are already doing most of these classes already.  As an employee completes the curriculum, they are accepted as a certified developer or designer for NC State.  Part of them keeping this designation would be for them to turn around and help teach others.  Blog, teach workshops, answer questions on the forums and mailing lists.  It is a communal-like approach which may or may not work, but it would give employees the chance to add "teacher" to their toolbox of skills.

That sounds like a lot of work, right?  So what's in it for the employee or department?  Here is where I need to secure funding, but I do have a vision.  First off, free software.  Adobe Creative Suite, Zend Studio, Dreamweaver, whatever.  Right now, colleges and departments have to purchase individual licenses for each employee that wants to use it.  If you are a certified developer or designer, we will give you a license to use for free.  Secondly, access to pre-made templates, logos, fonts, layouts, and all sorts of brand-related goodies.  It will make the employees job easier, and they will have more time to focus on other things.  Third, a conference lottery.  Conferences are great ways to improve on your profession, but the sad thing is that we have very little funding to send people to conferences.  All certified developers and designers would be put in a lottery once a year to win a "scholarship" to the conference of their choice.  It will give people who don't typically have the opportunity the chance to branch out and attend events like An Event Apart, DrupalCon, ZendCon, or whatever they want.

Right now, this is all a dream with no real push behind it.  But I think it would a great rewards program for our 100+ developers on campus.  I know this will involve the efforts of lots of people and myself.  But what do you folks think?  Is it crazy to expect already busy people to do even more, even though it is for the betterment of NC State?  Are the requirements too big?  Are the rewards too small?  What kind of challenges do you see?

Heavy stuff, but I will leave you with a bit of Dilbert humor about certifications...

DISCLAIMER: These are my personal goals for NC State in 2010. None of this has been signed off on or anything like that, it is just what I hope to accomplish in the new year.

4Jan/103

Looking ahead to 2010

I typically suck at making and keeping new years resolutions.  I've never felt that making resolutions really changed anything, except for the first month or so of the year.  As a perfect example, check out your local gym during the month of January...then go back in March.  There will maybe be a quarter of the people there.

While I don't like resolutions, I do find that with a new year, it is good to reflect back on the previous one and evaluate where you are and what you want to accomplish in the new one.  In an effort to keep myself honest, I figured I would record my goals for the new year here, in no particular order.

Grow My Business

2009 was an interesting year for AmberCube.  We had a few clients, made a little money (enough to buy Garrison and I new computers), and joined some new ventures.  The economy certainly affected our profitability, but I believe our focus wasn't as strong as I wanted it to be.  My hope for the new year is that we can increase our client base and grow the business.  Hopefully that means additional income too.

Advance Professionally

I accomplished a good bit at NC State in 2009.  I lead the initiative to get the NC State Mobile Web up and going, helped a lot with the social media identity of the university, and started managing some part-time employees.  I got more involved with the tech and social media communities in the Raleigh-Durham area, participated in BarCampRDU, and met a lot of great people.  While all that is great, it's not enough for me.  I'd like to establish myself more at the University and get to a level where I can feel like I make an impact.  I'm not sure I can do that in my current position, but that doesn't keep me from trying.  I already know that 2010 will bring an increased responsibility for me as I will be participating on the Campus Communication Committee, focusing on web and social media communications.  And we are working on some really exciting projects for the mobile web presence.  2010 will certainly be busy, but my goal is to make it pay off professionally.

Travel More

Erin and I have talked about it a lot, but this year is the year.  We have gone a few places since we got married (San Francisco, Memphis, Jamaica for our Honeymoon), but we have always wanted to go bigger.  Our plan is to try to make it to Europe this year.  I really want to go to Italy and Paris, so we are going to make it happen.  We have been saving up money for 2+ years to go, so this is the year we are going to do it.  Planning has already started :)   Oh yeah, and on the back of traveling, I am planning on buying a Digital SLR camera before making any big trips.  That means I'll need to learn how to use the thing properly too.

Lose some bad habits

This is the obligatory "I want to eat out less, work out more, be healthier" one, but I need to add it to the list.  We got into a bad habit of eating out several times a week, which is not only expensive, but un-healthy too.  I worked really hard a few years ago to lose a lot of weight, and I don't want all that hard work to go to waste.  To help me, I found a great website/iPhone app to help me called dailyburn.  It will help me track my food and workouts, set goals for myself, and accomplish what I want to in 2010.

Explore more

Erin and I love to try new things, so 2010 will hopefully be a year to explore new things.  Food, wine, beer, places, things to do.  I want us to live while the living is good.  Part of this is travel, but a lot of it has to do with what we typically do on the weekends.  Lately, it has been sitting around in front of a computer, which is pretty lame.  I hope the new year provides us with a kick in the butt to get out, experience all the great things Raleigh has to offer, and spend more quality time together.

Get more involved with the PHP Community

Warning...Geek speak to follow!  I really love the PHP community.  I swear, it is the greatest thing since sliced bread for a developer like me who has to operate on no budget and a tiny staff.  I have recently joined the Zend Framework project, finally signing my contributor license agreement!  That means I can start helping with documentation and the monthly bug fixes.  I have also been invited to speak at TEK-X in Chicago in May.  I am really excited about the opportunity to speak at my first professional PHP conference as an on-the-agenda speaker.  I have done un-conference sessions before, but this is the first for-real one.  I am nervous and excited, all at the same time.  There are a few more conferences that I will be submitting papers to as well, so we'll see where that takes me...

I think that is enough stuff for the new year.  Hope everyone has a wonderful, productive and exciting 2010.

23Jul/090

How to/How not to handle criticism

Over the last few weeks, I have been involved in some intense discussions about how to deal with feedback. They all center around how to deal with users when they are not happy with how something works or how a situation is being handled.  In my observations of people handling criticism, I have noticed a few horribly ineffective ways to deal with criticism, and a few good ways.

Ineffective Option 1:  Ignore Them

This is probably the most popular.  "If we ignore it, maybe it will go away!".  Yeah right.  All this will do is frustrate your end users, and if they don't get any satisfaction from submitting feedback in an acceptable way (help ticket, talking to a supervisor, etc), they will look at other, typically more destructive ways to let their voice be heard.  They will turn to Facebook, twitter, blogs, email lists, wherever so that SOMEONE will hear what they have to say.  Users feel like if you are ignoring them, you are basically telling them that you know more than they do, they are wrong, and their opinion doesn't matter to you.  Ignoring problems don't make them go away, it makes them bigger.

Ineffective Option 2:  Shut them up without helping them

This is typically initiated after the "ignoring them" option fails.  Someone hears something negative about a project and thinks it is detrimental to it (which it likely is, but what do you expect after ignoring them?).  Instead of engaging the person and trying to find out if they can help, they try to figure out how to make them stop talking by using a position of authority or influence.  It is my opinion that this tactic is totally unproductive.  The user feels like they can't give feedback (be it criticism or compliment), and you, as the one in charge of the service or product, don't have a clue when something is wrong because people are afraid to say anything for fear of getting in trouble.  How do you expect your product to get better by shutting people up about it's problems?  "Nothing to see here...move along"

Ineffective Option 3:  Tell them they are wrong

This is akin to "ignore them", although more aggressive and ultimately more detrimental.  Complaints are people's opinions, and by definition, opinions are "a view, judgment, or appraisal formed in the mind about a particular matter" (Webster).  Their opinion is how they feel.  They can't have a "wrong" feeling, just maybe a differing one than you.  You have to respect your users opinions, and they have to feel as though their opinion is respected.  Telling them they are wrong will only fuel their fire.  If their complaint is that something doesn't work correctly, taking a few minutes to walk them through the correct process can save much heartache and turmoil.

Effective Option 1:  Embrace the criticism

All the other options have generally negative impact, but this one...well, there is hope for this option.  It reminds me of this commercial:

http://www.youtube.com/watch?v=f51maMnJHdc

If you look at every complaint as an opportunity to fix something, your customers will be so much happier and more willing to work with you.  By embracing the criticism, you acknowledge that you (or your product) has flaws, and that you are willing to make it better.

Effective Option 2:  Engage your criticizer

Some people just want their gripe be heard and go away.  Others what to help be part of the solution.  If someone complains about how something works, ask them for their input as to how they would like to see it function better, THEN FOLLOW THROUGH!  Use your users as a valuable audience with which to get innovative ideas from!  After all, they are the ones using your product.

------------------

There are probably many other ways to handle feedback, but those are the ones that I have observed lately.  As someone who is offering a service, you have to understand that your users are your lifeblood, and without them you wouldn't exist.  Treat them as though they are your most prized asset, and you will get rewarded with loyalty and appreciation.  Ignore them, shut them up, or tell them they don't know what they are talking about, and you will have anarchy on your hands.

25May/092

Pathways Graduation 2009

If you follow my blog, you may know that I have been in a leadership development class for the last year.  The course has about 15 workshop days where you study leadership principles and strategies.  We also have to be the "leader" for a project, and be on a team of other members in our class for a "team project".

The class is  a lot of work...more than I had thought it would be.  And the most challenging part was that all of our assignments were sort of grouped together at the end.  This made the last month+ pretty stressful.

Last week, we had our final workshop, which was a day of presentations (both individual and group).  My individual presentation was about my work with the NCSU Web Developers, and I think the presentation went off pretty well.  I was told that I was the only one who ever quoted Vanilla Ice in a presentation, so I was proud :)   Here are my slides if anyone is interested:

After the presentation day was over, we had a graduation ceremony.  We had 37 people graduate the program, which was a pretty big class.  Along with my "diploma", I also won an award for "Inspiring a Shared Vision" for the work with my project.  That made me feel pretty good.

The class as a whole was a learning experience.  Going in, I thought I knew everything there was to know about leadership, but I learned alot of valuable tools along the way.  Assuming you have the time and can work it into your schedule, doing Pathways at NC State is beneficial.  I would just warn anyone that it is time intensive.

Switch to our mobile site