Reflection Requires that you Ask Yourself the Right Questions

We live in a society that tries to convince us that we need to constantly work on our weaknesses. I’m of the belief that we should always be getting better…but focusing on where we do not succeed is not the best way of doing this. In fact, taken literally, this is clearly the fastest way in working yourself out of a job!

Let’s take a look at a freelancer who we rate among the different skills and abilities. The scale is based from 1-10. A rating of ten is the best in that specific field (compared to the best), and a one is the worst in that field.

.Net Programming: 2
PHP Programming: 2
Javascript Programming: 2
Graphic Design: 6
Communication: 5
Reliability: 6

Now I understand this is a simplified way of breaking down different skills, and you can break this up differently. I also understand that there are times when new systems need to be learned in order to meet projects with hard deadlines. But these should be exceptions.

What should this person spend the most time improving?

  • This person needs to decide whether they are going to be a programmer or a graphic designer. They are better at graphic design, and so I would encourage them to focus on getting better at this over their programming skills.
  • I would then recommend they work on communication and reliability…both are very important in any job.

So how would this person handle the programming aspect of their job? I would recommend they either outsource to other freelance programmers, or communicate with any new clients that their focus is on graphic design, and they will need to find programmers to do handle that part of the project.

This not only benefits the freelancer, but it also benefits the client:

  1. The client ends up getting a better product because you are doing what you do best, and other people are doing what they do best. This ultimately makes you look better.
  2. Your weaknesses are not dragging you down. You will be able to more accurately estimate your time and can be more competitive and profitable with your pricing.
  3. This allows you to become an expert in your field. If the person tried to be the best at both programming and graphic design, the best they can hope for is to be “good” at both of them. But ultimately it is the people who are better than “good” in an area that end up making the most money and progressing much more quickly.
  4. From a client perspective, if they want the best project possible for the money they are paying, they want the best people to work on their projects….not the people who are “good” at everything.

Let’s look at this further. If you were getting a major surgery done, would you want a general practice doctor who is “good” at many different medical fields, or would you want a specialized surgeon?

I know at certain companies (especially smaller companies), they like to shape their staff into being very “well rounded”. This is a mistake because it slows the progression of the company in having people work on things they are very inefficient at. Estimating on projects where you don’t have any programmers who know a language very well is one example of this. I also see a lot of freelancers take on anything that comes in, and end up having huge issues with the code, because they do not know it very well and they underestimate their time.

In my case, I would rate my skills as the following:

PHP Programming: 8
Javascript Programming: 4
Graphic Design: 2
Server Administration: 3
Communication: 8
Reliability: 9

My focus is on PHP programming, communication and reliability. I find that I know enough about Javascript to work with it, but usually I just need to find open source code and implement systems that were already created (using JQuery, for example). I can work with graphical programs (Photoshop and Fireworks), but I cannot do anything that requires creating new graphics or any kind of creative editing. I can work with CSS and implement most changes without a problem. I know enough about basic server commands to work with SSH on a server and to work with SVN and MySQL.

If you ask me to do graphical work that is outside a basic level in working with the software, I will respectively decline the work. The same goes for working with a server from an intermediate/advanced level.

Some companies or people may look down on you for being so “narrow minded”. But don’t let this take you down the destructive path of well roundedness! 🙂

“Enter through the narrow gate. For wide is the gate and broad is the road that leads to destruction, and many enter through it. But small is the gate and narrow the road that leads to life, and only a few find it.” – Matthew 7:13-14


3 thoughts on “Reflection Requires that you Ask Yourself the Right Questions

  1. Long time no see Chris! Glad to have you back.

    This goes well with the economic idea of comparative advantage.

    However, despite how much sense this makes and how even my views of economics concur, I can’t really manage myself to specialize yet. I enjoy graphic design too much to go without, though I do enjoy programming more. I’ve outsourced to a friend once for graphic design, and it worked great! She got some much needed money, and my net rate increased drastically. Although I’d like to do it again, I’d also like to know that if I need to do something with graphics on my own, I can still handle it.


  2. The backpacking season has pulled me in! 🙂 I probably won’t get back to posting more regularly until the fall.

    There is a point where we need enough knowledge that relates to our field before we can specialize, and sometimes it is wise to go out of our comfort zone and tackle things that we don’t know too much about on occasion. But in my opinion, this should not be a long term plan of attack.

    In my personal experience, I’ve seen guys who claimed to be both a programmer and a graphic designer, and in every case there always seemed to be a lack of “edge” in the work they did. This usually happens with graphic designers who claim to be programmers. They usually can hack away at code, but when they encounter an issue that is not basic, it takes them a lot of time to come up with another hack that fixes the symptom instead of the problem (so you end up with horrible code).

    Thanks for sharing your experience!


  3. Hi, I’m very interested in Linux but Im a Super Newbie and I’m having trouble deciding on the right distribution for me (Havent you heard this a million times?) anyway here is my problem, I need a distribution that can switch between reading and writing in English and Japanese (Japanese Language Support) with out restarting the operating system.


Comments are closed.