Dive Centers, iPhone apps and More

April 17, 2011 · Posted in news, personal, projects · Comment 

For those of you who follow, you always want to know what I’m up to.

Some might think I’ve spent all this time opening a dive center here in the New River Valley. In fact, I think I’ve only spent about 10% of my time doing that.

iPhone Apps

We have two that are completed and awaiting final testing. This is usually the longest part of creating any application. We haven’t had any of our live apps crash yet, and I prefer to keep it that way. So, we do a lot of testing. And when we think we’re done, we test some more.

Lab Work

One must think I’m getting my PhD in Environmental Engineering. I do have a degree from the College of Engineering (Computer Science), but Environmental? I would never have thought. But Ana is finishing up and I’m helping out. That means preparing batch reactors, measuring gas production and writing a thesis. Luckily I’m only helping in small quantities and the lab work is completely done. Now it’s just data analysis and finishing off that thesis. I guess it’s science, and we use a computer, so it’s kind of what I went to school for.


As I mentioned, we opened a dive center in Blacksburg. But we also created a state of the art website for it that’ll allow the company to grow into something much more than a dive center. We had the awesome team from HellowYellow design us the site, and they did an amazing job. We’re working on a ton of new features to the site like class registration, videos, etc. How hard can all that be? Well it’s part of a much larger picture, so a little harder than you think.

Part of that larger picture is this: It’s not about opening a dive center and sharing our passion for scuba. It’s about taking a business, any business, and making it the best at what it does. Most dive center websites look like theirs were created in 1996, by a dude with 10 minutes of html experience while sitting on a beach, drinking coronas.

So we started something. That something has grown to include several businesses, several partnerships, several clients and a lot of change. That change will upset a lot of people, namely those on the other side. How many, will be our measure of success.

iOS Development Code Kitchen

December 6, 2010 · Posted in advice, code, iphone, projects, work · Comment 

I’ll be putting on a workshop on iOS and iPhone development this Saturday from 9AM to 5PM on the Virginia Tech campus. The event is free so if you’re in the area feel free to sign up:


The event will run all day and will be hands-on programming, but all levels of experience are welcome and encouraged to come.

Working With People Better Than You

February 4, 2009 · Posted in advice, work · 2 Comments 

Depending on who you are and what you do, you may find yourself working with people whose skills are superior to your own. For some of us, this happens more often than not. For others, this rarely happens, or at least they think it doesn’t.

If you don’t work with people who are better than you at something, then there’s a problem. The problem is you’re the best at what you do. If you don’t see the dilemma (and silly you), let me explain.

How We Improve

We all go to school to learn skills to do our jobs better. We attend conferences to learn what’s new in our industry of choice. And we sometimes take online college courses to stay fresh and relavent. But all these things are being taught to us by someone who is better at what we do, be it a college professor, a peer who has done more research in the area or a committee of people who have dedicated a large portion of time compiling the information you are now trying to absorb.

We are best at what we do the most. For some people, they’re good at watching TV (some of us can’t sit still that long). Others are good at playing video games, cooking, or sports. Hopefully we are all good at our jobs, since above all, we spend the majority of our waking hours doing just that.

So, if the majority of your time is spent at work, working with people who are uninspiring and not as talented as yourself, it might make you feel great that you’re the smartest person in the room, but honestly, how smart are you really compared to other companies? Some of us can claim to be the world leaders in our respective industries. Unfortunately however, most of us can’t and if we aren’t exposed to people who have different ways of working and who are better, we never learn anything new.

Be Humble and Learn Something

I have several developers that I work with. The first thing I do is admit that I don’t know everything and that their input is very important to me because of that. Complex databases are not my thing. I know a lot about them, but I work with people who know more about them. Sometimes you just need to shut up and listen, even if you think you’re right about something. You’ll learn that not only are you not always right, but that other people can be right too, and sometimes you can both be right; just with different solutions to the same problem. So surround yourself with smart friends and co-workers and just by hanging out with them you’ll pick up things you wouldn’t have otherwise. Don’t worry about being the small fish, revel in the wealth of information and inspiration that surrounds you.

Fixing What’s Not Broken: A User-Centric Perspective

January 29, 2009 · Posted in advice, projects, work · Comment 

The saying, “If it ain’t broke, don’t fix it,” is not a very good motto, especially when there’s progress to be made. When you’re working with old and tired technology it really drags down your capabilities and your ability to move forward. The need to keep around legacy solutions only holds back your clients from realizing your full potential as a company.

Their Failure is My Failure

Being the Technical Director at my company means that I get to pull out all the stops when it comes to investing in our technical capability as a company. But it also means that I am responsible for those technological failures as well.

