Photo by Sincerely Media on Unsplash
African Agility First Article
African Agility.....My Tech journey begins
As an accountant, transitioning into the 'Tech' world is an interesting one for me with Backend development as my starting point. Here is a short summary of what I have learnt so far from my first week at the African Agility Tech training program.
In this article, we will discuss the web development concepts which is very broad but before we go into the topic let's take a look at the word 'web' or 'website'. A website is an application that works over the internet. In a layman's language it is a space on the internet where different contents are stored such as: videos, pictures, texts, documents, music etc. Creating this website is called web development so we can therefore define web development as creating, building and maintaining websites.
Web development includes aspects such as web design, web publishing, web programming and database management. It involves the use of different programming languages used to create dynamic websites like Python, JavaScript, HTML, C# and CSS just to mention a few. These programming languages make use of frameworks which help build web applications more efficiently such as React, Django, Node.js. The framework you choose depends on the solution you intend to build. For example, Amazon uses Python with frameworks like Django and Flask for building web applications, leveraging Python's versatility for automation, data analysis and machine learning tasks across their platform with Django helping in building complex web applications with features like user authentication and database management and Flask preferred for smaller, more flexible web applications and APIs.
Web development is divided into three core areas as follows:
Frontend development
Backend development
Full stack development
Frontend development which is the face of the web is the part of the website where the user interacts directly. There are core technologies for Frontend development; the HTML (Hypertext Mark-up language) which provides the structure and organisation of content on a website, the CSS (Cascading Style Sheet) responsible for styling and layout, JavaScript which is used to add interactions to the web pages and CSS frameworks like Bootstrap used for creating responsive websites and web application. Some other Frontend frameworks include React.js, Angular, Vue.js.
Backend development is the backbone of the web, the server side of the website where data are stored and arranged. It does not come in direct contact with users so users cannot see and interact with this part of the web. Backend is where a significant portion of coding happens. Backend development also have programming languages and frameworks which includes PHP, Java, Python, Node.js, Ruby on Rails, Django, Express etc while some Databases are My SQL, PostgreSQL, MongoDB and the APIs (Application Programming Interfaces) are RESTful API and Graph QL.
Full Stack development which is the practice of developing both the frontend and the backend websites makes the developer proficient in both areas as they are able to work on all aspects of a website. In Full stack web development, the combination of different frameworks and programming languages used in coding names your stack. For example, the 'MERN stack' combines the MongoDB, Express.js, React and Node.js while the 'LAMP stack' combines LINUX, Apache, My SQL and PHP in their coding.
There are some security practices put in place in web development to secure the web such as secure coding practices, strong authentication mechanisms, data encryption, input validation, using a web application firewall (WAF), regular security audits, password management and so on essentially focusing on protecting sensitive data through robust authentication, encryption and input validation while actively monitoring for potential threats and vulnerabilities.
In addition to the web development security practices, there is a code Version Control System (VCS) called Git, a software tool that tracks changes to files or code over time which allows developers to revert to earlier versions of their code. Git provides developers with tools to manage code efficiently, even in large and complex projects and make collaboration easier allowing changes by multiple people to be merged into one source.
No matter how appealing a website may look, good communication with clients is critical. The purpose and goal of your online presence must be defined through compelling and convincing content and also paying close attention to all graphic components to ensure the establishment of a completely working site.
In light of all the securities, protection and efficiency measures provided for websites and also in the future, web development may be driven by advances in browser technology, web internet infrastructure, protocol standards, software engineering methods and application trends. Will these technology advances sustain it? Will web development be replaced by AI (Artificial Intelligence)? what do you think? please drop your comment.
As an accountant transitioning into tech, my journey into web development has begun with a focus on backend development. In this article, I summarize my first week at the African Agility Tech training program, covering essential web development concepts, including frontend, backend, and full stack development. I discussed core technologies like HTML, CSS, JavaScript, Python, and frameworks such as React and Django. The article covers the importance of security practices, version control systems like Git, and the role of effective communication with clients. Finally, it poses questions on the future of web development in the face of technological advancements and AI.