Learn to code

Whether you want to become a Front-end Developer, Back-end Developer, Full Stack Developer, or DevOps, you should know about Operating System (OS), Internet, Version Control Systems, etc. Responsibilities and skills depend on the job detail, the overview for them:
  • The front-end of a website is the part that users interact with. Everything that you see when you’re navigating around the Internet, from fonts and colors to dropdown menus and sliders, is a combo of HTML, CSS, and JavaScript being controlled by your computer’s browser. Front-end developers are responsible for a website’s user-facing code and the architecture of its immersive user experiences. In order to execute those objectives, front-end devs must be adept at three main languages: HTML, CSS, and Javascript programming.
  • What makes the front-end of a website possible? Where is all that data stored? This is where the back-end comes in. The back- end of a website consists of a server, an application, and a database. A back-end developer builds and maintains the technology that powers those components which, together, enable the user-facing side of the website to even exist in the first place.
  • A Full-stack developer is responsible for both the front-end and back-end development of an application.
  • DevOps means development and operations. DevOps Developers are basically IT professionals with expertise in coding, scripting, and managing the overall operation of product development and deployment. These developers transform the traditional ways of software development, operations teams, and testing into a holistic environment for superior quality product development.
The content below gives you an overview. I will have some topics for each section on my blog later.

Operating System (OS)

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
You can use macOS, Windows, Linux, Cloud-based laptops (e.g. Chrome OS), or whatever you think is suitable. Personally, I choose the operating systems in the Debian-based (Ubuntu and its official distributions or Linux Mint Debian Edition/ Linux Mint). Operating systems in the Debian-based can install software with APT (Advanced Package Tool) command, have the configuration, and more things in the same way (Ubuntu is also supported by Canonical Ltd.)
Common operating systems:
Linux distributions need a desktop environment to provide the usual GUI and native applications. This is where you’ll find the graphical user interface to work with programs – it can be used for any size or type of device. There are so many great features to point out with Linux, but the one I like best is how there are so many different desktop environments to choose from. And just like how there’s an abundance of choices with Linux distros, you also have different options for your desktop environment.
Desktop Environments for Linux: KDE PlasmaGNOMEMATEXfceDeepinLXQtBudgieCinnamonand more...
When working with UNIX you need a mapping of some hostnames to IP addresses before DNS can be referenced (update the file /etc/hosts) or work with the *.sh (Bash Shell Script) file.


The Internet is a vast network that connects computers all over the world. Through the Internet, people can share information and communicate from anywhere with an Internet connection.
HTTP is a protocol for fetching resources such as HTML documents. It is the foundation of any data exchange on the Web and it is a client-server protocol, which means requests are initiated by the recipient, usually the Web browser. A complete document is reconstructed from the different sub-documents fetched, for instance, text, layout description, images, videos, scripts, and more.
Hypertext transfer protocol secure (HTTPS) is the secure version of HTTP, which is the primary protocol used to send data between a web browser and a website. HTTPS is encrypted in order to increase security of data transfer. This is particularly important when users transmit sensitive data, such as by logging into a bank account, email service, or health insurance provider.
SSL stands for Secure Sockets Layer and, in short, it's the standard technology for keeping an internet connection secure and safeguarding any sensitive data that is being sent between two systems, preventing criminals from reading and modifying any information transferred, including potential personal details. The two systems can be a server and a client (for example, a shopping website and browser) or server to server (for example, an application with personal identifiable information or with payroll information).
A browser is an application program that provides a way to look at and interact with all the information on the World Wide Web. This includes Web pages, videos and images. Popular browsers: Google ChromeFirefoxBraveTor Browser
Domain name
A domain name is a unique, easy-to-remember address used to access websites, such as ‘google.com’, and ‘facebook.com’. Users can connect to websites using domain names thanks to the DNS system.
The Domain Name System (DNS) is the phonebook of the Internet. Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.
A server is a computer or system that provides resources, data, services, or programs to other computers, known as clients, over a network. In theory, whenever computers share resources with client machines they are considered servers. There are many types of servers, including web servers, mail servers, and virtual servers.
The cloud is made up of servers in data centers all over the world. Moving to the cloud can save companies money and add convenience for users.
Software as a Service (or SaaS) is a way of delivering applications over the Internet - as a service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management.
A client is a piece of computer hardware or software that accesses a service made available by a server as part of the client–server model of computer networks. The server is often (but not always) on another computer system, in which case the client accesses the service by way of a network.
An intranet can be defined as a private network used by an organization. Its primary purpose is to help employees securely communicate with each other, to store information, and to help collaborate.
Website is a collection of information pages containing content in the form of text, numbers, sounds, images, videos, etc., which are stored on a server (webserver), for example, websites wikipedia.org, google.com, amazon.com, etc.
Hosting, in its most generic sense, is a service through which storage and computing resources are providing to an individual or organization for the accommodation and maintenance of one or more websites and related services.
Short for electronic mail, e-mail or email is information stored on a computer that is exchanged between two users over telecommunications. More plainly, e-mail is a message that may contain text, files, images, or other attachments sent through a network to a specified individual or group of individuals.
VPN stands for "Virtual Private Network" and describes the opportunity to establish a protected network connection when using public networks. VPNs encrypt your internet traffic and disguise your online identity. This makes it more difficult for third parties to track your activities online and steal data. The encryption takes place in real time.
The term Internet Service Provider (ISP) refers to a company that provides access to the Internet to both personal and business customers. ISPs make it possible for their customers to surf the web, shop online, conduct business, and connect with family and friends—all for a fee. ISPs may also provide other services including email services, domain registration, web hosting, and browser packages. An ISP may also be referred to as an information service provider, a storage service provider, an Internet service provider (INSP), or any combination of these three based on the services the company offers.

