DEV Community

The Price Developers Pay for Loving Their Tools Too Much

Brian Rinaldi on March 01, 2023

Developers are passionate their tools. This is totally understandable. They invest years of learning into them. Their livelihoods depend on their e...
Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

Having started in the mid 90ies, I saw countless tools rise and fall. From Perl to PHP, VBScript, XSLT, XHTML, WAP/WML, Dreamweaver, Flash, Java Applets, and many more. It's simple: learn the fundamentals, watch where things are going and pick your tools. But be aware things will soon be different anyways.

Collapse
 
jannisdev profile image
Jannis

I wouldn't say PHP fell. It got a pretty bad reputation when it was around version 4-5 I guess. But today it's widely used and not as bad anymore as everyone thinks.

I used to completely avoid PHP at all costs but now I had to work with it at work and I began to really like and understand it.

Collapse
 
cubiclesocial profile image
cubiclesocial

Yup. PHP can do all kinds of things, especially CLI. The ecosystem is still very much alive and kicking. In the dynamic web server language universe, PHP still commands 77 to 79% global Internet marketshare as of 2023:

w3techs.com/technologies/overview/...

With PHP CLI, we can build useful system services that start up at system boot, powerful command-line tools to do things like modify Windows EXEs and DLLs, create cross-platform, installable software applications, and much more in PHP.

PHP CLI also has excellent "startup-to-first-line-executed" performance and generally uses very few system resources, which is kind of expected for a FastCGI-first language.

Overall, there's a lot more churn that happens in scripting languages than compiled system languages. C and C++ have been around for quite a while and while Rust is the new hotness, C and C++ are extremely unlikely to go away anytime in the next few decades or change dramatically because, for better or worse, there are hundreds of millions of lines of code written in those two languages.

Collapse
 
syeo66 profile image
Red Ochsenbein (he/him)

Actually I wasn't trying to say PHP fell. It's more like I saw the transition from Perl/cgi-bin to PHP. I still think PHP is unbeaten when it comes to ease of deployment. Just get any shared hosting, deploy your PHP scripts. Done. I'm pretty sure most PHP developers still run circles around most Javascript Fullstack (or any other) developers there.

Thread Thread
 
jannisdev profile image
Jannis

Oh okay then I understood your message wrong. In that case we have the same opinion.
I started with JS and did only that for around 4 years. I was always kind of "anti-PHP" but then I started using it I really liked it and saw what some JS frameworks definitely lack of. (Like the massive structure of Laravel and the whole ecosystem)

Collapse
 
remotesynth profile image
Brian Rinaldi

💯

Collapse
 
droidmakk profile image
Afroze Kabeer Khan. M

life of a developer.

Collapse
 
jwp profile image
John Peters

Good advilce. Here's what I learned over the years.

  1. Ultimately companies will throw their adopters under the bus for staying on the cutting edge. Microsoft is king here in that they must have at least 5 huge projects that died because someone else other than the adopters made the decision

  2. Be extremely careful to adopt anything new. It takes about 6 months to become a SME but if the tech dies in a year, you've lost 1 year.

  3. Study programming theroy. This allows you to spot poor architecture and implementation right away. Always reject anything that doesn't follow good architecture and implementation.

  4. Be cognizant of the support ratings. For example a rating of 1 may also talk about a lack of support which is always a bad sign.

  5. Be aware of you own prejudice and laziness. For example many people rejected Javascript for over 10 years just because it was a goofy weak language. Today it's the #1 language.

  6. It's OK to wait. Allow others to do the vetting. Jump on the bus after you see strong trends. Usually a year or two.

Collapse
 
remotesynth profile image
Brian Rinaldi

Thanks for the advice John! These seem like good things to keep in mind.

Collapse
 
parenttobias profile image
Toby Parent

There's a thing I've heard before, and it has stuck: Don't love your code. Don't be so invested in the way you've written a thing that you won't scrap it in favor of a clean refactor, a more understandable way, or a better way (by some metric).

In the same vein, Don't love your tools. The things we use to accomplish a given goal are great, they are powerful, but they are merely tools. React is incredible, and I'm absolutely not hating on it - but it is a tool in our toolbox. And if a tool comes along that might be a better fit for a given usecase, then don't be afraid to put the one you've been trying to use away and pick up this new one.

Flash, ActionScript and Flex are great examples of tech that served a purpose at a point in time, but as the systems evolved, the tools were replaced with different ones. jQuery, same deal: it was designed to be a short-term tool, it was planned to go obsolete.

So as we have these monolithic libraries and frameworks, but the system on which they rely continues to evolve and grow in its own right... don't so love your framework that you won't jump at the chance to try out new tools.

Collapse
 
remotesynth profile image
Brian Rinaldi

Nicely said.

Collapse
 
colrussell profile image
Col Russell • Edited

I too started as dev/software engineer in late 90s.
Loved this article, took me back to always thinking about should I learn this or that, usually in my own time if current work wasn't applicable.
But with experience, learn what you need for current projects and just learn what you love in your own time.
I work for a consultancy so each new client project brings opportunities of new tech skills and domain knowledge to learn. I love learning new stuff so love my job.
Every skill is transferrable and breaking/learning/fixing is universal and shows you can get things done.
It's more important to lots of employers to know you are hard working, team player, problem solver than individual tech skills as these can be learned on the job

Collapse
 
remotesynth profile image
Brian Rinaldi

Thanks. Yes, working as a consultant can definitely help prevent you from getting too attached to a particular set of tools or way of building things.

Collapse
 
mallowigi profile image
Elior Boukhobza

I still think that knowing older tools such as jQuery or SCSS is relevant even in 2023. Even if most websites nowadays are either using the big three (React, Vue or Angular) or some newer framework such as Astro, Svelte or Solid, there will be times when you'll encounter simple websites with no such thing, and jQuery and/or SCSS will still be relevant to know. Sure, you won't be developing an app with jQuery today, but for doing simple tasks that you still can't do with vanilla JS, it is still useful.

It's like knowing how to use the Office suite, the command line and so on. Unlike Adobe Flex (good times...)