Thursday, June 13, 2013

Fear of code

Have you ever opened up a code base, looked at it, and known that it was a complete train wreck? Not only was it undocumented, it didn't have unit tests either? Your goal is to make a change. But every where you look you find nice little corners of craziness that if changed, will have unforeseen consequences.

The worst part of the code base, is that you wrote it last week. Or two months ago.

Sure, you have learned new things since then, but this isn't the code you wrote when you were just starting out, or three years ago. This is the code you wrote last month. And now you want to go back and kill two-month-ago-you for not following best practices by documenting the code and writing unit tests.

The best way to fix this problem is to start writing unit tests now. Know that two-month-from-now-you will want to throttle now-you if those tests aren't written. It doesn't matter that the code is trivial. You don't need 100% coverage. You know the parts that are messy. You know the parts that are easily broken. Write tests for those at least.

For the love of two-month-from-now-you... write the tests!

Wednesday, May 1, 2013

Looking for a Jr. Developer


My company is in need of a junior developer that is interested in building a marketing web site. This is a full time position with benefits. You will have to tackle all of these problems:

  • Create a system that allows marketing to change the content on the site
  • Create a way for customers to pay us for our software
  • Keep the system online
Your main job? Find out what the marketing team wants, and then build what they need.

You need to know how to build a site from scratch. It would be preferred if you knew Ruby and Rails, but if you insist that PHP or Java is better, we will at least talk to you to find out why you are so misguided. Obviously, you need to know HTML and JavaScript. You would also need to be pretty slick with Photoshop and CSS. This is a marketing site after all. We really want you to be into the marketing thing but you need to be a real deal developer. CS degree preferred or some good experience. Last but not least, you need to be a US Citizen.

Why would you want to work with us? Awesome people. Good benefits like medical, dental, 401k. Great work environment. The equipment you need, you can have it. The software you need, you can have that too. More than likely you won't have to ask for it, we probably have it for you already. Oh yeah, and free soda.

If you or someone you know is interested, shoot an email to carl dot fyffe at gmail dot com with "Jr. Developer" in the subject. Include a resume and some screen shots of sites you have built.

Minor detail: this isn't the official job description, just me getting the word out. I will send you the official job description after you send me an email.

Also, you should follow me on Twitter.

Wednesday, January 30, 2013

Restaurant Alternative

I went to dinner with some friends tonight. Then somehow got hijacked into going to Karaoke night. My friend that was singing was pretty good. But some of the other drunks getting up there were just ruining good music. But that isn't what this post is about. I want a place to hang out and talk with my friends. A place that is loud enough that people can't overhear our conversation but quiet enough that I don't have to yell to be heard or strain to hear my friend sitting across the table from me. I want to be able to drink and eat while not feeling like I am being rushed out of the restaurant. But that is the problem, most restaurants want you to get out as quickly as possible because they aren't making as much money if you are just sitting there. Theoretically, the longer you are there the more you are going to purchase but there gets to be a time where the beers slow down, the food has been consumed, and I just want to sit and chat with my friends. I want a restaurant that charges me for using the space. Let's say $4 per person every 15 minutes. Coffee, Tea and Soda are free. If you order food a multiplier is added for the next 15 minutes. Appetizers are x2.5. Burgers and sandwiches are x2.5. Entres range from x4 to x10. Sides are just x2. The multipliers are additive. Booze is sold the normal way. The goal of this structure is to slow down the meal. Sure, the restaurant would make more money by pushing out more food, but they are still making a nice profit if you are just sitting there consuming soda. This may actually be one of the dumbest ideas I have ever come up with, but if you think you can make it work, let me know. I am interested.

Sunday, August 19, 2012

Forums - Good, Bad and Ugly

Over on Branch there is a discussion about "Why forums work". I have asked to be invited to the discussion but they are in beta mode right now so adding my two cents will have to be done the old fashioned way, with my own blog.

One problem with forums is not knowing what's new. You have to visit each topic or forum to find the new posts. No "inbox" per se. So I was glad to see an inbox in Branch.

One of the problems that has begun to plague Stack Overflow is that new questions fall off of the front page quickly. This is a problem for HackerNews as well but in a different way. HackerNews requires users to go hunting for the new posts and doesn't make the new posts visible to the general audience. Posts that the audience may enjoy will go unseen unless you are a celebrity or game the system in some way.

Finding a way to bring new posts to the audiences that can "use them", answer the question in SO and read the article in HN, has to be a key factor to any forum these days. Sometimes it is as easy as an inbox like feature, and for the application I am building that is the way we are going.

One solution would be to notify users of "interesting articles". Learn what users are interested in and then bring new posts to them. The plethora of services trying to do that these days are all trying to use your social network to gain insight, but I think there is more value in just watching what the user does and determining his/her expertise based on actions instead of friends. Something along the lines of NetFlix suggestions but for articles or questions.

I think forums work because their hierarchy is easy to understand. It is organized and takes a minimum amount of moderating to keep things orderly.

Sunday, August 21, 2011

Google + Hardware = Not a Bad Idea

Google didn't buy just a phone company. They bought a hardware company whose best known for phones. Google bought a hardware company. Why would Google buy a hardware company?

So much of Google's software business depends on hardware. All of their search engine software sits on hardware. Those servers can now be looked at by a team of engineers. And let's not forget all of the forward looking hardware. Self-driving cars require hardware. Hardware components that need to be miniaturized.

What other projects might those crazy engineers want to launch that requires hardware? Only time will tell. While everyone is worried about Google screwing over their phone partners, I am betting they are working on something else entirely.

Thursday, August 18, 2011

Why all the hate for Google Motorola merger?

Is it just me or is the media really pouring sour grapes on the Google Motorola deal? I have seen more negative speculation/news on this purchase than most other deals. Is it just that it is a high profile/stakes play? I mean I understand why the Apple and Microsoft lovers would not be fans of the deal, but really? Do we need an article on the 5 ways the deal could go bad? Or speculation that while the other handset makers are saying they support the deal, in reality they are all suspicious? Because Microsoft is going to be a better partner? More secure platform? More profitable? Lower cost? Easier to customize for your customers?

When Nokia and Microsoft signed their deal most of the media thought the Nokia/Microsoft deal was a desperation move on Nokia's part and cast shadows of doubt on whether or not Microsoft had a viable platform. However when Google buys Motorola to protect themselves from litigation suddenly Microsoft's platform is somehow better? Give me a break.

Why chase the dream?

I have been having a conversation with a good friend about future plans. He is a couple of years ahead of me in experience and dropped some insight that challenged me to answer a question: Why chase the dream of owning your own business?

Growing up I was exposed to the entrepreneurial spirit. My grandfather started his own business while working full time. He ended up passing the business on to my uncle. Was it as big or profitable as the consulting company I work for? Not by a far stretch, but it employed 30-40 people each year and was a good place to work. More importantly though the business was a legacy to me and my family.

As a family we were proud of the business. We were proud of my grandfather and what he had built. My uncle took it to a new level when he took over and we were proud of that too. Pride in accomplishment of the family is what we had. I miss that feeling and that is what I am looking to achieve. I have been on this search for a while without knowing what it was that I was looking for. I knew I was looking to build something that I could call mine, but I didn't know why.

Why are you chasing your dream?