Two fundamental concepts to ground your ICT career.

I am a software developer from Malawi. Skilled in android and web apps.
Information communication Technology (ICT ) stands at the core of various industries. Globally, entities are making economic and social advances through various ICT services and products. In Malawi ICT is arguably an emerging industry, presumably at an infancy stage to summarize it better. While this is the case, the country has few locally developed ICT solutions that have penetrated the international market. Likewise, very few local ICT solutions are making enterprise waves on the local scene and the country relies on imported ICT solutions. While the above scenarios plunge the economy further in the mad, they are further killing or stagnating the growth of the local ICT industry from competing on the international stage.
Now than ever the country needs to make deliberate moves to produce ICT solutions that meet international standards. One foundational arm of the multi-facet journey of growing the country's ICT industry is developing skilled ICT professionals who can develop, scale and sustain ICT systems at international standards.
Arguably, there are two technical foundational concepts key for any ICT skill. These concepts give you a stronger footing in any ICT field. Additionally, understanding these concepts will give you a better view of what you can preferably specialize in with respect to what you find more interesting and fulfilling. In this article, We will reveal the two key concepts discussed above.
Computer networks
The first concept which is arguably the most important of all is computer network. A computer network is no doubt the backbone of any information transmission in ICT systems. Every digital platform needs to be connected to a computer network for it to be used. Think of Facebook, WhatsApp and the desktop or mobile phone you using to access this article, all these platforms need computer network.
No matter what kind of tech career you are interested in, it is essential to know some networking basics. With that being said, a brief history of computer network stands to be a good entry point for your to contextualize why computer networks exists and consequentially understand when, where and how the Internet came to be. Additionally, the history will also reveal some of the key individuals and entities that were pivotal and remain key in the quest of developing the Internet. This history will practically motivate you to be an innovator or a maintainer in the grand scheme of developing and sustaining computer networks and the Internet at large.
Having grasped the history of computer networks, a dive into the technical party of computer networks is inevitable. The technical part of computer networks will have you understand the main components of a computer networks with respect to the devices, standards and protocols. Here you will meet and lean more about Small Office /Home Office (SOHO), Local Area Network (LAN), Wide Area Networks (WAN). Additionally, you will learn about the OSI. The OSI model will reveal the 7 layers it is framed on, the protocols in each layer and how data transmission happens within the layers when computers communicate in a network. You will come across addresses (both MAC and IP) and ports. The OSI model is one network framework you will need to understand and possibly refer to for almost every ICT specialization you will decide to jump on. The second network model you will come across is the TCP/IP. The TCP/IP model has 4 layers which are ideally a compression of the 7 layers found in the OSI model.
Programming
Programming is at the core of computer programs or the logic that coordinates the various to the computer components to produce the desired output as per the human input. Computer programs are what bring the intelligence out of a computer system. The Operating System (OS) is the largest and complex program that gives life to the hardware. Other programs are developed to work with the OS to take advantage of the hardware. Practically, there are many aspects that come into play to realize a computer software but programing will always come into play as perhaps the core aspect. To put it firmly, programming sits as a technical foundational concept in realizing the set of logic that enables computers to do their desired job.
Some key concepts in the programming field include but note limited to variables, control structures, functions and object oriented programming. To write computer programs, you will need a language that you can understand and the computer hardware can also understand. There are various programming languages used for developing various end user programs. Some of the popular languages include C#, C++, python, JavaScript, PHP and GO just to highlights few.
There are many ends to programming. One of the many ends is software development. This stream produces software that can be used for web, desktop, mobile and embedded platforms. Some areas to learn with respect to software development include the development life cycle (SDLC) and the applicable methodologies in realizing a software product. While programming stands to be the core concept in realizing software products, the process to having a full working software requires an ecosystem of other concepts and technologies. One good aspect that comes in handy in this ecosystem is version control. Version control is key for collaboration and sustainability of the software as it gets to be developed and later on released for use.
Another concept that is key and stands to be very beneficial is open source software development (OSSD). Open Source software powers the global digital ecosystem in so many ways. Technically, one giant open source software is Linux. For beginners, OSSD is beneficial for learning the fundamental philosophy and various concepts in software development. Such benefits are realized through code reviews, open discussion in communities which include various top global engineers and companies. Thus through OSSD you will be exposed to various learning and work opportunities.
Computer networks and programming are core to ICT. Learning computer networks will have you understand how computers communicate in the digital world. On the other hand learning of programming will have you grounded in developing programs which are at the core intelligence of computers. Cisco's netacademy offers free courses for building skills computer networks and programming. Happy learning !





