DiamondLime.com

 
 

Suggestions for Interviewing Web Programmers

How do you go about interviewing a web programmer to make sure that his code isn’t as rumpled as his shirt?

We’ve been hiring at Sebo Marketing, and my experience leads me to focus on four main areas when I talk to potential hires:

Four Parts of a Web Programmer Interview

  1. General Knowledge

    It’s usually a good idea to try and take stock of a candidate’s knowledge by asking some basic questions that cover a wide range of topics in web programming to test the breadth of his or her skill set. The W3Schools has quizzes for XHTML, CSS, PHP, and many other topics. These aren’t a perfect measure of someone’s knowledge, and some of the questions aren’t all that great (Like the one in the XHTML test that asks whether or not XHTML will replace HTML), but they can help you get a general idea. If your candidate misses more than 5 or 6 questions, you may need to keep looking.

  2. Specific Task Performance

    I try to give interviewees a specific task or small project that will utilize a mix of skills to solve a (limited) real-world problem. They don’t even have to finish the task—it’s useful to see how far they got and how they were going about solving the problem.

  3. Portfolio of Work

    In order to learn web programming, one must do it. There’s no escaping it. If potential hires don’t have a portfolio or aren’t willing to share it, they may never have done any real work. Even first-time hires need to code something that they can show. In my mind, a candidate’s portfolio is the most important gauge of ability in the interview.

  4. Overall Fit

    Even if a candidate can write AJAX in his sleep and is helping write the upcoming CSS3 spec, he still may not make sense as an employee for your company. If salary/wage requirements are too high or if a part-time hire can’t work the proper hours due to scheduling issues, for example, then things just won’t work out. Candidates that aren’t a good fit for your organization are hard to pass on when they are well qualified, but trying to compromise on requirements and needs so they can work for you is a dangerous thing.

You’re Hired!

If your candidate can answer general web programming questions, solves your sample task, has a portfolio of well-crafted projects, and fits well with your organization, offer him or her a job! If there are a few problem areas, see if the situation can be managed through training, trial hire periods, or lower pay. If there are lots of red flags, many missed questions, and no samples of previous work, be warned! Good luck with your interviews.

 
 

Destroy Your Site

Have you ever felt like just trashing your web site? Melting, burning, shooting, shredding, oozing? But then you realize how much work a site is and you think better of it.

Then you start to wish that you could destroy someone else’s site. Especially someone else’s site that is ugly, has invalid code, or promotes political views that just aren’t sane.

If you want to melt down your site, trash someone else’s, or simply waste some time, check out Net Disaster.

Here’s what happened when I took a machine gun to my site:

Web site shoot 'em up
 
 

Buying a House

My wife and I have been looking for a house to buy intensively in the last month. Most of my free time has shifted away from my site and over to house-related tasks.

We were really close on one deal—we made an offer on a duplex that was accepted. We were within 2 days of closing when the deal fell apart. We were out a good chunk of change and a lot of time from this, and we were kind of discouraged about the prospects of actually finding anything we’d like to live in at a price we could afford. It’s been super hard for me to stay motivated to write blog posts when I have been so busy, etc. Excuses, excuses, I know.

It Was Worth It

We finally looked into building a house, and we started looking at communities in our price range. There weren’t a whole lot of them, but there were some good options. We finally picked a community being constructed by Fieldstone. We’re building a house! It will be almost 2,000 sq. ft. with 3 bedrooms and 2.5 baths. The construction timeline is really loose at this point—it could take anywhere from 6-12 months to finish. That’s ok with us because we’re stilling doing pretty well in our apartment, and our financial situation will only get better the longer we wait. If we get to move in sooner, we’ll be happy because we’ll have a brand new house to live in.

Now that the pressures of looking for homes, filling out applications, etc., are easing up, I hope to get back to my web site again. No guarantees, but I am excited about working on it again and I have some good content coming up soon.

 
 

Happy 2nd Birthday DiamondLime!

DiamondLime is two years old today. Happy Birthday!

Birthday Cake!

