What are the most important skills you can have as a freelance developer?
You may ask this question because you need to know where to focus and concentrate your learning effort.
While I focus on the most important technologies in this article, I believe that the ultimate driver of your success is your knowledge of the basics because this helps you learn any advanced skill faster.
Having said this, what are the technologies that you can learn in the next year and how can you learn them with minimal effort?
In my opinion, there are five very important technologies. Here they are:
- HTML / CSS,
- Machine Learning,
- Distributed Systems
- Blockchain Technology (2022 Update)
Let’s explore them one by one.
** FRONT-END TECHNOLOGIES **
1) HTML / CSS
Why? Because clients love front-ends.
- If you are a freelance developer and you create software for clients, you need to have a user interface.
- If you manage to set up a small web front-end based on HTML and CSS, it’s convenient for clients and you’ll make a few extra bonus points.
But it’s not only about overdelivering. Many clients seek full-stack programmers who are able to set up basic web applications. HTML and CSS are minimum requirements for these types of jobs.
If you know HTML and CSS, you have a strong foundation on which you can build your resume. And it’s easy to learn, just check out W3-CSS and do the tutorials.
It’ll take you less than a week (full-time). But your market value will increase by at least 10-20% which results in a huge return on your invested time.
- Read: HTML Developer — Income and Opportunity
- Read: CSS Developer — Income and Opportunity
- Read basic HTML tutorial here: https://www.w3schools.com/html/default.asp
- Read basic CSS tutorial here: https://www.w3schools.com/css/default.asp
Again, front-end development is very important because it’s the first point of interaction for your clients.
** BACK-END TECHNOLOGIES **
3) Python, Scripting, Django, and Flask
But it’s not enough today to know about front-end development. Going more towards the back-end side of things, learning Python is an excellent choice. Python will also help you write basic operating system scripts.
You can run Python on your back-end servers and serve your web application via Python technologies such as Django or Flask. With Python, you have the power to implement any functionality in the back-end.
But Python is also a powerful first step towards mastering another area in computer science that becomes more and more prevalent: machine learning and data science. This is the fourth technology area where you should know at least the basics. But first, let’s take some action steps to master Python:
- Measure your Python skill level on the Finxter app: https://finxter.com/
- Read a solid Python introductory book such as Python One-Liners or Coffee Break Python
** ANALYTICS TECHNOLOGIES **
4) Machine Learning and Data Science
All of them are specific Python libraries that are critical for your mastery of machine learning and data science.
It will take you 10 to 20 hours to learn about the basics of machine learning — just read a book and watch a few Youtube videos.
- Read: Python Developer — Income and Opportunity
- Read: NumPy Developer — Income and Opportunity
- Read: Pandas Developer — Income and Opportunity
- Read: TensorFlow Developer — Income and Opportunity
- Watch Youtube Tutorial of Andrew Ng: https://youtu.be/PPLop4L2eGk
- Master NumPy reading the NumPy book: https://blog.finxter.com/coffee-break-numpy/
** SCALE TECHNOLOGIES **
5) Distributed Systems
This will surprise you. Maybe I’m biased doing my 4-year doctoral research program in the area of distributed systems. But I will tell you why I believe that basic distributed systems skills are vital for your career:
Data grows faster than processing power!
Think about it: the world is a massive source of constantly emerging data. Data does not grow, it’s already available in virtually infinite size. Any growth of computational capacity will be eaten immediately by even larger data sets due to the improved capacity to process the data.
Computational resources are scarce, data is ubiquitious.
There is no other way than throwing not one but many cores to the large data sets in order to extract any meaning. There will always be extremely interesting data sets that are just too large to be processed by a single core. It’s a law of nature.
Data will always need all available processing power.
So you need multiple cores that work together towards their goal of extracting useful information from the infinite data sets. A distributed system is your best friend here.
We need to create distributed systems so that all of the cores work together.
- Read an introduction to distributed systems book: https://github.com/theanalyst/awesome-distributed-systems/issues/12
6) Blockchain Technology
In 2007, an unknown person with the pseudonym Satoshi Nakamoto has published a whitepaper called “Bitcoin” (?) that has introduced Blockchain technology to the world.
Blockchains will have the same economic impact in the 21st century as corporations in the 20th century.
And it can do so in a slow and steady way that cannot be stopped by any centralized entity such as a state or another company. If you compete with the blockchain, you will almost certainly fail because it is like an animal that cannot die as long as at least one cell is still alive. If you cut off one head, two new ones emerge.
The Blockchain is like democratic forces when many countries in the world were still monarchistic. Even though centralized forces may look scary and dominant, they’ll quickly erode as they die the death of a thousand cuts.
- Read my blog tutorial on “Blockchain Developer — Income and Opportunity”
- Read the Bullish Case on Blockchain Technology
- Read my book “The Blockchain Economy — A Primer”
- Start learning Solidity, the programming language to program against many Blockchains
All these steps together will maybe take you one month working full-time. If you work a month in your job, you earn maybe $2000-$5000. Studying these basic technologies will earn you much more. It will pay a rich stream of dividends throughout your life totaling many tens of thousands of dollars.
Where to Go from Here?
Do you want to grow your skill level and income at the same time — while working from the comfort of your own home? I’ve summarized the state-of-the-art in Python freelancing in the following webinar:
It shows you everything you need to know to get started in Python freelancing, how much you can earn, and how you can start on your path to professional Python.
Check it out!
Solidity is the programming language of the future.
It gives you the rare and sought-after superpower to program against the “Internet Computer”, i.e., against decentralized Blockchains such as Ethereum, Binance Smart Chain, Ethereum Classic, Tron, and Avalanche – to mention just a few Blockchain infrastructures that support Solidity.
In particular, Solidity allows you to create smart contracts, i.e., pieces of code that automatically execute on specific conditions in a completely decentralized environment. For example, smart contracts empower you to create your own decentralized autonomous organizations (DAOs) that run on Blockchains without being subject to centralized control.
NFTs, DeFi, DAOs, and Blockchain-based games are all based on smart contracts.
This course is a simple, low-friction introduction to creating your first smart contract using the Remix IDE on the Ethereum testnet – without fluff, significant upfront costs to purchase ETH, or unnecessary complexity.
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.