What's the role of a 2021 programmer

Well, I will say our grands did a great job in laying the best foundations for all the rest of the generations. We see that most of the world’s strongest languages were initiated in the late 19th century. A quick lookup maybe, just to sample the best 5 programming languages.

  1. Python in February 20, 1991 by Guido van Rossum
  2. R in 1991 by Ross Ihaka and Robert Gentleman
  3. Java by James Gosling at Sun Microsystems (which has since been acquired by Oracle) and released in 1995
  4. C++ by ISO/IEC JTC1 (Joint Technical Committee 1) / SC22 (Subcommittee 22) / WG21 (Working Group 21) in 1985
  5. Julia by Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah in 2012.

So with the above sample, you realize that only one full language was developed in the 20th century. But what does this sound to you? It generally tells us that the world has moved from the stage of developing tools to actually using the tools to implement solutions. If its a new house, we now have the foundation, our job is to come up with the nice walls and build a great house.

It literally makes no sense if you tell the world that you are coming up with your own language, the question will be WHY?

Though it is possible!. We have actually seen this with Google currently, coming up with the youngest language, dart, which has started taking off slowly by slowly.

My advice to you would be to let the world’s biggest companies, Amazon, Facebook, Google, eBay and many more to do the writing of the languages and those bigger libraries and frameworks for us since they have dedicated developers to do this, as for us we focus on using these tools to solve problems affecting our people, climate, population, transport and other sectors of the economy.

So, as the 2021 programmer, what is your role? What do we do?

1. Adapt.

Googling this phrase will actually give an alternative word modify, that’s the first thing we need to do. Wondering why? Here is the my mind.

The rate at which technology is progressing is totally high, but as we saw above, we still depend on some technologies that were brought on board in those days when the pace was low, meaning low efficiency, low scalability, and high cost of adaptability. With the need to have AI powered vehicles, Smart cities, Smart homes, and many more inventions in the IOT, writing these languages from ground-up to fulfill these maybe a real struggle. There adapting/modifying the language maybe our greatest need not re-writing or creating a new one!

How do we adapt?

Well there are some few ways this can be done!

  • Creating libraries. If you have used tensorflow, numpy, pandas, and many more. You are actually writing python/JavaScript but configured and made easy for you to perform the task you want efficiently. You can perform the same task by writing the whole underlying code by yourself, but who cares! We only need to look at your outcome and no one will really want to know the tech used.

  • Just like Google with Flutter from dart, Facebook with React from Javascript, Evan You with Vue from JavaScript, Adrian Holovaty and Simon Willison with Django from Python and many more, create frameworks. Though some of the mentioned are still termed as Libraries that is, React, but the world sees and uses all the above as somehow independent frameworks that have been made easy for developers to get the job done in time!

2. Learn the foundations.

Yeah, we understand that some technologies mostly frameworks will have somehow a steep learning curve, some depend on each for you to fully get all the concepts but today I will need to assure you this, every framework will always be hard for you if you don’t have the basic knowledge of the underlying language, so please grab the foundations of the language first before you jump onto the libraries and frameworks. An example, without the knowledge on dictionaries, lists, tuples, classes, and functions in python, django will keep a mystery to you :disappointed:. But learning the basics of python, gives you adverse knowledge on not only django but also frameworks like flask, libraries like numpy and pandas immediately.

Always remember, language first, frameworks and libraries last!

But if you are implementing a real world project, please endevour to look at frameworks and libraries. In 2021, we need the work done, we don’t care about ‘how you do it’. Therefore, spending the whole night handling sessions, reconfiguring routers and writing sql statements in python or PHP , someone who grabs django or laravel will have some good hours to rest while you work.

3 Use and solve

The world currently has a lot of problems that need to be solved with tech. And using these technologies people have solved millions of thousands of some of these with more millions of them still awaiting solutions. With the current statistics, the worlds top billionaires are in the Tech-related business. This ensures greener pastures for you the developer as you are assured that one day one time you will either get a job or solve a problem both which can earn you a living.

So use these technologies to solve problems and go ahead and solve internal issues related to the tools themselves. Contribute to these projects, participate in open source and engage in testing and debugging of these tools. Your feedback as a developer to the developers of these tools is of great importance and may really be the next trend. Other than condemning a language for not doing a task A or B, suggest for them how you would have done it and they will listen to your idea, try out your algorithm, if it works, duh! you have brought a trend in your favorite technology!

4. Share

Some of you have actually learnt great technologies, skills and stacks by either teaching yourselves either with the docs or via YouTube videos, or by paying some good money in institutions, online sources, and some scholarships.

What you have is still theory which you can master in two ways.

One is by doing projects, a technology with which you have made two more projects becomes familiar to you, easy to debug any errors and quick to use.

The other way is by teaching. We have heard great programmers such as Mr. Clever Qazi, Mr. Mosh, and Mr. Traversy testify on learning by teaching, they have all said it works, but that’s them, I am also a testimony in this. After starting on python, I actually, with the great team I had, changed our programming club in my University from PHP for Web to Python for Web. We first did all the basics which me and my team through teaching freshers and sophomores, mastered, then we introduced Django from which I mastered it very well by getting those errors with our students. So, teach your best language to someone for you to learn it!

5. Adopt

Don’t get stuck in your past, learn how and when to change. Literally speaking, almost every language can do anything you want if you really know how to use it however, some languages will suck when it comes to doing certain tasks.

For example, however much it is possible, few or no one will choose PHP for data mining over python, R and Julia. Less or none at all will choose Java for back end compared to Express, Django, flask and PHP. A very small number will develop a real world software that stores its data MSSQL compared to those using MongoDb, MySQL, Postgres and many more. Few developers will develop on Microsoft Windows compared to those using Linux and Mac. However much we become rigid and stuck to those ancient trends, current trends will always forcefully pull us to 2021+. So start adapting to the new trends.

I know you have one question, what do I recommend?

And the honest answer is nothing :upside_down_face: . The reason for suggesting nothing is, when change pulls you from your past, it dumps us in different angles which we all understand and use differently. One may try the current tools and get forced to stay in the backend leaving entirely the frontend or the mobile! So allow the change and wait to see where it dumps you.

Fingers crossed for your response.