I haven’t posted as much in the last year as I did the year before, but I have managed to make (in my opinion) quality posts. I also managed to keep posting through some busy stretches at work and the birth of my second child, Lucy. I know, there are plenty of people who write higher-quality posts more frequently through a lot more adversity than I have had, but who’s comparing blogs? I’m glad mine has survived.

As for the coming year, I don’t think I will make any promises, but I can say that I will keep writing and that I have some fun ideas for where this site can go.

Thanks to all of you (both of you?) who read my blog. Stick around for another fun year!

 
 

New Sebo Marketing Site

We’ve released a new version of SeboMarketing.com!

Old Site

The old version of SeboMarketing.com had a number of problems with it. Many of these problems fell into “The cobbler’s children have no shoes” category—as Internet marketers, we know better than to make some of the mistakes that were being made, but we’ve been so focused on our clients’ sites that we neglected our own.

Table-based Layout, Invalid HTML

Our site was put together with a dated version of DreamWeaver, and so the layout was based on a series of nested tables and the HTML was awful. The use of CSS was limited, and the code was bloated and full of presentational elements and markup.

Too Little, Stagnant Content

The overall size of the site was less than 30 pages. The content hadn’t been updated to show some of our new clients, any news from Sebo Marketing, or even new copyright dates.

Insufficient Navigation

Perhaps the greatest sin for a site that is meant to have a clear conversion path and to present Sebo Marketing in a good light is the fact that its navigation was confusing and inadequate. It was difficult to find the client bios or case studies that had been placed on the site, and it was nearly impossible to know what part of the site you were on.

New Site

The new version of SeboMarketing.com is much improved over its predecessor. Besides a visual update, we have made the following improvements:

Valid HTML, CSS Layout

Because it’s a new site, there are probably some few mistakes left lurking in the HTML of the site, but overall SeboMarketing.com is now 98% valid. The layout and presentation have been effectively separated with the use of stylesheets. Maintenance and the next visual update to the site should be a breeze.

Updated Content

We updated and added a lot of content. We have all of our clients whose sites we’ve completed listed, and we have case studies to show the success we’ve had since we last updated our site. We’ve also posted some informational articles about different aspects of Internet marketing.

Clear Navigation

The navigation on the site is leaps and bounds better. A more complete list of options is presented, and a highlighting scheme for showing the visitor where they are on the site has been put in place.

Additional Credibility

Finally, since we last updated our site, Sebo Marketing has been recognized as an Adwords Qualified Company by Google. Pay Per Click advertising is an important facet of our service offerings, and being an Adwords Qualified Company strengthens the trust that our clients, both current and potential, can have in us.

In conclusion, we’re happy with our new site, and we’d love to have you come take a look sometime.

 
 

Do You “Get” It?

Or are you like me?

I had a recent experience where I didn’t get what I needed to understand, and I didn’t even know what I needed to know. It was one of those situations where my lack of experience was so profound that I couldn’t even possibly be expected to understand what I didn’t know or to discover it without being told.

What They Don’t Teach You In School…

There are two things that I didn’t learn in school that life had to teach me in other ways. First, school teaches us so much about success and avoiding failure that we don’t know how to make, and recover from, mistakes. Risk taking and risk management is not encouraged or taught. Innovation isn’t encouraged or rewarded, either. In fact, if you don’t follow the prescribed system, you get punished, and there is no reward for exceeding expectations. All this changes when you’re not in school. Risk management is a vital skill, and innovation is hopefully seen as a good thing and rewarded.

The other thing that really cannot be learned in school is what things are like in a real-world, full-time, non-internship, graduated work environment. This is where I had some shortcomings lately. I had some inaccurate expectations of what my work environment would be like, and because I have not been graduated and employed long enough to have experience with this situation, there was no way I could know. This problem for new graduates is universal enough that my current employer has previously avoided hiring fresh graduates, preferring that they learn their first lessons somewhere else.

Getting It

So I spent the last two weeks recovering from some mistakes I made and learning some lessons I had to learn at some point as a new (almost a year ago) graduate. Don’t get frustrated when you run into situations like mine—much of the time, you can’t even be expected to know any better, and we all have to learn to recover from mistakes. Just focus on mitigating and repairing damage and learning your lesson correctly the first time so that you can move on to your next set of challenges.

 
 

