Popularity
Jul 30, 2009 Thoughts
I’ve said it before and I’ll say it again, blogging is hard (for me anyway). I’ve read a lot of articles about blogging and how hard it is to make a living as a blogger and all the tips and tricks and guidelines to make it work. I don’t worry about it too much because honestly I didn’t ever hope that I’d be able to quit my day job because of this blog.
I follow a lot of different blogs, and I was recently noticing that one blog in particular – not going to name names – has not posted a single thing this whole year (which is particularly annoying because there is no RSS feed so I have to manually go check the site for new posts). Looking a little further I saw that there were only 3 posts in 2008, 5 in 2007, 4 in 2006, 8 in 2005 and 18 in 2004. In 2003 there were 34 posts, which is a more “acceptable” level of posts by blogging standards, but even that many is less than 1 per week and that was over 5 years ago! The blog in question is still considered to be pretty popular and even scored the owner a book deal and corresponding book tour. So how is it that a blog with such a shoddy track record became so popular? My guess is that it’s just plain dumb luck. Someone in the right place at the right time by pure coincidence. I was watching an interview with a software developer recently where attributing his success he says he “stumbled into a big steaming pile of gold”. I think that sums it up nicely.
I know there are bloggers out there that really work at what they do, and there are also those who really work at it AND have a bit of luck to kick them up the ranks. Then there’s me, who doesn’t really do either of those. But I’ve got the making a few sporadic posts per year part down, so I’m ready for the dumb luck and a book deal part. Who am I kidding, I don’t have enough to say to fill up a book. At least there’s no pressure on me to blog more often.
Learning Curve
I really enjoy learning new things. I often miss the good old days of attending classes at the university, and even now I would still love to go back and take more classes just for the sake of broadening my knowledge. If only I could avoid taking exams and the astronomical cost of tuition. So it appears that for now I am stuck learning things on my own and attending the occasional seminar/webinar when possible.
The challenge with learning things on your own is discovering where the good knowledge is. In some cases there may be dozens of books pertaining to a certain subject and determining which one to invest your time in is a challenge. In other cases there may be very little information available and when just finding the information is a challenge it is hard to be picky about the quality. There is no mentor telling you what you really need to know, and the material may not be presented in the most organized manner (though I can’t honestly say that not all of my university courses met that criteria!).
In my latest endeavor, I had to start from the ground up. Learning a new language, using new hardware, minimal public documentation/tutorials (but that is steadily getting better) etc. I wasn’t doing this just for the sake of learning something new, I actually had a few projects in mind that I wanted to accomplish. I’d say that the learning curve has been a little more than I expected, and it is always frustrating to know enough to know that if you knew what you were doing already you could accomplish your task in a fraction of the time. I’m going to stick with it though, because the more I do the more sense it makes, and I’m almost done with my first project (don’t worry, I’m sure I’ll announce it here when it’s done). It isn’t as flashy as I would like and doesn’t have all the features I had planned, but those will fit nicely in the next version. For now I’m just looking forward to my next project!
The Right Language
They say that when you are choosing which programming language to use for a job, you should pick the one that is best for the job, not the one that is your favorite, or the one that you are the most familiar with. I agree with this idea in theory, but I’ve found that in the real world the “right” language is not always so easy to determine.
There was a time when I would have said that C++ was the answer for everything. Admittedly, that was not only my lack of experience talking, but also the fact that C++ was the only language I knew.
Truth is, the language that is “best for the job” is subjective. Some would say the best language is the one that best fits the requirements of the project, or that is the most efficient, or both. I would agree with both of those statements. However, what if the language that best fits the needs of the project and is the most efficient is an obscure language that no one on the team is familiar with and deadlines or other projects don’t allow time for the necessary learning curve? Isn’t getting the job done on time part of the requirements? If there is another widely known language that is a close second, shouldn’t it be considered? I can assure you that the ability to maintain the project after all of the original programmers are gone should be part of the requirements of every project.
There will always be the elitists, who say for whatever reason that their language is the best, end of discussion. While their suggestion may, in fact, be the best “technically”, it may still not be the best when taking into account all of the other non-technical requirements. And their stubbornness and rigidity is certainly not making them any friends in the office, of course the true elitist is either unaware of that fact, or proudly considers it part of the price to be paid to be a “leader”.
In software, there are a lot of ways to accomplish the same thing, so don’t be the close-minded jerk that thinks he/she is smarter than everyone else and the only one capable of coming up with an acceptable solution.
All sides need to be heard and evaluated. Only then can the “right” decision be made.