Coming from the world of Human Computer Interaction (HCI), the user is never wrong or stupid, but instead it is your design that is wrong or inadequate and the sooner you realize that, the sooner you can move on to building better, more functional and friendly software.

The same goes for my developers. They are forced to use the solutions I provide for them and if they have problems with it, break it, or can’t get it to work, that’s my failure to design a well-working platform for them to develop on. Sure, I can always fix the problem for them in a few minutes and show them where they were misled because I understand how all the pieces fit, but I’m the one that made it, so of course I understand it. I could dismiss their problems as them not knowing how the code works or that certain things need to be placed in particular spots for things to work properly, but that’s not their job. Their job is to develop really great pieces of work and it’s only a difference of mentality on how they should do their jobs better and easier.

On the one hand, I could produce documents and try to explain how everything works and occasionally field questions on how certain things work. The alternative is to pay attention to the problems they’re running into and resolve it in a way that’s best for them. This may require a higher initial investment, but it’s an investment that’ll yield higher returns in the long run, not to mention happier developers.

It’s Not Them, Stupid, It’s You

We’re quick to fault others for something that we ourselves may understand quite well, but with the wealth of diversity in this world, no one can know exactly the same things you do. I work with really talented people and I can’t blame them for not knowing things I think are common sense because I know they know things that I couldn’t even begin to grasp. So instead of trying to be superior to people or trying to absolve yourself from blame, take the stance that the end-user is always right, be it your co-workers, your clients or your customers. Remember, you’re not trying to compete with them, you’re trying to work with them.

Don’t Fix It, Improve It

Take something in your line of work that is tired and old and revamp it. If your software is coded in ActionScript 2, upgrade it to 3. If your website is made with just straight up HTML, refactor it to include CSS and some JavaScript. If your invoices are still written in the Courier font, hire a designer to make them less intimidating (unless that’s the point, in which case your business model is flawed if you’re constantly trying to convince your customers to pay up). I know it might not seem broken and may seem to work fine, but by improving on what you already have, it allows you to evolve and be a leader rather than having tired old things hanging around and weighing you down.

Job Search

February 14, 2007 · Posted in news, personal, work · Comment 

So I’ve been really busy this past month with school ever since I got back. Classes are great and I’m doing fairly well in all of them. There have been a few rocky days but hopefully everything will average out in the end.

I’ve had some trouble with tuition this year. I’ve been to the financial aid department a few times. You have to watch those people with your money and keep them in check because they won’t let you know anything is wrong or that you need to take action on anything. I canceled my budget tuition plan today because if I didn’t they wouldn’t give me my refund for my loans and I do believe they still would have debited my checking account. Stupid things like that. I just can’t wait to get a job so I can get rid of all these loans.

I applied for two jobs initially. One was based in Detroit working for Ford’s HCI department, and another was in Balitmore doing web-based HCI work. I haven’t heard back from either one yet. One told me not to call and the other never got back to an e-mail I sent them a few weeks ago.

There was a job fair this past Monday. The few companies that I was interested in are based in the Corporate Research Center (CRC) here in Blacksburg. I would love to stay in Blacksburg for a while. If the company and job is great, it would be really nice to stay here. I’m still thinking about grad school so maybe in a few years I can get my masters in CS for Human Computer Interaction (HCI). The companies I’m interested in now have some work working in testing and developing interfaces and the like, but I wouldn’t mind doing some pure software engineering too if I can have some input on the design and other aspects of the projects I am working on. With the CRC companies, they are small so it is very likely I will be able to give plenty of input.

I’m looking for other jobs in the Baltimore area including northern Virginia as well. I’m not sure where I want to live, but this area seems like a great place to start. I’m not sure what the compensation for any of these jobs are (besides the Detroit one which was $70k) but it really doesn’t matter as long as it’s what I want to do. Of course I do expect a decent salary for the skills I possess and I’ve worked so hard to refine, but it will be the last question I ask when doing my job search. Either I’ve been extremely lucky, or something, but every boss I’ve ever had has always liked me and I’ve enjoyed working for them. Wal-Mart was a little less personal, but that is ancient history.

My GPA isn’t the greatest, but when you’re working two jobs, involved with several organizations, leading one of those, and still finding time to have a life, if a company is going to eliminate me from their prospects because they can’t see beyond a GPA, then I don’t want to work for them anyway. GPA is only a small part of the equation. What my GPA says is that I work a lot and do things other than school but as long as I’m passionate about something, I give it my all. We’ll see who the lucky company is that can look beyond all of that and give me a chance.

So, a great job is sure to be on the horizon. I’ll keep you posted.