DEV Community

Discussion on: 7 Ranks of Coderhood: Coder, Programmer, Computer Scientist, Developer, Engineer, Architect

 
lpasqualis profile image
Lorenzo Pasqualis

I covered this in the post, but software engineering is not just about programming. Software architecture is also not just about programming. Programming is part of it, but it is not the same thing.

The terms describe exactly what they describe, and that is not programming.

That's why, in my view, they are levels on a path, like belts in a martial art.

What a black belt can do and understands is not the same as what a yellow belt studies. It is not "more of the same", it is "more and different."

Many people who code can't architect systems. Many people who code also cannot engineer systems. The confusion stems from using programming and those other terms interchangeably. The entire premise of the post is to differentiate between the terms, which mean different things and describe different levels on a path.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

To be honest, I hadn't caught that the first time around, but I can see now that's the point your making. And, once again, I would have to disagree. To place them in a continuum would somehow suggest that a programmer must become a "computer scientist" (algorithmic mathematician), and must become a software architect, etc etc, to progress in career.

Yet Donald Knuth, who is regarded as one of the greatest programmers and mathematicians in computer science history wasn't a "systems architect", and yet he was far more skilled in the computer industry than most systems architects ever will be. You'll find the same true of many other greats. Meanwhile, some of those greats do not have degrees in computer science, and quite a few people with CS degrees aren't half as skilled as many peers with no degrees.

So, in short, I'd say that to place these differing fields on the same continuum is missing the point; it's like saying that a sculptor is more advanced than a painter, and therefore a painter must become a sculptor to move up in career. Clearly, that is not the case - painting and sculpting are different, but they are in no way inferior or superior to one another.

But, if you were to stop short of blurring entirely different branches of study into one continuum, and focus purely on one's skill in software development, you'd be onto something.

Thread Thread
 
lpasqualis profile image
Lorenzo Pasqualis • Edited

Programmer is before computer scientist, so no... a programmer does not have to be a computer scientist. At all. In the post I also talked about how many people stop at Programmer, and have fine careers. Sometimes great careers.

I knew that a 3000 words post would not be read completely by lots of people. Oh well.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Well, yes, I saw that part. The problem is, if we were to equate this to levels of marshal arts, the problem remains that Donald Knuth, Alan Kay, and many other true black-belts would get relegated to a lower level, below people they can code circles around. See my issue?

Thread Thread
 
lpasqualis profile image
Lorenzo Pasqualis

Martial arts (not marshal).

You don't have to be a black belt in martial arts to kick a win a fight against a black belt. That is a fallacy. There are masters of martial arts in their 90's who don't have a chance against strong and much younger athletes. That's why the analogy works so well.

Lots of people become masters of their niche and don't need to progress past it to have an amazing career. Donald Knuth is a master computer scientist and programmer. I am not sure what is the point you are contending. You call that "true black belt," but what does that mean? In many schools of martial arts, if you don't study certain Katas and other things, it doesn't matter if you are a super strong fighter. To get a new belt you need to master certain skills.

Does he also possess the skills that I described for Software Engineers and Software Architects? If not, then in my book he is not a "black belt," even if he can run circles in programming and computer science theory around people who I define as architects.

Anyway, I think I described a model in the post and I also made it clear that I expect some people to disagree. I am happy to see that I was right on that one at least :)

Thread Thread
 
codemouse92 profile image
Jason C. McDonald

Well, I can appreciate your perspective, even if I don't agree with it.