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!
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
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.
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.
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.
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.
The Crappy Economy Express
I lead a double life. My professional career takes me from being a peon one minute (NC State), to a CEO the next (AmberCube). I've been doing this for a while now, and have only recently appreciated the vast differences between the two. There are lots of things happening for me/to me/in spite of me in both arenas. Both arenas come with their own set of unique and challenging problems to solve. Some days I feel like I can take on the world. Other days I feel like one guy, standing on the tracks in front of a runaway train with no hope of slowing it down. Every day I feel lucky to have a job doing something I (usually) love, but recently I have felt more like the guy on the tracks in staring down the oncoming "crappy economy express".
I used to think that being employed in Higher Education meant that my job was safe. Yeah, it meant that I would have to endure budget cuts, inconsistent raises, and an overshadowing presence known as NC State Government. But hey, at least I was helping shape the young minds of tomorrow, right? And I wasn't worried about being laid off every week, right?
Well if this economy has taught me anything, it is that Higher Education, specifically State Government, is certainly not immune. The state government is going to have something like a $3 billion deficit for the next fiscal year, so everyone is being asked to cut back...and I mean WAAAAAAYYYY back. No travel. No training. No new computers. No new anything. Not even office supplies. From my perspective (limited as it may be), we have hid the checkbook and considered our bank accounts closed.
IT is one of the myriad of places where the the state is looking to trim spending. Our CIO was asked to present the Chancellor with several ideas that would save at least $1 million EACH from IT. That is a scary scary number. $1 million doesn't mean not buying new computers, or halting travel, or getting rid of professional development. $1 million means one thing...jobs. Being that one of the areas under investigation is web services, it means that people I know and work with (myself included) are being looked at with a very critical eye right now. Someone, somewhere sees money to be saved here, and in some ways I don't disagree at all. It just makes me nervous for myself and my colleagues.
I will be keeping a close eye on where the discussion of centralizing web services will go. I see how the administration sees this as a possible cash cow. There are lots of pockets of developers, designers, graphic artists, etc. all over campus. If we put all those resources together, we can save a ton of money right? Right? Maybe, but there are LOTS of things to consider before jumping in. I can also see how this concept is terrifying for people in the colleges and departments. What will happen to their personal attention they are used to? What about their unique and distinctive needs? Where do those things fit into this plan?
The fact of the matter is that right now, I have more questions than answers....and I am sure I am not alone. As State Employees, we aren't used to being worried for our jobs. In my 8 years as a State Employee, I have never come to the office thinking "is today the day I might get laid off?". It is all new territory, and with new territory comes fear. I try to believe that the people making decisions in our organization have NC State's best interest at heart. I am sometimes disappointed, but I think it is much easier to go through life believing people are inherently good and decent, rather than someone is always out to get you. Naive, sure. But like George Michael said, you gotta have faith.
Update Mashup
None of the following warranted an entire post to itself, so here is a little recap of the Jason Awesome happenings of late...
Vegetarian Update
We've made it this far...only 13 days left. I have found that I am OK without eating meat, but I am currently incredibly bored with my food choices. I don't think I can eat anymore cheese pizza or pasta without freaking out. We have found some good places to eat vegetarian (Red Robin, Flying Biscuit, Moe's FTW!) and some places that FAIL like none other (Village Draft House, anywhere Chinese, Chili's). In case anyone was wondering about my health over the last month+, I have lost a few pounds, but nothing significant. We actually ate much healthier when we ate meat than we do now. Also my energy level has been sustained by eating almonds, taking vitamins, and keeping my protein up. Only a few more days and we will have done it!
Disconnected Sundays
While neither Erin nor I have completely unplugged on Sunday's, we have made a more conscience effort to. We have gone to the grocery store together, gone to the movies, done some shopping, cleaned house, etc. It has been really nice, and I have enjoyed the time we have spent together. Needless to say, we are going to keep disconnected Sundays around.
OIT Award for Excellence
I was nominated by my friend Nick for an OIT Award for Excellence. They had a reception for those of us who were nominated (there were 9 total) where they announced the winners. My friend Jen did my introduction and said some really nice things about what I have been doing at work. I didn't win, but that was OK. It is just nice to be recognized.
Objective-C and iPhone Development
I have been reading an Objective-C book and trying to work my way through the syntax of the language. It is pretty straight forward and I am almost done reading the book. This will help me with my iPhone application development. The best part about learning Objective-C was how I came to own the book that I am reading. Erin and I were at Southpoint because I had to get a new power adapter for my MacBook. Erin didn't want to wait with me, so she went next door to Barnes and Noble. When I got done, I texted her and we met out front. She handed me a bad and said "I got you something". I looked inside and there was the Objective-C book that I had been eyeing. True love is when your wife gets you a programming book when you don't even ask her to
Awesome iPhone Dev Class
On Thursday of this past week, Steve Hayman, the CE of Apple Mobility, came to campus to do an iPhone development class for our campus web developers group. If you've been following my posts lately, you know that I have been looking forward to this for a while, and that I have gotten totally into iPhone development lately.
Steve had a great class. We learned a good bit about the capabilities of the iPhone, he demoed a few apps, and we even built a flashlight app. But the best part of the class was not during the class, but after it.
My co-workers (Jen and Nick) and I went to lunch after and the possibilities for development dominated our lunchtime conversation. While this is totally NOT unusual, the excitement was unprecedented. We probably had 4 or 5 implementable ideas by the time we left lunch, so it was really cool.
In the next few weeks I am going to get some folks on campus together to start a community-developed NC State app for the iPhone. It should be an awesome experience, and really give value to the University.
And as a side note, AmberCube (the company that Garrison and I own) have taken the plunge and dropped the $99/year on an iPhone development license. Expect to see some great things coming from us in the future