Text Editor & IDE

A text editor is simply a computer program and a tool used for editing plain text. An IDE, on the other hand, is a full-fledge software environment that consolidates basic developer tools required to build and test software. Without IDE, a developer would have to select and manage all these tools separately, but IDE brings all these tools together as a single framework or service.
Depending on your operating system, your preferred coding languages, your budget, and your personal preferences, you will choose the suitable Text editor or IDE. Some popular of them:
Cloud IDE/ playground

Front-end Developer

The front-end of a website is the part that users interact with. Everything that you see when you’re navigating around the Internet, from fonts and colors to dropdown menus and sliders, is a combo of HTML, CSS, and JavaScript being controlled by your computer’s browser.
HTML is the markup language that we use to structure and give meaning to our web content, for example defining paragraphs, headings, and data tables, or embedding images and videos in the page.
Places to Learn HTML Online
W3 SchoolsSoloLearnMozillacodecademyLinkedIn LearningHTML cheat sheetHTML Best Practices
CSS is a language of style rules that we use to apply styling to our HTML content, for example setting background colors and fonts, and laying out our content in multiple columns.
Places to Learn CSS Online
W3 SchoolsSoloLearnWeb.dev by GoogleMozillacodecademyLinkedIn LearningCSS cheat sheet
JavaScript is a scripting language that enables you to create dynamically updating content, control multimedia, animate images, and pretty much everything else.
Places to Learn Javascript Online
W3 SchoolsSoloLearnThe Modern JavaScript TutorialLinkedIn LearningYoutubeLearn JavaScriptJavascript cheat sheetJavaScript best practices
Package Managers is a system that will manage your project dependencies. Popular Package Managers: Node package managerYarn
As a front-end developer, you will hear the concept of Responsive web design. You can code it yourself or use built-in libraries such as BootstrapTailwind CSSBulmaChakra UIMaterial DesignFoundationUIkitMilligramPureTachyonsMaterializePicoSemantic UI
To use beautiful and awesome fonts on page web, you can use Google fontsFont SquirrelMyFontsdafontEverything FontsFontGetFontShare
Besides traditional Javascript, we also need to learn TypeScriptCoffeeScript (Convert Javascript to Coffee: js2.coffee)ES6JSX
Javascript build tools WebpackesbuildGruntNPM scripts
Server side rendering (SSR) with VueJSAngularReactRedux
Generating static websites with Next.jsGatsby
Want to build mobile applications? Try React NativeFlutterNativeScriptIonic
Want to build desktop applications? Try ElectronCarloProton native
Making HTML should be easy, beautiful, and efficient with Haml (HTML abstraction markup language) (Convert HTML/ERB to HAML: awsm-toolsHtml2Haml)HandlebarsMustacheEJSJadeBlazeJS
To create dummy texts, images and JSON you can use Lorem Ipsum generatorLorem PicsumFake JSONJSON Placeholdermicro-jaymockmockable Beautiful Free Images & Pictures UnsplashSKUAWKPexels
Online File Converter for JSON, XML, Excel, PDF, and other formats Conversion ToolsGenerate HTML, CSS, JSON-LD, Twitter Cards, Open Graph and more with Web Code ToolsBuild Full-Stack Javascript Apps with MeteorThe WAVE allows you to evaluate web content for accessibility issues directly within your browser

Back-end Developer

Content is coming soon...


Content is coming soon...

Version Control Systems

Version control systems are essential tools for software development and collaboration. They enable teams to track changes, manage different versions of code, and work together more efficiently. Git, SVN, and Mercurial are among the most popular version control systems, each with its own strengths and weaknesses. To learn more about version control systems and how they can improve software development, click https://vulehuan.com/en/blog/2023/03/understanding-git-and-other-version-control-systems-42.html to read the full article.

Containerization vs Virtualization

Content is coming soon...
Please Login to post comment.
upGrad provides learners with access to industry-relevant courses and programs in collaboration with top universities and industry partners to upskill and advance their careers. To learn more about upGrad, please CLICK HERE.