Skip to main content

Modern Learning : Information Age

Times have changed. We moved from making fire with sticks to amazing things like 3d printing, biotechnology, block-chain and artificial intelligence. No doubt- we are only starting. But one thing is of worry- how we learn. Learning can be subdivided into 4 parts(in the particular order) namely:


  1. Fundamentals
  2. Information
  3. Skills
  4. Innovation

These can be applied to the Technology, Business and Finance and the Leadership and Management branches. The main goal nowadays is not to be an expert if you want to quickly build your career and make some money in the process. The main aim for now is to gain competence. Why I say that is because it is cheaper for an organisation to get someone with competence as opposed to getting an expert. The most efficient way is to aim for the skill level as opposed to the expert level(which tends to come by itself as you sharpen the skills level) We want to maximize financial benefit from the most efficient way possible.

1. Fundamentals

Fundamentals encompass the basics such as syntax and methodology. So in the learning age for developer you need to note the following items:

  • Platform - platform chosen is very very important. In fact, platform can be a bigger issue in comparison to the programming language. 
  • Architectures

The drunken sailor problem is a classic example problem in computer science typically used to demonstrate the monte carlo method - solving a problem through simulation


2.  Information

Where does one get curation - University guides, Certified professional guides and lastly at least two books on the subject.

Where does one get knowledge - books are best for fundamentals but they quickly become obsolete (we both agree that technology is a fast evolving animal). Online courses are good but they are a poor source of curation. Documentation is also a good source. (Although they have possibility of lagging behind especially in open source projects - as developers tend to focus more on the code as opposed to the documentation) Schools and classes are also good (even though they tend to be very expensive)

3. Skills

Knowledge invariantly leads to skills if you add practice. Find problems to solve on your own from sites such as stackoverflow, stackexchange and github. Before you look at the answers - try solve the problem on your own. This gives you the practice and hands on experience.

Where does one get the support and discipline needed?- The strength of schools in adding to this is that you write exams but you can work with others and get informal training at work.

4. Expertise

The same sources and skills. Skills lead to expertise. An interesting thing to note is that if you do answer a question that has no answer currently on a forum - you are already an expert when it comes to that question.

Where does one get certification - College body and Company certifications can be very good sources

Remember - skills bring the money and if you look up books over a year old - try new for newer versions and go through the sample tests and mock exams to get a feel of what you will be getting yourself into. We live in an era with abundant sources of knowledge and information - I hope this article will help you as you journey through the world of software development.

Credits :


Dan Appleman's channel on Pluralsight.


Comments

Popular posts from this blog

Django & Firebase - A marriage of awesomeness

Requirements 1) Django (obviously) 2) Pyrebase (pip install pyrebase, you know the drill) So to give a better appreciation- I will first show you the HTML way then I'll proceed to show you how its done in Python. METHOD 1 : The HTML way Then you need to go to the firebase console. To setup a new project. After that you will see a web setup and you select that. Once selected you will see the config. It should be similar to this : Now that you have configured firebase, we now need to select the components which will be needed. depending on what you want for your app- you can now select the modules that you need. For us today, we will do the login authentication. Make sure you include firebase app first, so this is my screen: METHOD 2: Enter Python Open your dev environment and create a file named  pyrebase_settings within your django app folder. In it, you will have the following: Now, lets go to views.py!

PRG, PRF, PRP in Cryptography - What are they?

So I have been reading up on my cryptography and I figured I should give out a brief lesson on these three amazing concepts What are they ? a) PRG (Pseudo Random Generator) You probably know the difference between stream and block cipher. One of the main differences between them is key size. Stream ciphers require the key to be of equal length of greater than the plaintext ,   whereas Block Ciphers take a key smaller than the PT and is then expanded. This is the PRG The PRG expands the seed Considerations: Stream Ciphers base on Perfect Secrecy whereas Block Ciphers base on Semantic Security b) PRF (Pseudo Random Function) Lets share a secret- imagine something- you want to authenticate yourself with me by proving that you know a secret that we both share. Here's a possible option i) Possible Option 1:  PRNGs We both seed a PRNG with the shared secret, I pick and then send you some random number i.  You   then have to prove that you know the s...

Deploy Django app online for free!

So after a number of lines of code, brilliance and dreaming. Your next dream is for the world to see. Of course you can walk around with your computer and doing a 'manage.py runserver' But cumon guys, lets embrace the cloud. Not like this guy though! I choose to deploy on  PythonAnywhere . So you ask why? 1) Free amazing support - You actually talk to a live human ! 2) Easy - Very easy 3) Affordable - As you scale up, it gets way better! So by now I assume you are already on a version control system (So I will not waste much energy on that one). Maybe Ill someday write on my two favs  Github  and  Bitbucket . STEP 1: Create an account on pythonanywhere. Kindly note that your username will be included in your apps url. So it will be like : " yourUsername .pythonanywhere.com" STEP 2: Select other and set a bash console. STEP 3: Push your code from version control This will push from (in my example) github to your pythonanywhere. You...