Many years ago in my previous life as an instructor of 3D animation, I noticed a trend. A high percentage of my students were obsessed with getting the latest version of the software we were using. This obsession in seeking out the absolute latest version -- and, in theory, the best possible -- often overpowered their desire to build their animation skills.
"Oh man, I need version 6. The new curve smoothing system will help so much."
These are the type of comments I would hear every day. On their own, they seem fairly harmless. They even seem wise. Who wouldn't recommend using a more powerful tool? However, I came to realize that people were perpetually skirting the periphery of a skill, instead of just sitting down and putting in the hard work to develop that skill. It seemed almost as though learning the lingo, shortcomings, and features of each piece of software would inflate people's feeling of being knowledgeable in that area. I would hear my students say, "I'm learning 3D animation," but really they were just learning the feature lists of each package, so they could carry on a discussion. They were never doing this intentionally, but it was happening.
I've started calling it "surfing the learning curve," and I've noticed it in several different areas since then. Here are a few examples.
Surfing the learning curve.
3D printing/manufacturing at home
"What is the best software for making my objects?"
Do you want to use some CAD system? Maybe an organic modeling suite? You'll probably get all the answers you need within the first 24 hours of deciding you want to begin making objects. After that point, any more searching, trading, and discussing is just robbing you of precious time that you could have spent climbing the learning curve enough to get to your desired outcome.
Hardware development systems
"Which Arduino should I use for my project?"
The hard fact is that, if you're having to ask this question, you're probably just starting out. The chances are, any of them will work for you at this point. What is more important is that you just grab one and actually make something. At some point, you may find that you are limited by the hardware, but you'll have built enough skill to really know that you're limited. Not only that, but you will have gained enough experience to make a better choice.
The same thing goes for the software-side development platforms. I've seen people jump from system to system, always trying to use the latest trend, instead of buckling down and becoming a skilled programmer on a single system. New shiny things won't necessarily make you any better. You have to earn it. If you can program in something and actually program well, it will most likely carry over to whatever the latest cloud-based thing you stumble onto is, should you need to move to that system.
"The new version has 3D modeling. I need that before I can begin designing my widgets."
Yep, that new version looks really cool. Nope, you don't need it. You need to fully comprehend the concept and construction of your object and stop worrying about the fancy new tool to do that. You can do it in 2D just fine.
"That one includes 3d visualization. I better switch to it."
"I should switch to that package. It is cloud based."
There are so many EDA packages that you could surf the learning curve forever. You could be constantly figuring out a new interface in the hopes that it will make you a better designer. Cloud-based interfaces, extensive customizable part lists, fancy simulation features, BOMs linked to retailers -- the list goes on and on.
Again, these statements can stand on their own as being completely logical. You might read these and say, "Hey, those are useful features." They are. That is why the companies keep adding them. However, the point here is that many people get stuck in the neverending deluge of fancy new features. If you're a skilled engineer, you can just as easily sit down at a fancy new package and make a long list of the bells and whistles that you have never, ever needed.
You probably should do a little research before deciding what software you will use, but at some point, you need to make a decision and put in the time and effort to develop skill. A shiny new version will appear, and a competitor will tout a feature that is most likely quite enticing. These things simply will not make you better. They are distractions from accomplishing your goals. If you don't buckle down and develop your skill, you'll be stuck perpetually climbing the learning curve of a new interface. Once you're higher up, you'll have a much better view to make decisions.
Don't be a learning curve surfer.
— Caleb Kraft, Chief Community Editor, EE Times
For more projects that engineers are passionate about, be sure to check out EE Life daily.