How to become a software engineer in South Africa? Learn React.
Written by Matthew Fainman
What Is a Front-end Developer?
Have you ever wondered how to become a software engineer in South Africa? Front-end Software developers are a desired commodity in this country, as they are responsible for building the parts of a website with which a user visually interacts. Back-end developers focus on providing the data and services required by the front-end. For example, the posts on your Facebook home page will have been designed by a front-end engineer, but the back-end developer ensures you receive the data populating those posts.
The Framework Fight
The MDN Web Docs—a valuable resource for any web developer—defines a framework as the “tools and libraries to simplify common web development operations”. The current major three frameworks are React (developed by Facebook), Angular (developed by Google) and Vue. The following chart shows each of these framework’s downloads over the last five years. Although npm downloads are not a perfect measure of popularity, the chart does illustrate the meteoric rise of React.
However, in a South African context, Angular finds itself leading the pack. In the 2019 State of South Africa’s Software Developer Nation by OfferZen, Angular and .NET Core both lead React. Again, this survey design is not without its flaws, but does show that Angular is also a great choice for securing a job locally. A quick look at Linkedin shows 860 results in the last month for jobs compared to 440 for React.
If Angular is so popular in the front-end development scene in South Africa, why learn React? The first reason is South Africa tends to lag behind the international community by a couple of years. In the coming years, the local tech industry is likely to see growth in React job opportunities at the expense of current Angular positions. This would be caused by companies trying to adopt international trends. The second reason is that Angular uses TypeScript which makes the learning curve slightly steeper than React for anyone just starting out. That said, learning Angular does offers a developer ample opportunities.
For the impatient, you can use create-react-app to set up a boilerplate project within a couple of minutes.
- Install npm if you have not done so by going to this link.
- Create a project folder on your computer. Then navigate to this folder on the terminal by typing cd and dragging and dropping the folder onto the terminal application or copying the file path to the folder.
- Run npx create-react-app my-app
- Then cd into my-app by running cd my-app
- Finally, enter npm start and a browser window should open displaying your boiler-plate application.
From here, go to the App.js file to start making edits.
Deploy to Heroku
Deploying on Heroku allows you to send your application to anyone.
- To start with, make a free account on Heroku.
- In terminal, type git init
- Type git add . followed by git commit -m “my first commit”
- Type heroku create my-app –buildpack mars/create-react-app
- Git push heroku master
- Heroku open
- And…you’re done!
Anytime you want to update your Heroku application, simply follow steps 3 and 5.
To sum it up, learning React or Angular opens up many opportunities for any aspiring developer. Consider applying to the SovTech graduate program here.
SovTech Launches 2021 Graduate Program To further the number of qualified graduates with practical experience in the tech industry, SovTech has completed its first successful 6-month full-time graduate program, that saw the firm taking on…
- Nov 2020
- 3 mins read
Waterfall vs. Agile Development Models in Software Development. What is a development methodology? Development methodologies are chosen plans that project managers implement to establish the tasks at hand, how those tasks are organised and then…
- Oct 2020
- 5 mins read
- November 4, 2020
- 3 mins read
- October 14, 2020
- 5 mins read
- October 12, 2020
- 3 mins read