Curated by: Sergio A. Martínez
Software development is an essential aspect of modern life. From the operating system on our computers to the apps on our phones, software developers create most of the tools we use every day. However, it’s no secret that technology is constantly changing, and keeping pace with the latest trends can be difficult, with new technologies and approaches constantly being developed, so it can be hard to stay abreast of the latest trends. In addition, the industry is becoming increasingly competitive, and companies are constantly trying to one-up each other with new features and capabilities that any skilled programmer needs to keep up with.
For example, let’s look at React, which has been gaining popularity for a few years now. As a JavaScript library, React can be used with a variety of different programming languages, making it easy to integrate it into existing software development projects. It’s also known for being fast and efficient, using a virtual DOM that helps to improve performance by only re-rendering the parts of the DOM that have changed, and the large scalability it offers makes React really popular with some of the biggest companies in the world, including Facebook, Netflix, and Airbnb. In short, this means there is a lot of demand for React developers, which should make this library part of the basic toolset for any skilled developer. However, reality is very different.
“React is a very common requirement among our clients when they are looking for a developer to augment their in-house teams”, says Helena Matamoros, Head of Human Capital at Scio. “And is not that React is uncommon or anything, but we have noticed that, for some reason, programmers who know React usually learn it on their own free time, taking courses or experimenting with it on personal projects. React is not really part of most college curriculums around here, so there has to be an actual commitment from most devs to learn it and offer it to any projects.”
But why is that the case? Why is such a popular skill not something to be found on a curriculum in most programming courses? To answer this, today we want to take a look, not into React precisely, but into a broader question about the expectations about learning software development, and the realities of the industry and these technologies, so you can shine as a developer anywhere you want to collaborate.
Programmers programming themselves
Let’s start with something you might suspect already: “Self-taught developers dominate technology: 69% of the developers who responded to the survey are at least partly self-taught, and fewer than half hold a formal degree in computer science. In a trend spreading to other fields, many are choosing ways to learn that offer everything but a degree: online courses, bootcamps, on-the-job training, and collaborating with peers”, an interesting fact shared by this Quartz article in relation to the modern state of software development and developers in the US. And this number will likely keep increasing in the coming years.
The root of this curious situation could be that, since the very beginning, software development has been driven in great part by hobbyists and amateur developers who see programming as more than just a means of employment; for many, programming is a lifestyle. Often, a programmer lets their own sense of challenge and curiosity guide them towards learning new things, so people becoming self-taught in this field, at least in specific tools and frameworks, is usually seen as pretty normal. In fact, as a part of the software developer experience, this cultural norm has become a defining part of our industry.
Considering this, one could see why learning React on your own time is not a weird thing to do, or arguably difficult to do. However, the truth of this depends on a few factors: how much experience you have with programming in general (if you’re coming from a background of working with HTML and CSS, then React will probably seem easier than if you’re starting from scratch), and how much time you’re willing, or able, to invest in learning it. React is not the quickest framework to pick up, but it’s not the hardest either, but it makes you wonder why it tends to be a “learn on your own time” library instead of a basic topic in programming courses, seeing how useful it is as a powerful tool for building user interfaces.
But what is React? This framework was created by Jordan Walke, a software engineer at Facebook (now Meta), first deployed on the FB timeline in 2011, and later released to the public in 2013 with an open-source version. It was named as such because it can be described as a “reactive” framework, meaning that it can respond to changes in data very quickly. This makes it well-suited for applications that need to handle large amounts of information or that require real-time updates, which of course has made it incredibly attractive for corporations such as Facebook, Instagram, Netflix, and Uber that need to handle a massive number of requests and users every minute. Moreover, React also has a number of features that make it appealing to developers, like its declarative syntax, its ability to render views on different devices, and its performance advantages. In the years since its release, React has become one of the most popular tools for front-end web development, designed to be easy to use, that enables developers to build complex web applications with less code than other frameworks.
Taken together, these factors make React an appealing option for software development in a world with lots of different frameworks and libraries to choose from, so learning React can open up a lot of doors for future programmers, giving them a practical skill that is in high demand by employers. The thing is, colleges and universities offering React as part of their Computer Science programs tend to be few and far between, thanks to how (relatively) recent this framework is, and the high cost of entry that official boot camps and courses have. But many programmers need to do this regardless, in order to master this framework.
“Continuing education is especially crucial in software development. This field is constantly evolving, with new languages, frameworks, and tools being released on a regular basis, so to stay competitive, it’s essential for software development companies to invest in the skills of their employees”, explains Helena. “By providing opportunities for employees to learn new skills, companies can ensure that they are keeping up with the latest technology and trends. Additionally, continuing education can help employees to feel more satisfied with their jobs. Ultimately, investing in employee education is a smart business decision that can really pay off.”
Growing skills matter
That’s why companies that know the value of continued education are the ones bringing the best talent aboard. Although curiosity and motivation to learn new things for the sake of it are great qualities for a software developer, leaving them all of the work is not the best strategy to ensure a team is ready and ahead of the curve when it comes to tools, approaches and frameworks to innovate in the software space. After all, the key to a successful business is its people.
Many companies focus on hiring employees with the specific skills they need to get the job done. And while this is certainly important, it’s also important for an organization to invest in the skills and development of its staff, for one very simple reason: this is investment in success, both for the organization and for the collaborator. Well-trained employees are often able to work faster and more accurately than those who are not. Second, employee development can help to reduce turnover, and when employees feel like they are learning and growing in their jobs, they are more likely to stick around. In the case of React, the best approach could be having more senior developers, whose experience with this library is top-notch, to lend a hand to their teammates to develop their own skills, with the company giving the opportunity to comfortably do so.
Scio, for example, has the “Sensei-Creati” program, where a Sensei developer can take on “Creati” apprentices to teach them about a specific tool or skill, remaining open to discuss issues, solve questions, and all in all share knowledge to whoever would benefit from it. The result is that, when everyone is on the same page, it makes it easier to identify areas that need improvement and come up with new solutions. Furthermore, sharing knowledge helps to build trust and collaboration among team members, which can lead to better code quality and a more efficient workflow. Ultimately, sharing knowledge is essential for any software company that wants to be successful, and attract the best talent available.
The bottom line is that learning is part of the normal experience of a software developer but offering the opportunity to do so on the job is the best way to keep ahead of the curve when it comes to popular technologies like React. So if you are looking to join the best company to work with, see what their position is regarding sharing knowledge and growing skills. Maybe you can find a place where the proposition of learning something like React is not something you do in your free time, but part of the job itself.
Scio is an established Nearshore software development company based in Mexico that specializes in providing high-quality, cost-effective technologies for pioneering tech companies. We have been building and mentoring teams of engineers since 2003 and our experience gives us access not only to the knowledge but also the expertise needed when tackling any project. Get started today by contacting us about your project needs – We have teams available to help you achieve your business goals. Get in contact today!