Killing The Certification Debate

July 10th, 2007 - Charles

There have been a number of people discussing when,how, and if certifications should play a more integral role in the software development industry. The problem is that candidates and employers have disimilar goals. A candidate wants exclusivity while an employer wants a pool of competent potential candidates to choose from.
If we look at the issue carefully, we can see there is no ‘right’ answer and the the whole thing can be put to bed.
(more…)

Tags: ,
Read More

Unbuffered result sets in MySQL? I must have been last to know…

July 8th, 2007 - Charles

Peter Zaitsev over at MySQL Performance Blog has a post entitled PHP Large Result Sets and Summary Tables. This post completely caught me by surprise because (embarrassingly enough) I had no idea you could use unbuffered result sets with mysql and mysqli.
(more…)

Tags: , ,
Read More

The Four Major Benefits of MySQLi

June 15th, 2007 - Charles

A coworker and I were discussing the benefits and drawbacks of mysqli this week. I found it to be very convenient timing considering all the talk on the blogosphere about mysql vs mysqli.
There still seems to be a lot of confusion over the differences between the two extensions despite the length of time that mysqli has been in the wild. I wanted to briefly review the four major benefits of mysqli.

(more…)

Tags:
Read More

5 (+3) tips to increase web application usability

May 23rd, 2007 - Charles

Coding Horror posted an article about User interface that was based on a interface usability post by Tantek Çelik.
Between the two posts, the clouds parted and I was struck square in the face with an epiphany. The way I view interfaces has changed for the better. I have come up with 5 of my own items to extend Tantek’s line of thought.
(more…)

Tags: ,
Read More

Where is Security 3.0 ?

May 18th, 2007 - Charles

As people push their applications to be more ‘web 2.0′ and look towards the potential future ‘web 3.0′ (semantic web), I wonder who is considering the security aspects of such a move? Every day we pave the way to the semantic web with Microformats, Social tagging, collaborative content, mash ups, and public APIs. Every day we also hear rally cries for increased privacy and protection from Big Brother and the Evil Corporations™. At the moment, I don’t think we can have it both ways without some serious effort in the near future.
(more…)

Tags: , , ,
Read More

10 web application security tips you should already know

May 1st, 2007 - Charles

I have been meaning to write a web security post and Ilya Grigorik has inspired me with the post “Web Security With Ingress Filtering”. Ilya lists some solid points for protecting your web application. Here are some fundamental points that continue to crop up all the time. If you know them: Congratulations, you are ahead of the game.

(more…)

Tags: , ,
Read More

Select all checkboxes in Javascript dynamically

April 25th, 2007 - Charles

I was looking at a post entitled Top 10 custom JavaScript functions, and I noticed Dustin talking about the various incarnations of getElementByClass(). I know this function has been around forever, but something triggered in my head and I used it to rewrite the ancient javascript checkbox selector I had (which was not class based). There is nothing original about the rewrite, but there doesn’t seem to be a place to grab something like this off the net if you wanted to avoid writing it by hand.
(more…)

Tags: , ,
Read More

8 reasons why you SHOULD track every bug

April 23rd, 2007 - Charles

The times when you shouldn’t track bugs formally are so few that there shouldn’t even be a debate on the topic. As developers, the tracking of bugs is one of those things that you need to encourage whole heartedly. There are more uses for bug tracking than you would think. Keeping bug tracking as a glorified to-do list puts you at a loss. I have 8 good reasons why everyone should have some sort of tracking system.

(more…)

Tags: ,
Read More

Bullpen to Boardroom: The CIO Perspective on Software Development

April 20th, 2007 - Charles

Today, I am privileged to interview JT Koffenberger of Delmarva Group and CIO Podcast.
JT is a consulting CIO for my company who is tasked with redesigning IT to more efficiently meet the needs of a rapidly growing business. JT is currently restructuring the IT department to fulfill a larger role in software development as the business responds to growing customer demand.
Because of JT’s significant experience on both sides of the development “fence”, he has valuable knowledge to share with developers who are looking to understand the management point of view.
JT has agreed to answer some questions regarding software development as a career, what it takes to gain the attention of prospective employers, and offer up some insight from someone who has “been there”.

(more…)

Tags: , , ,
Read More

4 (+6) Tips for Being a Good Programmer

April 17th, 2007 - Charles

The Codist has an article today entitled, “So You Want To Become A Programmer“.
The post has 6 solid entries for getting a person imbued in the programming culture, and landing the first job. If these sort of tips interest you, I strongly suggest you give it a read. I humbly offer my own additions to the list:

7) Code cleanly
This could be an amendment to #4 . Writing clean code can give you a distinct edge if you are lacking experience.
There are so many people that write spaghetti code with the one letter variables, and 100+ line functions who brute force their way into the profession through sheer problem solving ability and force of will. When you apply for an entry level position, you are often applying for the ability to mentor with a senior developer, or a team of developers. They would rather have a “clean slate” with no bad habits, than a hot shot problem solver who writes in their own dialect.

8) Learn development methodologies
This one is two fold:

  1. Even if you are a solo developer, you are never coding alone. Part of being a professional programmer is insuring that when you get hit by a bus, the application doesn’t go with you. You need to learn what is expected of a good application, and what your future project leads or maintainers would like to see.
  2. Learning development methodologies is also a good idea because it will give you a better idea how to interact with a team of developers. Lone coders are a dime a dozen. If you know how to play nicely in the sandbox, you will be more attractive to potential employers. A team can’t rearrange itself to fit your quirks. Showing that you understand when and how to communicate, and an idea of the many phases of development will lower any risk associated with your employment.

9) Learn to love over-time.
If you program, you are going to be lucky to have a 40 hour week. Yet, You are probably going to be paid for 40 hours of work as a salaried employee. You need to come to grips with that fact. Few people -enjoy- working and not getting paid for it, but is going to happen. On top of that, you have selected one of the most fluctuating fields out there. It is on your time, and your dime to keep pace with emerging technologies. This is one aspect that separates a good programmer from a great programmer.

10) Get the job done
The previous points have been about doing your job well. This point is about WHEN you do your job.
All businesses and project owners operate under deadline. If you accept a project with a deadline, you need to follow through. Even if you accepted something with a ludicrous date, the deed is already done. This point ties to #9.When you accept any deadline, it is your responsibility to see it through (regardless of the time it takes). When you follow through on deadlines with clean code, you increase your trustworthiness, your reputation, and your value as an employee. You want to be the goto person and in demand. If you consistently getting low balled with deadlines, you need to assess your situation:

  1. Are you estimating your due dates correctly? Do you have a good methodology for estimating man hours?
  2. Have you educated your project owner about cutting corners? Have you given real world examples of how deviating from procedures can impact the bottom line?
  3. If you feel you have sufficiently addressed the first two items, it is not out of the realm of possibility that you are being taken advantage of. At least you get a clear signal that the current position is not a good fit.
Tags: , ,
Read More