Home

How to Code: Web Development

A podcast for aspiring web developers

Listen

6: Dead tech fallacies


Transcript

[00:00:00] Hey, everyone. Welcome back to another episode of the how Toco podcast. I'm your host, Robert Gus. And in this episode, I wanna talk to you about something I'm kind of calling the, uh, dead tech fallacies. And basically what I mean by this is there's this constant talk online about how, you know, fill in the blank.

Some technology is. So, for example, I'm sure you've already seen online people talking about and saying things, uh, especially on social media saying things like Ruby's dead or PHP is dead or Jake is dead or things like that. And I wanna talk to you about this because just right off the bat, whenever you see something like this, you can just immediately discredit and ignore it.

It's complete nonsense. And when I was initially brainstorming [00:01:00] ideas and content for this podcast, I wanted to try and talk about things that I don't really see or hear people talking about. And this is one of those issues that I wanted to discuss, because I think it's really important. You know, it's not that no one talks about this issue, but I don't think it gets talked about enough and people need to call more attention to it and call these people out who are making these outlandish and just, they're just lies basically.

And the reason why is that when people say that some technology is dead, it can actually be really harmful because when you're brand new, you just assume that this is true. So often when you're brand new, you're online. You just assume that the people who are, you know, professional developers, you know, they have more experience than you.

So they probably know more than you, which for the most part is true. Uh, but you'd, don't realize that, um, developers have massive egos and they're extremely opinionated and they say all kinds of nonsense like this all the time. And I wanted [00:02:00] to make a podcast episode about this to kind of help you navigate these waters is that you have a better understanding of what reality is versus what a lot of people say online.

And I'll get to some statistics and some facts and stuff later on. You know, another thing too, is that there's so much that you need to know in tech to begin with. It's just overwhelming, especially in web development, there's so many technologies and things that you have to learn and know in order to be a successful web developer these days.

And it's hard enough trying to keep up with everything that's going on. And the problem with social media and people saying stuff like this is that there's just a whole bunch of noise and just flat out lies and misinformation out there. And it can be really hard for you to know what is true, particularly when you're brand new and you're just starting out.

So with that said in this next section, um, calling this expectations versus reality as a new developer. And so I really wanna talk [00:03:00] about for a minute, what. New developers often think web development is especially when they're first getting started in their first job versus reality. And what it actually is.

So we're gonna talk about what you will think it is, especially when you're new. And then what reality is when you get your first job. So when you first start learning all of these technologies, you'll most likely think that companies are using the latest and greatest bleeding edge tech, but the truth is the vast majority of companies are.

Most companies are not willing to take a risk or a gamble on bleeding edge technologies. So most companies are not gonna be using the latest and greatest framework that you hear everyone talking about online, and that you're probably trying to experiment with and play around with on your own. And the reason being is that most companies and first and foremost are concerned about making a profit and they want to use technologies that are battle tested, reliable, and [00:04:00] stable.

You have to look at things from the perspective of the company, not from the perspective of the developer, wanting to use the latest and greatest companies care about money first and foremost, that's their number one job. That is why people start businesses like business. 1 0 1 is to turn a profit.

That's why you start a company. So businesses are going to be using technologies that are gonna help. Make profit. And there's absolutely nothing wrong with that. That's actually a very good thing because that profit translates into your salary, your income, your health insurance, your benefits, that you can then support your family with.

So it's in the company's best interest and yours, by the way, for them to be making money because that's how you get paid. You have to realize that companies have to support all of their employees. Which potentially could be hundreds or thousands of people, which means all their 401ks, all of their health insurance benefits like employee and staff overhead is a [00:05:00] massive, massive, massive expense for businesses.

It's oftentimes the number one expense for most companies and businesses, especially when when you're a software company or an engineering company, because engineers salaries are through the roof and their engineers are very, very expensive, as I'm sure most of you are well aware of, which is why you're probably wanting to get into tech in the first place.

So with all that said, with all that overhead and all those expenses, they are not going to be taking risks to try out some new tool or technology because new tech is not safe for most companies. It's probably safe for your little toy app inside project that you're messing around because you're the only one using.

And you're the only one building it. When you start up, when you start bringing that stuff into an organization with there's dozens of developers or more there's managers, engineering managers, these things have massive trade offs and costs when you're bringing in new tech, because now you have all these developers who have to learn this new technology on the [00:06:00] company's dime, which can take a lot of time.

And so it's, frankly, it's just risky. And when you're dealing with a new technology, It really hasn't been battle tested. I mean, it hasn't been really operated at scale and a lot of companies haven't adopted it yet, which means a lot of the edge cases and bugs and things like that haven't been discovered.