Urgent - Back Up Your Data!

Computers are very interesting things. They can save us tons of time and increase our capacity and productivity, but because we rely on them so much, when they fail, things get scary.

I have wanted to back up my system or get a new one so I can protect my data for months now, but I have also been doing my best to save money and use my time for what’s most important, which means that buying a new machine or spending time doing extensive backups hasn’t happened. Yesterday evening, I came home from work to find my laptop in the flaming throes of death, like someone had thrown a grenade in the internals. Actually, it just wouldn’t boot to Windows. I feared that all my data was gone. I panicked inside—months and months of lost data and photos.

My laptop has always run very hot. Unknown to me, as it has gotten older, the fan has made the exact same noise but has been pushing less air, which means that my laptop has gotten ever-so-gradually hotter over the last 3 years. Finally, the heat has caused something to fail.

The first thing I did was to very cautiously step through some repair routines and a repair installation of Windows. I repaired or ruled out the system files or the hard drive as culprits. I finally went in to my BIOS to check some settings, and there was the sign that told me what was wrong: 191 MB of RAM. My computer had 256. The memory melted. Hopefully, I can get the computer to boot with a borrowed RAM chip so I can back up all my data. I’m also biting the bullet to buy a new, more reliable machine.

Backups Are Important. Do Them.

Backups are expensive, in time and/or money. But you need to do them. Computers can fail at any time, without warning. My computer had been running well enough for a long time, and then out of nowhere the RAM goes bad and a system file or two gets corrupted. Back up your data to at least one source, preferably off-site. Do it often. Backup your web sites, too—hosting companies have problems, too, even with redundant capacity and emergency equipment. You can’t afford to lose your data.

 
 

Goals for DiamondLime

I think that most people are more motivated to finish their goals if those goals are made public and are based on financial costs that have already been incurred—I don’t want to look foolish and I don’t want my money to go to waste. Understanding that many people, including me, operate this way, I am going to make some of my goals for DiamondLime public.

Interestingly enough, this may be the first time I have formally gone through the process of setting goals for DiamondLime. I have written many to-do lists for DiamondLime, but those lists contained mostly simple, fix-it kind of items and were designed to keep my site from being embarrassing and broken. It’s now time to establish this site’s direction and objectives more concretely (whether or not I have succeeded in making the site unembarrassing and functional!).

DiamondLime Goals for 2007

  1. Pay for Itself

    This is the big goal for the year—I would like DiamondLime to generate enough affiliate/ad revenue to pay for the costs of hosting the site.

  2. Write an Internet Marketing Ebook

    The whole purpose of DiamondLime is to help me and others learn and share more about Internet marketing, web design, and business. I think preparing an ebook about marketing on the Web would help me to make solid, quantifiable progress in this direction. However, this ebook doesn’t need to be 600 pages long, wax your car, and cook dinner. My goal is to write 50 pages of solid content, or one page a week.

  3. Write a Web Design Ebook

    Again, I’m going to shoot for a modest ebook here—about 50 pages, or one a week.

  4. Get 15,000 Visitors

    This works out to an average of 1,250 visitors a month. I currently get approximately 600 a month, so this will be quite a stretch - I will need to triple my traffic by the end of the year to reach this goal.

  5. Update the BYU Blog and Web Site Directory

    Many of the listings in the directory are out of date—I’m pretty sure many of the students have graduated—and it’s time to add some new listings. I will set a modest goal of adding 20 listings this year.

So those are my goals for DiamondLime this year. I feel like I am going to have to stretch to reach these goals, but that’s what goals are for—to compel and aid us in achieving greater things than we normally would otherwise. Hopefully DiamondLime will become more than it would have without these goals.

 
 

Merry Christmas and Happy New Year

I hope that everyone had a great Christmas, and I wish you all a Happy New Year!

