Life After the Dot-com Bubble RSS 2.0
# Monday, November 07, 2005

Have you ever seen or worked with what I term as a "wannabe coding guru" (WCG)? Well, I worked with one about a couple years back. You can tell when they are more interested in making code more complex in fewer lines. To be fair, this person knew client-side web programming (like JavaScript and DHTML) very well. Though, when it came to server-side programming, you would see him try to code C-style if statement assignments in C#. It would look something like this:

int b = 1; int c = 2; int a = 3; if(a == (b = c++) (b < (a = c - 1))) { ; }

I might be exaggerating over here, but literally, he would actually explain to me that this code would be easier to read than nesting them. Additionally, he would depend so much on side-effects (for example, if left argument of an statement is true, then the right argument won't be called) that he took about an hour being stuck on that type of code when a bug showed up. His excuse was that the way he wrote it was correct and he wouldn't budge outside this style. The bug disappeared after I separated the code into line-by-line logic.

So, what's the moral of the story? Don't try to code like this just because you think it makes you look like a better (or advanced) programmer. Do not be a WCG, it does the opposite of what you are trying to display, especially if you work with others who will have to work with your code. If you want to code correctly, please read Code Complete or Refactoring. You will see that clarity would serve you much better for you and others.

Monday, November 07, 2005 8:51:42 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] - Trackback
programming
# Friday, November 04, 2005

At a time, I believed that these two titles had the same meaning. Though, after doing some research, some difference might exist in the eyes of the United States government. In the eyes of the government, here are the definitions:

  • Computer applications software engineers analyze users’ needs and design, construct, and maintain general computer applications software or specialized utility programs.
  • Computer systems software engineers coordinate the construction and maintenance of a company’s computer systems and plan their future growth.
  • Computer programmers write, test, and maintain the detailed instructions, called programs, that computers must follow to perform their functions. They also conceive, design, and test logical structures for solving problems by computer.

Reference: U.S. Department of Labor Bureau of Labor Statistics Occupational Outlook Handbook, 2004-05 Edition

Truthfully, from the definition, it sounds like a computer programmer is just a person who just writes program without much analysis or thought. It seems that their purpose in life is just to solve a problem. The software engineer seems to base on some client's need, whether it be for a company or for a user.

Now, here's the conundrum that I have. From the description, it sounds like a software engineer would have a more challenging job than a computer programmer. Therefore, the computer programmer category should be bigger than software engineers combined. Though, based on government estimates, here are the employment statistics:

What could this mean? First, it could mean that there are more jobs that are client-oriented, which may be true. Or, my best guess, maybe there are many software engineers that should fit into the computer programmer category?

Before the dotcom crash, there were many jobs available for almost anyone who can at least use a computer and just do something. Nowadays, the number of jobs available has shrunk. Therefore, real skill is necessary for those newly-opened jobs. Though, I could only wonder how many software engineers by position were able to hold their jobs after the crash. And out of them, how many of them are skilled enough to fulfill a new position?

Friday, November 04, 2005 9:06:12 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] - Trackback
career
Categories
Archive
<December 2005>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Frank Liao
Sign In
Statistics
Total Posts: 13
This Year: 0
This Month: 0
This Week: 0
Comments: 0
Themes
Pick a theme:
All Content © 2008, Frank Liao
DasBlog theme 'Business' created by Christoph De Baene (delarou)