And so it's very risky early on when adopting brand new technologies. The reason why I wanna bring all this up is because when you get your first developer job, you're most likely going to be maintaining an application that is several years old, built upon older technologies.

You're not gonna be using the latest and greatest JavaScript framework most likely. And the back end, especially is probably gonna be even more outdated than the front end, because that's just the reality of how it works. So you have to remember too, that there is absolutely nothing wrong with using older technologies.

In fact, there's a tremendous amount of positives and oftentimes you're better off like [00:07:00] much, much, much better off using older technologies than the latest and greatest new stuff. So for example, let's take a quick look at databases, in various database technologies. As of the recording of this episode, which is in August of 2022, there are like new database companies and startups that spring up, which seems like every week or at least every month. I mean, constantly, there's all these new database companies platforms as a service and all these kind of backend companies starting up.

However, the overwhelming majority of companies, at least in my experience, and from what I've seen in the web development space are building all of their applications on top of my, my SQL and Postgres. So my SQL was released back in may of 1995. Postgres was released back in July of 1996. And I would argue that those two database technologies are probably [00:08:00] the most popular out there, especially in web development.

So just to put that into perspective, you keep seeing all these latest and greatest new startups coming out with all these new databases. Except the overwhelming majority of applications still being built and currently being built. And that, and that have been built and need to be maintained by developers are built on technologies that were released back in 1995 and 1996.

So just kind of helps to keep some of these things in perspective. So, in this next section, I want to talk about. Um, some examples of quote unquote dead technologies and languages versus reality. So let's take a look at PHP, for example, this is probably, I see people hating upon PHP the most. And just so you understand, I am not biased towards PHP.

I personally don't really care for it. I've had to write a lot of it, um, in my career. And I try to avoid it if at all possible. So I am not biased. I'm not like a PHB fanboy by [00:09:00] any means. Uh, but I would never say that it's dead. And so I wanted to give you some examples and some statistics just to kind of put things into perspective.

When you hear about people saying that PHP is dead. So PHP was first released back in June of 1995, right around the. When my Eski well was released. Okay. So as of this year, 2022, WordPress, which is the most popular CMS ever, which is built on top of PHP powers, 43.2% of all websites on the internet.

That's almost half of the. Built on WordPress, which means almost half of the internet is powered by PHP. And I will have links to all the sources that I'm referencing, um, in the show notes. And I would highly recommend you check them out because they also have some, even more interesting statistics and facts that you should check out now.[00:10:00]

Um, to be perfectly transparent and honest, I didn't do like an insane amount of research here to dig this stuff up. I did some quick Google searches just to kind of help you put in things in perspective. Some people will say WordPress power is 43%. The numbers will be a little lower, a little bit higher.

The point is not necessarily the exact specific percentage. The point is that an overwhelming majority of websites today. Currently being built and have been built are powered by PHP. So another interesting fact is that, if you're not aware, there's a web framework called Laville, which is, the most popular PHP framework out there.

And Laville, which is, again, is a web framework that you build web applications with in written in PHP. Is downloaded almost 200,000 times every single day. It was downloaded almost 5 million times in the last 30 days. And [00:11:00] overall it has been downloaded more than 208. Million times. And those statistics are coming directly from packages, which is basically the website and repository where, uh, virtually all the PHP packages and libraries live.

So those are actual download statistics from the package. Repository where Laville lives. So again, it's down, it's downloaded almost 200,000 times a day, 5 million times in the last 30 days of this recording. I'm recording this on August 19th, 2022. And overall it has been downloaded over 208 million times.

Let's take a look at another example in programming language, we'll look at Ruby. So Ruby and PHP, from what I've seen, seem to be the. Trashed upon languages out there. And everyone constantly says PHP doesn't scale. PHP is dead. Ruby doesn't scale, Ruby's dead, et cetera. So [00:12:00] we just debunked PHP, uh, let's debunk Ruby and Ruby on rails.

So Ruby is a very popular programming language and Ruby on rails is by far the most popular web framework built and written in Ruby. Uh, and this is coming directly from the Ruby on rails website, Ruby on rails powers, all of these companies, GitHub. Shopify Twitch, dribble, Hulu zenes, Airbnb Kickstarter, Heroku, Coinbase, and SoundCloud.

