Introducing: Treb – A simple framework for PHP

August 31, 2012

I announced this on twitter yesterday, but figured I should blog about it a bit more today.

As of yesterday, I published a new PHP Framework on github: Treb

Yeah, I know, the world really doesn’t need another PHP Framework, there are tons of them out there.  So why did I create this new one?   Well honestly, I didn’t set out to do so.   You see at numerous previous jobs: Digg, TripAdvisor, HiiDef, mojoLive — I’d ended up building or extending custom frameworks for those specific applications.

In all of those cases, a ‘stock’ framework just didn’t end up making sense.  They locked you into specific ways of doing things, which may not have been what you needed to do in order to scale.  While at the same time, while they provided a lot of structure, they didn’t provide certain features that I felt were necessary (such as built-in write through data caching).
So in each case, something custom got built from scratch (or something existing got customized).   After doing this essentially 4 times.  I was tired 🙂   With mojoLive I got the ability to take the framework that I’d written for mojoLive, to scrub it of anything specific to mojoLive, and open source it.  So I did.

The moral of the story?  It’s just that in the future now, when I need to start a new custom framework for another site, I don’t have to start from scratch again.  I can start from Treb now that it’s open sourced.   Granted right now it’s very rough as it was part of a bigger system and was just ripped out.  But it’s a good starting point.

Will anyone else end up using it?  I dunno, and that wasn’t the goal of releasing it.  I will say that of others that have used this, they enjoyed it, in it’s simplicity.  And new coders to mojoLive were committing code against it on the first day.  So that’s gotta say something.
If you’d like to know more, you can read up about it on Treb’s home, and start reading it’s documentation as well.

NOTE: I’ve already been called out for Treb not having tests.  No, it doesn’t, I wouldn’t argue if it began acquiring them, but it doesn’t have tests written for it because it’s a child of a rapid-startup-culture web application.  I plan on writing up another blog post about that soon.


No longer fun-employed: MojoLive

June 10, 2011

So it appears that the ‘cat is out of the bag’ so to speak, as one of my future coworkers, Sandy Smith, has already blogged about it.

But Sandy, myself and a few others (Who I won’t name yet) … are getting together to start up a new company called MojoLive.  As Sandy mentioned in his post, he is the CPO (Chief Product Officer) and I’m coming onboard as the CTO.

I’ve been working on seeing this happen for a while now and I’m really exited that it’s finally happening.

I’ll share more details as I can, but things are in early spinup mode right now and there isn’t much to say.   What I can share, is that we are going to be working on create a revolutionary new career management platform on the web.

Stay tuned here for more future updates!

 


How not to interview

June 2, 2011

My final post in my Job Search series.  It’s short and simple.

Employers:  Don’t “Bait and Switch” on job interviews.

Multiple times during this job hunt, I’ve had companies contact me, sounding very excited to have me, to talk to me about specific position(s) that they’d be interested in me taking.

Then, at some point in time, usually after both sides had spent a long time (and in some cases having flown me out, or having long in person interviews), the rug was pulled out from under me.  Suddenly the position was something different.  Maybe it was at a different level of responsibility.  Maybe it’s suddenly not remote work.  Maybe it’s a completely different position/technology.

Regardless, it’s something that obviously wasn’t a match for me or that they should have known I wouldn’t be interested in.

When you do this, no one is going to accept the job offer.  If you are upfront with the potential employee, then you both walk in eyes open and not only do you not waste their time but you don’t waste yours either.


Dealing with Maryland Unemployment

May 31, 2011

Unlike the last posts where I have attempted to restrain myself a bit and not rant.  I’m going to enter full rant mode here.

When I got laid off, I was looking at finances and realized: “Hey wait, I should be eligible for unemployment”.  Now, I’ll admit that I felt a bit weird about it.  I make enough money, I have enough assets that if push came to shove, I could live for quite a while.  But at the same time, my taxes pay for the benefits that others receive, I’m a legitimate case, and so it would be (IMO) silly of me to throw away money that was due me.  Money that could help keep my afloat just in case my unemployment went longer than expected.

Which it did.

What began was a saga of pain.  Without getting into details, there was a particular problem with my records in Unemployment’s database.  This one point (actually an almost hilarious cascade of issues), almost kept me from getting my unemployment, and in fact caused me to have a solid 3 months pass before I received any unemployment benefits at all.

