People enjoying a swing ride at a theme park

Articles

A new place and the same old issues

As stated on January 10, 2012

I started my first new job in almost five years recently.  With it came a change from working with a single organization to the world of client services.  Mobile services to be precise.

I’m on the newest team there – the Web Developers.  It is always funny to me that the Web Developers are the new kids on the block in mobile (according to the majority of people with whom I interact). With the company telling us we have to agree and choose a framework such as Sencha Touch (since these directions are coming from people in the native world, not the open, progressively enhanced web world I like to frequent), there are many conversations that have taken place where tempers have flared a bit with different members. But something else has been bugging me much more, and it has occurred ever since I first learned HTML and took my first computer science class in college.  People are ashamed of their code.

Since I started, I’ve heard multiple people tell me to forgive their code because it’s not that great.  If only I had had a different requirement I would have supported that browser earlier.  I always told myself I would stand by my code, but when I heard myself make an excuse to my coworker for my Javascript (“Full disclosure: I’ve never worked with JQuery Mobile before, and that’s what the original developer I took over for started with, so I think I completely butchered the MVC pattern that was trying to be achieved”) I realized something was wrong, and it bothered me greatly.

It might just be the organizations I have worked with, but I have always heard more people make excuses or claim they just wrote the worst code of the their (“but at least it works!”) than those who are proud of their work.  Why do we do it?

I hate feeling embarrassed to show my code to other people.  But it happens. My first code review in the career world was horrible. I was proud of what I wrote, but then another developer was told to find at least five things to improve.  Whether or not there was anything to really improve.  So arbitrary best practices were thrown at me, and my non-technical boss looked at the review with disappointment in my skill.  Beyond that, we would have demo days where we would share code with each other that we were proud of, and people would start interrupting (“you should have used a static final synchronized class instead of a static final class!”).

From college and beyond, I’ve studied/worked with people who will look at legacy code and openly mock it – even if it’s really not that bad.  It’s not in their preferred style so it must suck.  Everyone does it.  But so many times, the person who worked on the code is there.  Maybe they worked on it five years earlier when they were a junior developer, forgive them.  Maybe they were in a time crunch and management was pushing the timeline first, forget it.  Maybe it’s better than what you would have done, so be quiet.

So I wonder if that’s it.  There are a lot of great developers out there who write great code.  There are a lot more out there who write great code but who might have missed some optimization here or there.  We should all be proud of what we do – especially if it works. There’s always room for improvement – for everyone.  Especially in this day and age.  The iPhone has only been out for less than half a decade.  Mobile computing is still young.  Heck, the web is still young.  What was great a great coding technique last year may be irrelevant the next.  I take pride in seeing things work, and seeing users interact with my work.  Even if I declare one Javascript variable in the middle of a method.  Or if my previous life as a Java developer makes me mess up my terminology for Javascript functions.

 

A new site and a new blog

As stated on June 4, 2011

Here we are with the first blog post on my new WordPress setup on my recently updated site.

I’ve been doing a lot of reading on web design and mobile design over the last three years, but my job has kept me busy enough to not allow me to put all that I’ve learned into practice. I’ve certainly been able to put some things into play, but it’s hard working for a large organization that views the web and mobile offerings as secondary. We were finally approved to begin work on a mobile web offering (we’ve had a website and iPhone/Android apps for some time now) three years after it was proposed and prototyped. And that’s certainly fine, I understand approvals take time. It does amaze me though how people still do not understand why we would want to create a mobile web app.

As a background, I work at a financial institution, and we are talking specifically about online banking. Transferring funds, viewing account details, opening accounts… you name it and we have it. We were even one of the first to use remote deposits from your computer (Scanning a check to deposit it), as well as on iPhones, Androids, and even the iPad 2 with their cameras and our apps. Our website has been converted over the last few years to use a lot of web standards and progressive enhancement to work across most browsers and screens. But it’s still a pain to use on mobile devices. And because our business unit has talked to mobile app consulting firms, the belief is that we only need to focus on iPhone and Android through apps. Yet, literally everyday we get questions about why there’s no way for Blackberry users to access our full site. Less often, but often enough we get requests for Windows Phone 7 and webOS users. We even get questions from our iPhone and Android users asking the same thing, as even though we have apps for them they 1) don’t know about it or 2) simply would rather use the browser.

There’s a place for native apps, and I’m glad we have them, but it’s only a part of the puzzle and we are missing out by not having a web version that is more usable for these smaller screens and different input features. It’s not one or the other when it comes to apps – both have a place and purpose.

Regardless, here’s my small site redesign that adapts with responsive web design and finally gets my thoughts out here with this blog. It’s been a long time coming, but Spring is in the air with Summer to soon follow, so I shall make the most of it.