Those are only a handful of the sites that are powered by Ruby and Ruby on rails. So the next time you hear that Ruby or rails is dead or Ruby doesn't scale, just keep in mind. All of those companies that are currently using. In particular, I would call out GitHub because that hits very close to home to us as web developers and people who are in the open source world, because open source basically lives in [00:13:00] GitHub and GI GitHub operates at an absolutely massive scale and neither Ruby nor rails is holding them back.

And I would argue that Ruby and Ruby on rails is probably one of the main reasons why they have grown and become so successful as they are. Twitter also by the way, was originally written in Ruby on rails. Uh, but I, I think it's written in scholar or something now, but when I first got started, it was written in Ruby and Ruby on rails.

This is my own personal opinion. I would argue that to this very day rails is probably the still is probably the best web framework in existence out there. I would use it personally, if I was building a startup SAS or any web application, really at all. And I am primarily a JavaScript developer.

There's nothing out there that can get you up and running as quickly as possible as rails. And because it's been around since like 2005 or so the ecosystem and the community is [00:14:00] absolutely massive and you can pretty much find a library or a gym that will provide the functionality in the use. For whatever it is that you're trying to build.

So you can literally take all these packages and libraries, compose 'em all together and have a new application up and running within a matter of days. Like it's, it's, it's pretty amazing. Um, so now that we've debunked some of those dead technologies, I wanted to talk to you about in this next part about, so what technologies should you then learn?

Right. If you're first starting out. You're not really sure what to learn. You can like, you're trying to learn all the latest and greatest, and people are saying, this is dead, this doesn't scale, blah, blah, blah. So how do you make sense of all the noise and how do you know what to focus on? And what's a waste of your time?

So I would say first and foremost, you need to start with the basics and the fundamentals. So if you're going for front and develop. Or you're trying [00:15:00] to become a full stack developer. You have to know HTML, CSS and Java script. No exceptions, no question. You have to know those three technologies and languages.

Once you get a solid understanding of the basics and the fundamentals of HTML, CSS, and JavaScript, then you can start learning a framework like react, that's built on top of JavaScript or tailwind CSS, which is like an abstraction in the library for CSS, which I love by the way. And I wouldn't wanna use anything else these days, but in order to appreciate react, you need to understand the abstractions.

And what makes react so powerful by knowing the underlying JavaScript that powers react, not necessarily saying that you need to know how react is built, but when you're learning abstractions like frameworks and libraries and things like that, you need to know the fundamentals. Otherwise, if you only use the framework, then you're specifically tied to that technology.

Rather, if [00:16:00] you, if you learn the language that those frameworks are built upon, you can adopt and use any framework or library that whatever the latest and greatest in the next thing is, because those things constantly come and go. So again, just to reiterate that frameworks come and go all the time, especially in the JavaScript world, there's a new JavaScript framework.

That's like every other day, it seems like this is the common thing called JavaScript fatigue, which maybe I'll make an entire episode on that. But basically it's pretty nausea getting an exhausting, just how much stuff and how quickly things change in the JavaScript ecosystem. But if you know, the underlying technologies that these frameworks are built upon, like JavaScript, the vanilla JavaScript itself, and you invest in learning JavaScript itself, you can learn a new framework in no time at all.

So if you know, JavaScript really well and you go to apply to a Java, that's using some framework, you don't know if you know JavaScript very well. You can learn that framework very, very quickly. Whereas if all you [00:17:00] know is react and the company's using something other than. You're gonna have a really hard time learning that other framework.

Another piece of advice I would like to give to new devs is I think it's super important that you take a look at the various companies in your area and the job positions and the openings that they have. What you need to do is you need to look at the job descriptions and look at what technologies they use.

So you will often find that like certain areas in the country use the same technologies. So for example, I got my first, uh, developer job in Rhode Island, and most of the companies around me were using PHP. And like I said before, I'm not exactly a huge fan of PHP. And even though I was primarily a front end developer, I needed to know enough PHP to at least be competent with it because I did have to touch the back end from time to time.

And sometimes I had to touch it like quite a bit. And I had to do quite a bit of back end work. And even if you specialize in the front end, you'll find that's pretty [00:18:00] common, especially in smaller companies that you'll often have to go back and forth and do full stack. Even if you specialize in either front end or back end, you usually have to touch both sides, um, more often than you would think.

So I personally really wanted to work with rails, um, early on in my career. And part of me still does, if I'm being perfectly honest with you, cuz I just really love rails. And I think Ruby, the programming language is fantastic, but there just weren't a lot of companies around me using. So I just learned PHP, like, to me, it doesn't make, I'm trying to get a job in the tech world.