I love Christmas—I appreciate the extra focus on the Savior of the World, Jesus Christ. I like the chance to spend extra time with family and friends. I love the meaningful and enjoyable traditions. I also really like having a stay-at-home vacation—time off but not time away from familiar places.

New Year’s is great too. I like the chance to examine my life and make resolutions, even though I don’t keep all of them. The act of examining myself periodically really helps me to understand where I’m at and especially where I’m going. The end of one year and the beginning of the next provides us all with an incentive to “right the ship.”

Brain Dump

One of my favorite ways to go about setting a course for my life is what I like to call a “brain dump”—rapidly “pouring” the contents of your brain onto paper. I sit down with several sheets of paper and write down everything I can think of that I would like to do, see, or achieve in my life, especially focusing on, but not limited to, the new year.

After I’ve spent what feels like a good amount of time doing this, I categorize my ideas. The categories that my goals and plans usually fall into include spiritual, exercise, creative/talent, financial, educational, and recreational areas. Once most of my ideas have been categorized, I like to prioritize what I have. During the year, I work on the top priorities, and that way when I don’t finish by the end of the year, I know that I have achieved what was most important to me. While I’m prioritizing, I copy over goals from last year that didn’t get done and that are still worth doing and I assign them new priorities (whether higher or lower)

I usually flesh out some of my ideas at this point—I think scheduling, required resources, price, and whatever detail I feel is important and that I might forget later. This phase is really a work in progress, too—the most immediate tasks usually get worked on first. This step is super important to me—it removes many of the unknowns and breaks my large goals into managable pieces.

Another New Year

I’m excited for 2007. I hope we can all make it a great year to remember. Enjoy the celebrations, and stick to those resolutions!

 
 

Employee Contributions and Compensation

One of the hardest things to do in many companies is to measure employee contributions.

For example, in a company that values innovation and creates tools, processes, or software for speeding up production or services, the flashes of inspiration that employees have while showering, eating, running, tinkering, or engaging in other unrelated activities can be hard to measure and compensate correctly. That 30 seconds of pure inspiration and creativity can be worth more than weeks or months of nose-to-the-grindstone labor.

At the same time, innovative new ideas don’t mean much without a great implementation. Sometimes the work that needs to be done is simply lots of basic tasks where quantity and diligence are key.

So how can you motivate employees to focus on the right activities? How do you quantify employee contributions? How can you compensate them fairly?

The Right Activities

For a company to succeed, there needs to be a good mix of innovation and execution. If employees work longer hours, they show dedication and will produce more of the results you have been getting. Activities that inspire innovation can lead to the breakthroughs that change the rules of the game and allow you to execute a new, more productive plan. If working too many hours begins to get in the way of activities that promote innovation, then you may be missing out on breakthroughs. If all of your time is spent on innovation, you will have lots of new ways to do things, but those tasks won’t be getting done.

Quantifying Contributions

Unfortunately, quantifying employee contributions is very difficult. Exactly how much is an innovative idea worth? Estimates of time saved, quality improved, and extra value added are a good place to start.

Fair Compensation

Employers, knowingly or not, dramatically influence the balance that their employees will choose. If compensation is based exclusively on face-time or clocked-in hours, then employees will give you more hours or balk at the shift in their work-life balance and the loss of free, creative time. If rewards are overly biased towards innovation, there will be too many ideas and too little consensus and execution. Compensation should be mixed to reward both types of behavior. Salaries, benefits, and working conditions are best for rewarding consistent production and face time. Stock options and profit sharing are great ways to reward employees in some kind of fair, flexible way for how much their innovations affect the bottom line.

Contribution Culture

The culture of a company can have a big influence on how employees behave. 3M is famous for requiring its employees to spend 20% of their time on non-project related activities—innovating in search of the next big thing. If innovation and employee development are important, then part of normal work hours should be devoted to these activities. At the very least, project hours shouldn’t be allowed to infringe upon innovation time or the activities that help employees innovate. Employees usually understand the need to put in regular hours in order to get fundamental work done. Encouraging, quantifying, and compensating innovation is the hard part to managing and developing employees and quite possibly the most important to your long-term success.