After over 15 years of self-taught computer sciences and programming I made two observations.
At first, you can learn as general or as specific skills as you want. With a bit of motivation and self discipline you can grasp pretty wide assortment of skills, and you can master few in relatively short time. Learn how to use documentation, exercise and experiment, learn from more experienced but always question EVERYTHING - do not only copy others' solutions. Self-teaching rules! Right?
The second observation is completely opposite. If you are learning by yourself, never using your skills at work, or in general - there is nobody that will start moaning once you do something wrong - you can mess up badly. In IT problems are not so obvious. Your design could seem to work well, you achieve desired outcomes, but does it mean it is all correct? Usually no, and that is why we have a lot of issues prone to exploitation - by accident, or by someone that able to predict events better than yourself. And if you learn yourself incorrectly and you will repeat the same mistakes over and over again, you may reach the point when tiny errors will be so numerous, your project will be unusable and beyond repair. And nothing turns down more than finding out that you wasted a lot of time and you need to review foundations of your skills and start again from scratches.
Concluding above, it is always worth to be challenged, obtain wider perspective, and most important - to learn from mistakes instead of repeating them.
Whole my education was IT-related. High school for computer sciences, then my first Uni which I gave up after a year - it was too easy, I didn't feel that I'm gaining any knowledge. Then the second Uni, and the second time I gave it up. Going back to learning from mistakes - I mastered some specific programming skills I could not expect Uni to extend my knowledge in this area. But as technology is developing and covering every aspect of our lives, so narrow area I mastered and only basic knowledge outside makes me at most average programmer. So time for learning from mistakes and to make changes.
The first change - country. Way of learning differs a lot depending on country, and I would like to give a try of British education while I'm living in the UK. De Montfort University has variety of courses in IT branch, and programming is certainly what I'm no longer looking after. Time for cybersecurity - I believe it is essential for programmer for Internet based software to be well aware of threats and solutions. After all, it would be better if program is safe from it's core and could defend itself.
In next 4 years beside fancy title BSc (Hons), I should possess mostly fresh skills like software and physical security measurements, cryptography, pen-testing, dealing with malware, viruses and responding on security incidents, and much more. At the end I could also choose optional module, e.g. digital forensics or AI in cyber security.
I was never really good in planning my future. I used to say that I have no plans, I have goals. Among those: own IT business and further development of myself. In best possible scenario, I will expand my current business to the point I could chill a bit more, and in the meantime maybe master's degree? I believe new skills and spark of motivation will help me achieving own goals.
This is very detailed, Excellent!
ReplyDelete