I'm trying to get a job as a developer. Why am I gonna waste all this time? Learning some language and framework when no one around me is hiring for it. Like, it just makes sense to actually learn the technologies that the companies are trying to hire people for. Right. Like, it seems very obvious, but, uh, people don't really think of it like that.

Another thing is that each job description for a company is telling you [00:19:00] exactly what the company needs and that's exactly what you should be learning. So you can get it hired by those companies. I don't think people really make this connection. And this is what, like, the advice I try to bring out to people is just like flipping that switch in your mind is that anytime you find a job description, the company is literally telling you, this is what you need to know.

So, if you don't know those things, that's the stuff that you should be focusing on and learning in order to get those jobs. And you'll often find when you're searching for companies in your area. And this is why I suggest for junior developers, if possible, not to try and go the remote, remote route. At first for your first job or two, because it can be extremely competitive and difficult, and it's much better learning experience in person learning from developers face to face than it is remotely, because trying to mentor people remotely is really difficult.

It's much easier in person. So if possible, depending upon where you live, always trying to get a job locally to [00:20:00] you in an office with. I know that's kind of changed a lot because of COVID and stuff, but whenever possible, that's the ideal situation. And so just remember, look within, you know, and you can, with all these job boards, you can search within a 10 mile, 20 mile, however mile radius of your zip code.

And just look for all the common patterns for all these job descriptions. And you'll see, they're like, oh, you need to know this technology and you'll see the same technologies again and again, and again, those are the technologies you need to be learning and focusing on in order to get a job. Another thing too, is that if you learn the underlying patterns of any particular language, For example, if you get really comfortable with object oriented programming, then you can very quickly and easily learn any language that supports object oriented programming.

If you understand how classes and inheritance works and things like that, the only thing you really have to learn is the syntax of a new language, which you can pick that up within like a couple weeks or a few weeks. It's really not that difficult. If you [00:21:00] understand how conditionals work and variables and loops and like just the basic fundamental building blocks of programming languages.

And then you understand some of those patterns like object oriented programming, you can pretty much learn any language that has, that is object oriented because the paradigms is exactly the. So focus on things like that, rather than focusing so much on the technology. When you learn the stuff at the bottom, the fundamentals and the foundation of what these languages and frameworks and technologies are built upon, you can then learn pretty much anything that is built upon the same thing, because they're all built upon the same primitives and fundamentals.

Too often I hear developers asking me or just online, like, oh, should I learn view or should I learn react, or should I learn this technology? Or should I learn that technology? And the truth is if you're looking for your first junior dev job, learn the technologies that are being used by companies in your area.

Period. [00:22:00] Don't worry about learning the latest, greatest and whatever nonsense you see on hacker news. Look at the jobs for the companies in your area, find out what technologies they use. Go learn those technologies, because those are the jobs that you're trying to get. And those are the companies that are gonna hire you.

They're not gonna hire you. If you don't understand and know how to use the technologies that they're literally telling you, we are trying to find someone that knows how to do. If you don't know how to do this, you're not gonna get hired. It's very simple and straightforward. Don't worry about Shi this technology or that technology.

The companies are literally telling you, these are the technologies you need to learn, because these are the ones that we're hiring and paying people for. So another thing to keep in mind is that. You know, you might, you might not really like some technology or whatever that a company's hiring hiring for, but you kind of need to put your own personal preferences and ego to the side.

Your job right now is just to get your foot in the door and get started. And this is one of the best ways to do that. [00:23:00] And to be perfectly honest with you. And when you're first starting out and early on in your career, You really don't know enough to really know what you like or don't like, because you just don't have the experience.

Everything is brand new to you. So my advice again is just learn the tech that the companies around you are hiring for. Get that first job, get your foot in the door. Then as you grow and gain more experience, you will learn what you like, what you don't like and where you will like to specialize or not.

And then once you have a better understanding of all these various technologies and you have real world experience with them, then you can start forming your own opinions about I like working with this, but not with that. And then that'll help you. More decisions and narrow down jobs as you're growing in your career.

And as you're trying to move up and move forward. So that pretty much wraps it up for this episode, guys. I, uh, hope it was helpful. I hope you will really take some of this advice to heart because it's really helped me out and it's helped out a lot of people that I've shared it with. And, um, [00:24:00] I will see you in a couple weeks.

Cheers.

About

Host Robert Guss is a self-taught front-end developer currently working as a Developer Experience Engineer at Cypress.io. We discuss learning how to code, strategies for getting your first job, web technology news, interviews, testing, and more on this show.

Hosted by

Robert Guss