The part that was so frustrating, was that it became impossible for me to fix the issue.   The following items kept happening:

  • I’d get notice of scheduled phone calls to discuss my case in the mail.  At best a couple days before the call.  Once I got the notice after the call already happened.  Of course these are ‘make the call or else benefits will be denied’ situations.
  • Any attempts to reschedule calls (if, say, I was going to be on an airplane to a job interview), failed.   Because it was impossible to get a hold of someone on the phone.  It would hang up instantly any time I tried to call, saying ‘too busy’.
  • When I did manage to make a call, the person I would talk to, would refuse to let me try to explain the problem/confusion/issues.  They had specific questions they needed to ask.  They would only let me answer those questions.  The questions being asked were never the right questions.  So I could never explain the problem.
  • They treat each job you had, as a separate case.  So if you give them information about job #2 when someone calls you about job #1.  They ignore it completely.

In the end, I got all the way to having an appeal of my case with a lawyer, where I was told ‘NO’.  (It turns out, because the lawyer was only looking at Job #1, and didn’t have information on Job #2 – Separate cases again)

I would still not have received any benefits, if it wasn’t for a fateful tweet/facebook post that I made.  Ranting.  Turns out, I have a good friend who works for MD Unemployment.  She looked at my case file, had some friends look at it and they all agreed.  I was easily qualified and due unemployment benefits.  Just that ‘one point’ needed fixed.

I was given a number/name to fax some documentation to.  I did that, and a week later, suddenly received benefits.

Hilarious ending to the story, was that I never heard anything back from Unemployment about my fax.  Just suddenly I started getting paperwork providing me benefits, as if I’d just enrolled for unemployment.   In fact, I was then required to attend a ‘counseling session’ (Intervention) to help me through my ‘recent unemployment’, even though it was over 4 months ago at that point.

Thing is, I understand that these errors might be uncommon.  I understand that right now the office is completely overwhelmed with requests.  But because of the handling, I was originally denied what I was entitled to.  Had I not had that friend, I would have received no benefits.

In the end, it was a case of something getting too automated.   They’d removed all ‘personal’ contact from the process, and had turned it all into a machine with 10 different people calling you, each only allowed to ask you a couple questions, and never could you just talk to someone, like my friend, who could just look at the whole case and go:  “Duh, we need to fix that right there”


Gaming Industry – Do not want

May 26, 2011

This to me is a very sad blog post.  It represents the death of one of my dreams.

You see, back when I was in High School, and getting the “You can do whatever you want to do” dream speech.  I decided (after a brief fascination with chemistry) that I wanted to get into Computer Science.

Why?  Well one reason only.  I loved video games, so I wanted to make them.

Fast forward a few years, and I’m in college, and this ‘Web’ thing appears.  It’s cool, it’s new, none of the ‘establishment’ understands it.  And so the interns/college assistants get tasked to deal with it.  I start working on the Web.   Which leads to my first ‘real’ job being doing ‘Web’ stuff … 16 years later:  Guess what, I’m still on the Web.

Don’t get me wrong, I love the web and everything that it has become.  It’s amazing.  But in the back of my mind, and my heart, there’s always been this little longing for my original goal: Games.

Once, I almost had my ‘in’ to the industry.  At the time, this little barely known company, called Bethesda Softworks, had an advertisement for a ‘Webmaster’ (ah, those were the days).  I tried to apply but we were having some issues between our fax machines, and an official piece of paperwork I had to sign that they would only fax to me, not send in mail.   That was right about the time I got the offer to work at Hubble.  And you know, that was pretty cool also, so I took it 🙂

I long let that dream die, and embraced the area that naturally fell into my lap.  Until recently.

As part of doing some soul-searching upon the loss of my most recent position: My wife was asking me what I really wanted to do in my heart.  To think outside the box of the positions that I’d been holding.  To expand the search parameters of companies that I’d been looking at.   Immediately that long hidden thought in the back of my head spoke to me and made me scream: “GAMES!  I WANNA MAKE GAMES!”.   I scared my wife.

So I explored that option.  You see, this is the perfect time for it.  Facebook has almost single handedly make the world of Games & Web collide.  Now everyone is playing games online, and Web Professionals are needed to make that happen.

But, you know what, after exploring this option I came to one conclusion:

DO NOT WANT!

Really.  I talked with a number of gaming companies that wanted Web professionals.  Two in particular I talked to in depth.  One of them is a HUGE name in online games, another was a brand new startup in the field, just about to release their first game.

Both of them had the exact same problem, which led me to walk away:  Ridiculous assumptions/requirements upon the employees.  I’d long heard the horror stories of videogame companies, long hours, low pay, weekend work.  You play video games and read the end credits and the quotes are a litany of “Thanks to my wife & kids who I didn’t see for 2 years”

But I assumed, incorrectly it seems, that the ‘Web Games’ companies would more closely track ‘Web Application’ companies in concept.  (Not that some Web companies don’t have the same problems.)

I was sadly mistaken.  All companies I talked to outright expected employees to put in amazingly long hours, work weekends, etc.  I was told ‘joking’ stories by management about employees complaining that their wives were going to leave them.  I was asked to work for a company for zero pay.  And not even a ‘until we get funding’ type situation.  But even after funding, because marketing dollars were going to be more important than paying salaries.

In the end, I had to take the bitter pill, and walk away again.

This isn’t to say that I wouldn’t love some day to somehow get involved in the gaming industry.  I still love video games and play them nigh every day.

But I’m not going to walk into those situations.  It would take a company that breaks from that mold, and is a family-friendly company that respects it’s employees work/life balance.

The older I get, the more I value stability and just wanting to work for a company that is doing something ‘awesome and cool’, whatever that is.  While at the same time, respecting families, and completely understanding that work isn’t “life”.

I guess your values change when you get old 😉  Too much gray hair on this head.


Startups in ‘new places’

May 24, 2011

In my last post about how companies don’t seem to be on the ‘Remote Work’ bandwagon lately, I mentioned all these startups that are buying office space to get started.

An interesting, if small aspect of that:  They aren’t “In the Valley”.

It used to be that all the startups were in Silicon Valley, with some smaller startup zones in other cities.  New York, Seattle, maybe DC.

And perhaps that’s one reason why the idea of remote work was so popular.  Lots of people didn’t want to move to these very populated and very expensive areas to work & live.   However companies wouldn’t get funded unless they were in these ‘hubs’ of activity.  The assumption being that they wouldn’t be as effective a company if they weren’t based in these brain hubs.

But here’s the interesting thing, I think perhaps one of the reasons why remote work, at least in the startup world isn’t as attractive as I’d expected at this moment, is that companies are appearing in non-traditional locations.

I’m not sure how much this is an indicator of VCs & Angels being more willing to fund people regardless of location, or just people trying desperately to break away from needing to move to the Valley.

But as I’ve been searching for jobs, I’ve consistently stumbled across numerous web startups looking to hire, that aren’t in the traditional locations.  They are spread across the map (speaking US-centric here).  These range from bigger cities: DC, Baltimore, Austin, Denver … down to places like the middle of Wisconsin, Michigan, Tennessee, Florida, etc.

It’s just interesting, that instead of keeping the ‘core’ of the company in the hubs and allowing remote work.  They are moving to smaller/cheaper places and then wanting everyone to move to them.  (Interestingly enough, which plays more into the assumption that all web types, are young, single, and able to relocate on will)


Where has all the remote work gone?

May 23, 2011

To continue my series chronicling my current job search, I come to this interesting observation:  “What happened to remote work?”

Back 2-5 years ago, Remote Work was the upcoming ‘killer feature’ of job listings.  The nature of ‘programming’ leads itself really well to remote work and that’s why I’ve worked remotely for the last 4 companies/positions that I’ve had.

Programming (and related tasks) tends to focus around semi-regular checkpoints (weekly, daily) where everyone needs to understand the tasks at hand and what they personally need to do.  But then those people need solitude to sit down and crank on actually producing the code.   It leads to the funny situations where in actual offices, everyone drives in, sits down in front of their computer, types for hours, all get up together in concert to head to lunch (organized by IM), then come back, sit in their cubes again for 4 more hours then go home.

Remote work was the perfect solution.  Not only does it VASTLY increase the pool of employees you can draw from.  But it allows you to save costs, you need far less (if any) office space which always comes at a premium.

But I digress, the main issue here is that back in 2008 when I was looking for a position, 80% of the positions I was running into were immediately OK with Remote Work.  Perhaps in many of those cases I’d be the only (or close to it) remote employee.  But they were perfectly OK with that, and had been talking about doing more of that to get the ‘right employees’.

Fast forward to today however, remote work has completely dried up.  Very few companies are open to it.  Even brand new startups, are immediately rushing out to buy office space and prepare themselves for an office full a people.  A massive outlay of money.   Suddenly for some reason, no one wants remote anymore.

The interesting twist is that more and more companies now are pushing ‘Telecommuting’.  But not remote.  That is to say, they are fine with the idea of someone who is only in the office a couple days a week, but that lives close enough to drive in for those days, and just works from home the other days.

The ones that are willing to discuss remote often end up wanting to treat it like a telecommute situation, where they want you to fly in on a very aggressive schedule, every other week perhaps for a couple days.  Or for a full week every 3-4 weeks.  And honestly that’s not being remote.  That’s an attempt to get the feeling of someone local and/or telecommuting.  That’s not embracing the benefits that remote employees can bring to your team.

Anyway, I don’t guess I have a witty end to this post.  I’m just surprised that we’ve moved backwards in these regards in the last 5 years.   5 years ago remote work was the future.  Today, it’s in the past.

There are so many tools & technologies that make working remote so easy and effective.  Yet for some reason, all the companies have decided that they need local people only now.


“The Web is New” syndrome

May 20, 2011

Following up to my last post about my job search, I’d like to touch on another interesting point I ran into during this round of job discussions.

I’m dubbing it: “The Web is New”

It’s hard to exactly put a finger on it, but basically, when looking for web work nowadays, there is this mentality that the Web is a new thing.  Invented just a few years ago.   Almost like the DotCom doom never happened and the web was invented since then.

This mentality doesn’t seem to matter if it’s a startup, or a big company.  The ‘Web Division’ has the same concept.

Not only is this somewhat shown in the topic of my previous post, where people are only looking to hire people with at most 5 years experience in the field.  But it goes deeper than that.  There’s essentially an assumption that everyone working on the web is a ‘young pup’, single, and always on the cutting edge of this ‘new thing’.

It can manifest in many ways, but often includes the idea of long hours, weekend work, low compensation, relocation not being a problem, etc.

It actually starts to make me feel out of place in this field almost.  I’ve been writing ‘Web Applications’ for 16 years, and people almost blink in disbelief when I mention that when discussion a job opportunity.   It seems to be, interestingly enough, that the ‘web’ industry never matured as it’s employees did the same.

I have to assume that most other ‘new industries’ had similar growing pains when they first existed, people just clamoring to be a part of it, and no one having experience in it, so everyone was on equal grounds.  But the industries then, 2 decades later, became more settled, more structured, more stable.

For some reason, this doesn’t seem to have happened on the Web.  Which leaves an interesting question.  Where are all the rest of the 16 year experience folks?  What are they doing?  Where have they vanished to, leaving all the young 20-somethings to fill the Web positions?

Why is, the Web still new?


Current State of PHP & Web Economy

May 18, 2011

So I’ve been on the job hunt since November when I got laid off from my previous position.  It’s been taking me a while, primarily because after having a number of jobs ‘in a row’, I’m really this time trying to find the ‘perfect’ fit.  A position that I’m going to stay in for the next 5+ years.   My next career, not just the next job position that sounds interesting enough to work on for a while.

The job hunt has come (essentially) to a close, and I’ll share more on that in the future.  But in the meantime I’m writing a series of blog posts here about this experience, and how the job landscape, for PHP specifically, has changed.

One thing that has surprised me, is how this particular job hunt situation is different from others that I’ve been on (unfortunately) over the last 5 years or so.   When Digg and I parted ways in July 2008, it seemed that the entire world was trying to hire experienced PHP Professionals.  There was no end to the number of positions that existed.  Everyone was hiring.

Fast forward to when Zend and I parted ways in the December 2009 / January 2010 timeframe.  The world had changed in those few years.  Suddenly noone was hiring.  Money was tight all over, hiring freezes were in effect.  Literally only a handful of positions were available to me (locally or remote).

Now, at the end of 2010/beginning of 2011, I’ve realized that things have changed again.

Actually numerous companies are hiring again.  It’s a glorious thing to see all the PHP jobs out there again.  But there’s an interesting catch now that didn’t exist before.  It seems that every single company, is hiring for the exact same position:  “PHP Programmer with 3-5 years experience”.  It’s uncanny how all these positions list exactly those same requirements.

Companies aren’t looking for more junior/entry level positions (not that this fact affects my job search).  But in talking to the companies, it’s that they just don’t see the ‘bang for the buck’.  They are hiring, but operating lean.  In that, they are seeing the 3-5 year experience person as the sweet spot.  Someone with enough experience that they won’t detract from the effectiveness of those around them needing to manage them.  Someone who can work independently.

But this leads into the other problem.  They also aren’t hiring for people that have more experience.  I walk in with 16 years of experience, looking for leadership positions, and they simply don’t exist.  Again this comes down to running lean.  They aren’t wanting multiple ‘cooks in the kitchen’ if you will, and they already have their Lead/Architect/Director/CTO/etc positions filled.   The words “Overqualified” have been stated quite often to me.

Even if I wanted to take the position at (much lower) salary than I’ve been making, the companies aren’t willing.  Because, perhaps validly, they assume that someone with 16 years experience isn’t going to be happy in a position with responsibilities designed for a 3-5 year person.


Conferences, Speakers & Presentations

March 17, 2010

There has been alot of chatter in the PHP community lately about conferences, speakers and specifically the fact that many speakers at conferences seem to be doing last-minute preparations for their presentations instead of being professional and ready well in advance.

Most recently this came out because a number of speakers for ConFoo (A PHP/Python/Ruby/Java conference in Montreal) were tweeting about working on their slides the days/nights before their talks. Some people starting taking offense at this and calling it unprofessional

First of all, I want to point out a simple fact that while yes, a SELECT FEW presenters are the types that only start making slides the night before a talk. The majority of people (myself included) who are presenting, have made our slides at least weeks in advance (if not earlier). However, we continue to tweak them up until the minute we present. We want them to be perfect, and so we keep reviewing them and modifying them. In fact, I’ve been known to change my slidedeck in response to other discussions happening at the conference, or due to information that was passed on in the Keynote.

In those rare other cases, those speakers are ones that know their topic intimately and are simply planning on having a conversation about the topic with the attendees. In those cases, the slides are less important in the first place.

But let’s put that aside for a moment, because I want to focus on something actually completely different.

The mention of the word: “unprofessional”. Speakers at PHP conferences are, by definition, unprofessional. The PHP ‘conference circuit’ if you will, is one that has grown up in a different manner than other conference circuits that I’ve been familiarized with in the past (Java, Adobe, ‘Web’, etc).

In most of these other areas, the speakers are PAID to attend. Some of the speakers in fact make their living (or a good portion of it) via being paid to present at conferences. They will get a significant payment for being there, as well as expenses being covered.

On the flip side, in the PHP conference circuit, every speaker there, in fact, is PAYING for the right to attend that conference and be a part of it. (Or, if they are lucky, their companies are covering their expenses) Sure, most of the conferences do their best to offset the expenses that the speakers will accumulate, but that’s it. The standard package involves a free conference pass, a night or two hotel per presentation, and airfare being covered. (Though some conferences, like OSCon, cover much less).

There are still so many expenses that a speaker will have. Transportation from airport to conference venue. Parking at their home airport. Meals that are not otherwise provided (usually only lunch is). Extraneous flight expenses (checked bags, etc).

All of this is being paid by the speaker (or their company) for the privilege of speaking at the conference. This is a net negative, not even breaking even, let alone being a paid speaker who would be taking their position as a ‘professional’, being paid to do a job. Heck, let’s not even take into account the direct loss of productivity that the companies take by allowing the speakers to attend (though other great benefits are gained by doing so)

In the end, my point is this. I feel that given the nature of all of these conferences. That the organizers and attendees need to understand the situation and treat the speakers not as a ‘professional speaker that they paid good money to see’. But as what they really are. Far more akin to an Open Source Developer, who is donating their time for the better good and education of the masses.

That is until at least, the situation overall changes. Where conference organizers are able to pay a respectable payment/stipend for the amount of time actually spent by a speaker in preparation and execution of a session. Also where attendees are willing to pay a conference fee that accordingly will cover those speaker payments. It would not be nearly so inexpensive as conferences now are.