As you are reading this book, I am assuming that you want to learn programming.
You have to know and learn a lot to achieve your goal. Therefore your first goal
is to know and learn. Before learning programming you have to learn the basic and
subtle matters about programming because we should have a good knowledge of a work
to start learning it. Prepare yourself to learn programming by acquiring the details
of programming. Plan yourself what you should learn and from where to learn programming
and then start learning about it, because you must have a good planning to achieve any goal.
The present age is the age of technology. You should have a good knowledge on
technology to keep pace with the present Age. At present the importance of
programming is immense in the world. Programming is a large part of computer
technology. If you have decided to learn programming, then it is the best
decision that you have taken because you can bring your financial solvency
and be honored by programming.
If you are a newbie in computer technology, it will seem to you a dark way.
Think a little while, today those who are Programmers, Software Developers,
Software Engineers and computer scientists, they also passed the dark way.
Today they are successful by achieving their goals passing the dark way.
You can also pass the dark way if you try your best.
Computer technology is divided in two branches- hardware and software.
These two branches are divided in different sub-branches and computer
technology is developing by dividing these two branches into many sub-branches.
I will try to give you advices from my experience on the software branch of
computer technology to make a career. If you want to build your career in
software section some questions will come in your mind and this book is designed
according to these questions and their answers. Therefore all of the topics of
this book are very important for you. Thus you have to read the book with deep
attention and try to understand. If you cannot understand then read again and again.
Let me give you an example about the importance of programming languages.
What will you think if you see that there is no software in the computer
or mobile phone of your friend when you switched it on. There is no video
player, audio player, internet browser, gaming software? It will seem to
you that the computer or mobile phone of your friend is totally useless.
All the installed softwares of mobiles or computers are made by using
programming language. I think you are able to realize the importance of programming language.
Programming languages are used in all the technology of the world. I think,
no technology can be completed and self-sufficient without using programming language.
Yes, you can be Programmer, Web Developer, Software Developer,
Software Engineer by learning programming languages.
Many of us think that "to be Programmer, Web Developer, Software Developer,
Software Engineer it needs to study on technology."
Let me make you understand by some examples: Web Development, Software Development,
Software Engineering are also professions like professions of business, non-government and government jobs etc.
The man who does business is called businessman like this the man who makes software is
called Software Developer. A businessman earns money by doing business like that
a Software Developer earns money by making software.
The man who does business can introduce himself as businessman like
that who makes software can introduce himself as Software Developer.
Obtaining a degree from an academic institution means a student has achieved his
honors and master's degree on computer technology from an institution. An academic
institute can only give the basic knowledge to a student. Such as- how a computer runs,
how to do coding, how to make software, the responsibilities of a Software Developer, the
responsibilities of Software Engineer, the responsibilities of computer scientist etc.
To be a Software Developer or Software Engineer one should study more than the institutional
education and be skilled on Software Development and Software Engineering. In brief, to be
a Software Developer or Software Engineer one has to be depended on one's learning not on
the institutional learning. Anyone can be a Software Developer and Software Engineer by learning programming languages.
Big companies need Software Developers and Software Engineers not merely the degree
holders of honors and masters. Thus these companies emphasize on skill instead of
certificates when they recruit Software Developers and Software Engineers. If the
candidates have enough skill they give job to the candidates even if they do not have certificate.
Thus you can be a Programmer, Web Developer, Software Developer, Software Engineer if you can learn programming language.
If you have any institutional education then you can acquire the skill of a Web Developer,
Software Developer, Software Engineer in a very easy way.
I felt the necessity of learning a lot of things when I started studying programming language.
I divided the skill of computer technology into 6 parts to make my learning faster and perfect.
If this method comes as fruitful to you then you can also follow it.
First Step: You can assume that you have crossed the first step when you
will be able to switch on/off a computer, install/uninstall software, solve general issues
of hardware and can use the application software. I think you will be able to have computer
operator's skill if you can cross the first step.
Second Step: When you can learn anything by browsing the internet,
you will be able to cross the second step. I think you will be a skilled computer user
if you can cross the second step.
Third Step: You will cross the third step when you can write a program
of your own or others software by learning programming language. I think you will achieve
the skill of a Programmer.
Fourth Step: You will cross the fourth step when you can make a
dynamic website or software to solve the problem of people by using the method of
Software Development. I think you will achieve the skill of Software Development.
Fifth Step: You will cross the fifth step when you can solve the
problem of your own or others by developing software in an easy way, low cost and
less manpower that is acceptable to all. I think you will achieve the skill of a
Sixth Step: When you will make hardware or improve the quality of
a hardware for the development of computer technology or solve any problem of
computer technology or help the Software Developer and Programmer to develop a
software for the development of computer technology, you will cross the sixth step.
I think you will achieve the skill of a computer scientist if you can cross the sixth step.
To learn and build a career quickly there are important tutorials given from Udemy.com.
I think you will learn quickly and perfectly if you learn from the tutorials of Udemy.com
The biggest companies of the world recruit Programmers, Software Developers,
and Software Engineers to develop new software and create and manage their
websites and for the improvement of their software and websites. You can get
job in these companies if will able to achieve the skill of Programmer,
Software Developer, Software Engineer by learning programming.
You can get job in these companies if you will able to be a Software Engineer.
You can earn money by creating your own website and software.
You can earn by establishing your own software company.
You can earn money from freelancing marketplaces.
You can earn money by teaching programming on YouTube.
Actually you can earn money by using any of your ideas if you know programming.
Internet can simply be defined as the connection between two computers.
To explain it in a further clearer way, I can say that my photo is
deposited to the data center when I uploaded my photo on Facebook.
When you visit my profile, you can see my photo that is stored in
the data center of Facebook. The connection or relation that is built
between your computer and the data center to see my profile photo is
called internet. Always remember one thing, what we see or read in
internet is the storage of data or information of a computer and the
computer which stores the data or information is called data center.
Data center is created with the combination of a single or more than
one high configured computer and thousands of hard discs. This kind
of computer is always running, if there is one computer being shut
down, then there will be no data available on the Internet.
Now a question can rise in your mind that how is the connection build
between my computer and the data center of Facebook? You may know the
word sub-marine and sub-marine cable. To connect all the computers in
the world, one country has been connecting with another country with
sub-marine cable under the sea. This sub-marine cable is connected with
all the data centers. So you can visit all the websites with your computer.
Now a question may rise in your mind that your computer is not connected
with sub-marine cable then how a connection created between your computer
and Facebook data center can. The company which gives you internet service
is called Internet Service Provider (ISP). For example: 'Grameenphone' and
'Banglalink' in Bangladesh, 'Jio' in India etc. It is impossible for these
companies to connect your mobile phone, computer or laptop with internet
by using cable. So they provide internet service by setting up network tower
in many places of the country.
Suppose you have a movie in your computer. You have to install your operating system
(Windows 8, Windows 10) and then install a video player to watch the movie. Like this
way the data center has to install an operating system in the computer of the data
center to see the data of the data center. This operating system is called Server
Operating System. Server Operating System is made by various companies. The computer
which is using the operating system made by Microsoft is called 'Windows Server' and
made by Linux is called 'Linux Server'. The computer which installs server operating
system is called 'Server' and the computer that is used to see or read the data is
called Client Computer.
A request is sent to the server from your computer when you enter a URL
(Uniform Resource Locator) in your browser and server sends the data as a
package to your computer according to the request. As a result you see the
information in your browser that is present on the server.
Like we use names to recognize other people, in the world of internet,
a computer uses IP Address as a name to recognize or to request and
exchange data with other computers.
You see the data of WDguideline.com when you enter WDguideline.com. This matter
is not actually as easy as it seems. Your browser does not know which server
stored the data of WDguideline.com. There are hundreds of servers in the world.
There is a server named as DNS (Domain Name System Server). This server knows
in which server the data of a website is stored. When you enter WDguideline.com
in your browser, a request is sent to the DNS server. In a word, your computer
asks the DNS server where's the information of WDguideline.com is stored in.
I want to see the information of WDguideline.com. Then DNS server provides the
IP Address of WDguideline.com and your computer is connected with the server of
WDguideline.com. Then you can see the stored information of my server.
The term Domain actually means an IP Address which makes connection between
DNS server and web server. This IP Address is tough to memorize. Thus a name
is given to it . Buying a domain means the registration of a name and number
of your data storage in DNS Server, which is simply like saving a number and name
of a person in your phone book. DNS Server saves the domain name of a website and
IP Address of the server. Therefore, you can see the stored information of my server.
Now let's know who sells domain? ICANN (Internet Corporation for Assigned Names and Numbers)
is the only seller of domain. They have appointed their agents in different countries
in order to sell domain. These agents are the hosting providers.
Generally web hosting means some specific places of data center where the data of a website is kept.
Now let us see how many types of domain are there? Domain is
divided in different classes depending on the domain extension.
The name of this website is WDguideline.com. Here .com is the
domain extension. There are three classes of domain. They are-
1. Top Level Domains (TLD)
2. Second level Domains
3. Third level Domains
1. Top Level Domains (TLD)
Top Level Domain (TLD) is divided into three classes.
i. country code Top Level Domains(ccTLD)
These domains are registered for particular countries.
For example: example.in, example.us, example.jp.
ii. generic Top Level Domain (gTLD)
this domain is the most used one . the gLTD extensions are as followings- com, org, net, edu, gov, mil etc.
iii. internationalised country code top-level domains (IDN ccTLD)
This domain can be in any language except for English or can be in any special character.
Such as- India.in as भारत.in .
2. Second level Domains
A country code is added with these domains.
Such as- example.com.bd, example.com.in etc.
3. Third level Domains
Sun-domains are called third level domains.
In some cases it may be other domains.
Example of sub-domain: info. WDguideline.com.
Now let's know what is meant by extension of domains.
.com is used for any kind of business.
.net is used for any kind of research.
.info is used to publish any kind of information.
.edu is used in the field of education.
.gov is used for the work of government.
At first let us know what is website? Website means visible pages,
pictures, audios, videos and the sum of other digital information,
with the help of domain and it is called website or site.
There are two kinds of websites:
Static Website: The website which shows same type of information
to everyone and users or visitors cannot make any change of these information of
the website is called a Static Website. For example, this page is a static page.
This page shows same information to everyone and visitors cannot make any kind of change here .
Dynamic Website: The website which does not show the same
information to everyone and users or visitors can change the information of
the website is called a Dynamic website. Social media sites do not show same
information to everyone and visitors can change the information .
Please notice that, when you visit a website some processings are
completed by your computer and servers. These processings and all
the data visible by these processings altogether is called the
World Wide Web, in brief The Web, www or W3.
The method by which data is transferred to your computer from the data
center is called Hypertext Transfer Protocol. It is called http in short.
Most of people think that 'Internet' and 'www' are the same thing .
But they are not the same. Internet is the connection between two
computers on the other hand 'www' is the provider of easy methods
of watching or reading data of a computer.
Every Dynamic website is called a software. Let me give an example to make it easier.
All the softwares of the android mobile those are used must be uploaded in the Play Store.
This software cannot be used to other mobile or computers except android mobile. Therefore
all the softwares of Play Store are called Android Application. In short, an App.
Likewise all the softwares uploaded to World Wide Web or web server are called Web Applications.
Just notice this, thatapplication depended on operating system cannot be used in any other
operating systems except some particular operating systems.
Android Application cannot be used in other operating systems except Android operating system,
Windows Application cannot be used in other operating systems except in windows operating system.
Applications depended on World Wide Web or Web Server can be used in any operating system.
Thus big companies are established on the basis of web application. Such as- alibaba.com,
amazon.com, google.com, facebook.com etc.
The difference between Web Application and other application is. source code has to be
used by downloading in your own computer in order to use other applications except for
web application, but source code of Web Application remains in server computer.
Thus web application has to be used with an internet connection. That's why Web
Application does not need to be downloaded in order to use it.
To know details about Software and application, please read the article named "Types of Software?".
Many of us may have wrong ideas about Web Development. Thus it is my duty to provide the right information about Web Development before someone starts learning Web Development. Everyone, who wants to learn Web Development, should have clear idea on Web Development.
The works, those have to do from making a website to live it in internet, are called Web Development.
To describe the importance of Web Development let me give an example from my website
WDguideline.com. You are now browsing my website to know about Web Development. Just
think for a moment, I have to come at your home or you have to come at my home to
help you regarding Web Development if I have not created WDguideline.com. I have
created WDguideline.com to reduce the pain. Now you and other like you can easily
test your skill and find your mistakes by WDguideline.com. Just think a bit more,
if there are not Google, Facebook, You Tube and Gmail then what could have happened?
I think you are able to realize that what could happen if those websites would not
have existed. Google, Facebook, You Tube and Gmail etc. are some of websites. All
the websites of the world have been created to complete the demand of the people.
And these websites are created by men like you and me. They made these biggest
websites as they have learnt programming. They make our life easier by creating
these websites. Thus it cannot be describe the importance of a Web Developer in
this world. You can also help people by your website by learning Web Development.
N.B.: To make you understand Google is used for all search engines, You Tube for
all video sharing websites, Facebook for all social media websites and Gmail for
all email service providers.
We all know that there are more opportunities to earn money through the work that is more important.
The biggest companies of the world appoint Web Developers to create new websites, to maintain their
websites and to develop the quality of their websites. You will get appointed in those companies
if you can learn Web Development well.
You can earn money by creating your own website.
You can earn money by establishing Web Development Company of your own.
You can earn money from freelancing marketplaces (fiverr.com, freelancer.com, upwork.com etc.).
You can earn money by teaching Web Development on YouTube.
Actually if you know Web Development you can earn money from internet by using any of your ideas.
Generally the person, who creates website, is called Web Developer. But in web technology,
the phrase 'Web Developer' does not carry any specific meaning because a lot of works have
to do to build a website. By the phrase 'Web Developer', it cannot explain the specific skill
of a person regarding website building. In a word, it cannot measure the skill of a person by
the phrase 'Web Developer'. To know about the types of Web Development and Web Developer please
read the article named as Types of Web Developer .
To develop a website it need to work in three steps. The steps are-
1. Front-End Development,
2. Back-End Development,
Depending on these three steps Web Developers are divided
into three types. They are-
1. Front-End Developer,
2. Back-End Developer,
3. Full Stack Developer
The design that is received from the web designer is transformed to a
called Front-End Development. The person who does the work of
Front-End Development is called Front-End Developer.
The static page that is transformed to a dynamic page by using Server
Side Language (PHP, ASP, NET, Python etc.) is called Back-End Development,
The person who does the work of Back-End Development is called Back-End Developer.
Full Stack Developer:
To make a website live and solve different problems of a website is called web mastering.
The person who can make a website live and can solve different problems of the website is
called a Web Master. The person who does the three work of Front-End Development, Back-End Development
and Web Mastering, is called Full Stack Developer.
Almost all the popular programming languages have same rules.
There are only some differences in sentence making (syntax).
So it is easy to learn other programming languages if one language is learnt well.
Before read this post please read What is Website.
The visible structure of a website in web browser is called Front-End.
All the visible information in web browser is nicely organized and presented by Front-End Language.
To make a website dynamic the structure is built by using Back-End Language, this structure is called Back-End.
Let's have an example: All the questions of SKILL TESTER of WDguideline.com
are beautifully presented to you by using Back-End Language. This visible
structure of Skill Tester is called Front-End. When you submit the answer
of the questions you can see your wrong answer, what should you need to learn,
and your result. To provide you result and guideline a lot of program are
created by the Back-End Language. These programs are called Back-End.
There may have misunderstanding about web designing. So before learning web
designing it is my duty to provide you information about web designing.
Many people think that web designing and Web Development are the same
skill or work. But web designing and Web Development are different work or skill.
Generally a web designer designs a website, what will be there in a website,
what will be in a page, what colors are there in pages and so many other works.
In a word, a web designer makes the sketch of a website by using his imagination.
Every web designer wants to give a realistic look to his website of his imagination.
Thus he gives realistic look of the website of his imagination by using Client Side
to express his/her skill in a word. It does not evaluate his skill if we call him a web
designer. In fact he is a web designer and a Front-End Developer.
I am saying it to the beginner Web Developer
please think 100 times before introduce yourself as a web designer by learning only HTML,
a little knowledge on web technology, do not understand the Front-End Development. For easy
understanding, Front-End Development is meant to be the web design.
To know more about Web Designing please visit the
You can learn Web Development in different ways
1. You can learn Web Development from different websites.
2. You can learn Web Development by watching videos on YouTube.
3. You can learn from different institutes or academies.
4. You can learn from paid video tutorials.
Before studying Web Development please test your skill by
IT Skill Tester of WDguideline.com.
Because every beginner Web Developer should have the knowledge of Basic Computer and Internet.
Thus test your skill before starting study about Web Development.
How long it will take you to learn Web Development depends on various things:
1. It depends on your planning.
2. It depends on the source from where you are learning.
3. It depends on the source from where you are seeking help.
I think, you will be skilled enough to work in freelancing market places within 1 year if you learn attentively.
I have said earlier that, Front-End Development is done by using Client Side Language.
Thus it important to learn Client Side Languages in order to learn Front-End Development.
At first learn HTML then CSS and select five websites of your choice. Create five templates
to HTML. Then you can introduce yourself as a Front-End Developer and work as a Front-End Developer.
To be a Front-End Developer you have to know code maintaining,
bug fixing and error fixing of static webpage.
You have to learn SQL after learning HTML and CSS if you want to learn Back-End Development.
Next you have to learn any of the work of DBMS. Then you have to select a Server Side Language
and learn it. Popular Server Side Languages are PHP, ASP.Net, Python.
My Advice to select Server Side Languages:
If the beginner Web Developers cannot select suitable Server Side Language to achieve their targeted career,
it will be hard to build their targeted career. So it is very important to select a suitable Server Side
Language for the targeted career.
For the Career of Software Engineering:
To be a Software Engineer it is important to achieve skills of different platforms of software.
Web Development is one of them. It is very important to select Python as Server Side Language to be a
Software Engineer, because Python is used more in making of software of other platform.
For a career in Freelancing and Web Application Development:
PHP is a suitable Server Side Language for freelancing and web application development because all
the popular CMS and Frameworks are created by using PHP. Thus works of PHP is more available in
freelancing market. Now know how to learn Back-End Development.
If you want to build career in freelancing market, you can build website with WordPress by
learning WordPress Theme Development. It is important to learn Basic PHP before learning
WordPress Theme Development.
To be a Back-End Developer you have to know code maintaining,
bug fixing and error fixing of dynamic webpage.
You can learn from the following paid tutorials (affiliate link).
When you will be learning Web Development you will do a lot of error in terms of using
codes and you cannot find out any solution for them. If a skilled developer can help at
that time you can learn it more quickly. There are some websites to solve this problem.
Stackoverflow.com is one of them. They will provide you solution of your problems if you write a post on their website.
Now you may have a question that, what are the benefits of stackoverflow.com
gets by helping me. A lot of developers provide solution by registering in
stackoverflow.com. By providing solution they get points and these points indicate
the measurement of their skill. The person who has more point has more opportunities
to get a job in the biggest companies.
If you face any problem, then search the solution in Google at first.
If you do not get any solution then post your problem on stackoverflow.com.
Suppose you want to set the color of the background of any div of HTML,
but unable to understand how to write the code. Just search by writing "how to set background color in div" in Google.
You will find a lot of search results and if you do not get any solution from the search results
then post the details of your search by giving title 'how to set background color in div
in stackoverflow.com and you will get solution.
Webmastering is the work of making live of a website and search the problems and solve the problems.
The person who does Webmastering is called an webmaster. He,
who is a Front-End Developer and Back-End Developer, can do webmastering.
Because He can easily find out the problems of Front-End and Back-End and solve
them very quickly. Thus learn the Webmastering after learning Front-End Development and Bach-End Development.
Now let us know how to learn webmastering.
Before this let's know the steps of webmastering.
1. Buying the domain hosting.
2. Known to the functions and works of cpanel.
3. Connecting the domain with the hosting.
4. Installation of different software to live the website.
5. Test the capacity of all the pages and functions. If any problem is found then solve it.
6. Confirm the basic security of the website.
Someone will not allow you to learn webmastering on his website.
To learn webmastering learn it in your own website. You can learn
webmastering by buying a domain and hosting in your name according
to your plan. The 10 PSD file, that you have transformed PSD to HTML,
use them and make the pages dynamic and create portfolio site by making sub-domain.
When you will learn Web Development, you need to know a lot of basic information and you cannot learn what you want.
If you seek the help of WDguideline.com, WDguideline.com will help you.
When you learn Web Development, you will face the following problems
1. Is there any mistake in my learning ?
2. What should I do to increase my skill ?
3. Am I skilled enough to learn a new language ?
4. Which language should I need to learn after completing one language ?
5. How much skill have I acquired on that language that I have learned ?
If you seek the help of WDguideline.com you will get an easy solution of all these problems.
Suppose, you are learning HTML. you will not know which code you will need to learn now.
If you test your skill by HTML Skill Tester daily, HTML Skill Tester will measure your skill.
It will inform you what wrong you are learning, what tag you need to learn and from where you
should learn them. Then you will learn Web Development quickly.
Suppose you are now learning Back-End Development and your concentration is on Back-End Languages,
you may forget many things of Client Side Language. Thus at the time of learning Back-End Development,
you can test your skill of Client Side Language in your off time. It will keep tight your skill on Client Side Language.
In a word, the more you test your skill in WDguidelinne.com, the more your skill on web languages or code will be clear.
Freelancing is a profession like any other job.
It has to abide by all rules and regulations to maintain a
job in an office but in the case of freelancing there are no
rules and regulations like office. You can work as per your wish.
Generally freelancing is divided into two parts. They are: online
and offline. The person who does freelancing is called a freelancer.
The place, where the two persons one of them who want to get his work done (buyer)
and one who wants to work (seller) can fulfill their purposes, is called freelance marketplace.
The work of freelance marketplaces is to tie the parties among whom one wants to get his work done
(buyer) and one who wants to work (seller).
The client or buyer post on freelance marketplace what he wants to get done for him.
Freelancers apply to do the work for the buyer. The client or buyer gets his work
done by choosing the preferred freelancer.
Freelancer is an independent person who works for different organizations according to his skill.
Freelancer is the person who works independently without signing any contract with any organization.
One cannot be a freelancer by knowing work.
It needs high communication skill to be a freelancer.
Communication skill does not mean only the conversation. Communication skill means the ability to
convince the client or buyer and the realization of what the client or buyer is trying to say.
Let's make it clearer. your client or buyer want to make a website. He may not have the knowledge
of web technology. At that moment to make him understand about web technology and how to make
a website is the communication skill.
The names of Facebook and Google come in our mind whenever we talk about the biggest
companies of the internet world. Just think a little bit, how Facebook and Google
have developed as biggest companies. The biggest companies of the world are
formed from the little ideas to solve the problems of people.
The aim or goal of facebook.com is to gather the people of the
whole world and give an opportunity to express or share their
thought. This idea made facebook.com immensely successful
and that's why it has developed as big company.
The aim or goal of google.com is to present all the information of the internet
(websites of internet) as link to us. This idea has made google.com successful
and that's why Google has developed as a big company.
If you learn Web Development, you can establish a company of your own by giving a real face of your idea.
If you learn Web Development properly, you can earn money by establishing a web technology provider company.
If you want to establish web technology provider company, you have
to be a Full Stack Developer and be skilled in SEO and web security.
Then you can deliver a complete website to your client.
A company deals with many projects so it is impossible to lead a company
by one man. If your work with multiple projects, you cannot deliver your
work on time and there may have many mistakes in your work. So you have
to form a team for perfection and quick delivery of work.
The person, who is the web designer of the team, will draw the picture of the website according to the recruitment of the client.
The person, who is the UI UX Expert of the team, will make the design of web designer to useable web picture for the visitors.
The person, who is the Front End Developer of the team, will convert the web picture of the UI UX Expert into a static page.
The person, who is the Graphic Designer of the team, will create the log and banner of the website.
The person, who is the Back End Developer of the team, will convert the static pages into dynamic web pages.
The person, who is the Web Master of the team, will make the website live in the internet.
The person, who is the Web Security Expert of the team, will check the security and help to make secure the website.
The person, who is the SEO Expert of the team, will do the SEO work of the website.
You can do any of the above mentioned works.
We use different languages to express our feelings. The languages are Bengali,
English, Hindi etc. Computer is not human being. It does not understand
languages like Bengali, English, Hindi etc. We have to use a
different language to express our feelings to the computer.
These languages are called programming languages. Let's make
it clearer. The people of China do not understand anything
of Bengali. So it is not possible to make the people of
China by using Bengali. To make them understand we have
to use Chinese language. Likewise to give any instruction
to the computer we have to use programming languages.
When you write echo "My First Program"; by installing PHP in your computer,
you are giving instruction to your computer to write My First Program.
When you write echo "My First Program"; after installing PHP in your computer,
you are giving instruction to your computer to write My First Program.
The instruction, which you have given through a code to your computer,
is called a program. Here echo "My First Program"; is a small program.
It would be better to understand by an example. The number of visiting
this page will be counted and the number will be shown in the page.
These codes are doing a specific work in my website. The codes,
those are written to count the number, are together called a program.
Program is the sum of a lot of codes which gives instruction to do specific works.
Let me make it clearer. The codes, those are working to complete a specific work of software, is altogether called a program.
We use different languages to express our feelings. Letter is the smallest unit of each language.
In English language 'from a to z' total 26 letters is the unit. We construct words by using these 26
letters and we express our feelings by constructing sentence by using a number of words. We do all
work of English using these 26 letters. Like that computer works by using 2 digits. The digits are "1 and 0".
When you save anything in your computer, all the things are translated and saved by using the 2 digits "1 and 0".
For example: I have written "my name is Shyamol" using notepad and saved the sentence,
the notepad translate the binary code and save the binary code to computer.
Notepad translates the binary code to English and represents to us when the file
is opened. The binary code of
"My name is Shyamol" is 01101101 01111001 00100000
01101110 01100001 01101101 01100101 001000000 01110011 00100000 01110011 01101000
01111001 01100001 01101101 01101101 01101111 01101100.
Now a question may rise in your mind that, who has translated the
sentence from "Human Readable Language" to "Binary Language"?
"Complier" or "Interpreter" translates everything
that we write by using the programming languages.
"Complier" or "Interpreter" of programming language converts
the program code to binary code and give instruction to the
computer. Then the output is represented to us as human
Many programs that can do specific tasks together then those
programs are called software.
You will better understand if an example can be represented.
A number of programs work together to help you when you take
part in the examination of 'Skill Tester' of my website.
The running programs are-
A program runs for informing the number of correct answer that is given.
A program runs for informing the number of wrong answer that is given.
A program runs for counting how many questions are not answered.
A program runs for counting how much time it was taken for the examination.
A program runs for informing which questions are answered wrongly.
A program runs for informing what is needed to be learnt.
And there are many other such programs.
These programs work together and help you to learn Web Development.
That means the sum of these programs is called a software.
Generally there are three kinds of software.
1. System Software.
2. Application Software.
3. Malicious Software.
System software :
The software, that directs the hardware of
a computer and provides the environment of
working to the application software, is called
system software. Example: all operating system,
utility software and antivirus.
Application software :
The software, that helps a person to do a special
work, is application software. Example of application
software is- android application, ios application and
desktop application etc.
Malicious software :
Malicious software is a kind of software,
that interrupts the normal work of computer
or mobile, collects information secretly,
is used for an illegal entry into a safe
computer network or used for showing unexpected
advertisement. In short, it is called a Malware.
Example of Malicious softwares are- computer virus,
Trojan Horse, Spyware etc.
The small unit of software is a program. The person who
composes the program is called a Programmer. Indeed,
the person, who can compose program, make correction
of the error or mistake of program, is called Programmer.
It cannot be understood a person's skill in which
programming language by the word Programmer.
So it is used the name of programming language
in front of the Programmer to make it clear.
One, who is skilled in C language, is called C Programmer.
One, who is skilled in Python language, is called Python Programmer.
One, who is skilled in PHP language, is called PHP Programmer.
You have to be skilled enough in any of the programming languages
to be a Programmer. Different colleges, academies and websites
will teach you the basic of programming. You will be called
Programmer but not professional Programmer if you know only
the basic of programming because you cannot compose complex
problems of programming by the knowledge of basic programming.
You have to try to solve the complex problems of programming
to be a professional Programmer. There are many websites where
you will find many problems. You can be a skilled Programmer
by solving these problems.
All the beginner Programmers have a desire to acquire
the skill of a Software Developer or a Software Engineer.
I have told you before. there are lots of softwares.
You should learn the programming language which is
most used and on the basis of which you want to be
a Software Developer and Software Engineer. Try to
be a Programmer by learning these languages.
Each programming language has an official website.
In these sites the details of syntax and their
uses are provided. You can learn it from there.
Different websites teach programming languages in
different languages. You can also learn from there.
Youtube.com is another platform of learning programming.
Many teachers of programming teach programming in different
languages. You can learn from there.
You can learn popular and widely used programming
languages from the links (affiliate links) below.
A professional Software Developer develops softwares by following
the design of the software. Thus a Software Developer can be
depicted like the following way. the person who can make
software by following a software design using a programming
language to solve the problem of people is called a Software Developer.
It has to follow the Software Development Life Cycle to make a
software perfect, good and faster. In short, Software Development
Life Cycle is called SDLC. A Software Developer has complete
knowledge of SDLC. A Software Developer makes software by
following the SDLC method.
To be a Software Developer one has to acquire the skill of a
Software Developer. By the phrase 'Software Developer'
it cannot be understood what kind of Software Development
a person can do. Thus the name of the software is
used before the word 'developer' to understand specifically.
The person who can develop system software is called
a System Software Developer.
The person who can develop web application software
is called a Web Application Developer.
The person who can develop android application software
is called an Android Application Developer.
If you want to acquire the skill of a Software Developer,
you need to learn before about the
Software Development career that you want to select.
You should go forward with a sorted plan about the
career study with a beautiful attitude.
You can acquire the skill of a System Software Developer
by learning System Software Development.
You can acquire the skill of an
Android Application Developer by learning
Android Application Development.
You can acquire the skill of a
Web Application Developer by
learning Web Application Development.
You can acquire the skill of a
ISO Application Developer by
learning ISO Application Development.
You can acquire the skill of a
Desktop Application Developer by
learning Desktop Application Development.
A Software Developer should have the
skill of team management besides programming
skill because in case of making big software
it is important to build a team under the
leadership of a developer. Thus software
developer should have the skill of leading a team.
Many of people think that learning Software Development means learning
programming language. Indeed learning programming language means
learning how to compose a program. On the other hand software
development means to try to solve the problem of people by
creating acceptable software by using programming languages.
Two examples are given here. I am a government employee.
I cannot calculate the calculation of Pension and General
Provident Fund. To solve these problems I have created two
Pension Calculator BD and
GPF Calculator BD.
I have learnt Software Development by developing
Pension Calculator BD and
GPF Calculator BD. You can
also learn Software Development by solving little problems.
At first learn a programming language and try to solve
little problems creating software with that programming
language. It will raise your confidence and skill.
A Software Developer should have the skill of team management
besides programming skill because in case of making big
softwares it important to build a team under the leadership
of a developer. Thus Software Developer should have the
skill of leading a team.
You can learn from the following paid tutorials (affiliate link).
We need to learn about engineering
before learning Software Engineering.
Let's make engineering easy with simple words.
In the purpose of solving the problems of people
making any product in an easiest way, with low
cost and less manpower is called engineering.
The person who can do engineering is not called
an engineer. If the product is made for solving
the problem of people, and if it can solve the
problem and be acceptable to all, then the
producer is called an engineer.
The definitions of engineering of all sections are
same and follow the same rules.
The policy of Software Engineering has been announced
to create softwares. Software is created by following this policy.
Now let's know what is Software Engineering.
Creating software to solve the problems of people,
in an easiest way, with low cost and less manpower
and which is acceptable to all is called Software Engineering.
The person who can create problem solvable and
acceptable software to people is called a Software Engineer.
A Software Engineer uses his imagination power
to draw a picture or design of the software to
solve the problem of the people and by using
the design or picture of a Software Developer
and a Programmer develop the software.
The person, who creates new technology or develops
and expands the computer technology, is called a
Sir Danish Richie has added a new dimension in
the field of computer technology by inventing
Sir Vinton Serf has added a new dimension in
the field of computer technology by inventing
Sir Tim Berners-Lee has added a new dimension
in the field of computer technology by
inventing World Wide Web.
Let's explain what is Software Engineering. When there was no software,
the software built at that time was full of error and it was costly.
In 1960, there started the rule or method of software building to
solve the problem. This rule or method is called Software Engineering.
It is easy, less costly and need less manpower to build acceptable
software by following the rule or method.
In a word, Software Engineering is the building of software
by using low cost, easy way and less manpower.
I have said before that, it needs a proper planning to learn anything.
Thus I will try to provide you advice from my real life experience.
I think to learn Software Engineering it is better if it is learnt
in eight steps.
is to select a platform of your own choice.
Such as, learn web application development to build web application.
Learn android application development to build android application.
The majority of the Software Developers are Web Application Developers as there is a great demand of web application. I think Web Application Developer can build their career easily and quickly.
is to learn programming in a platform of your own choice.
Such as, learn web programming if web application is your choice.
know all the steps of the Software Development Life Cycle.
learn what work to be done in every steps of the Software Development Life Cycle.
learn project planning to develop softwares.
I have faced the following problems during
learning about Web Development and tried to
solve it through WDguideline.com with a project planning
1. What should be learned to be a Web Developer ?
2. Which language shall I need to learn after completing one language ?
3. How much skilled am I in the language that I have learned ?
4. Is there any mistake in my learning ?
5. What should I do to increase my skill ?
6. Am I skilled enough to learn a new language ?
7. Have I become a Web Developer ?
create a skilled team to give real look to the project
planning and be skilled to manage the team.
Such as- I have created a team to develop WDguideline.com.
after completing Software Engineering of a platform do
the Software Development of other platform to be a
professional Software Engineer.
You can learn software engineering
by watching the following tutorials (affiliate link).
A student has to pass from class 1 to 10 in a sequence
to pass the SSC examination. Like that,
to build a software by Software Engineering you have to work in Sixth steps.
It will not go under Software Engineering if the work is done randomly.
The steps are- First step Planning and Requirement Analysis. Second step Defining Requirements. Third step Designing the Product Architecture Fourth step Building or Developing the Product Fifth step Testing the Product Sixth step Development in the Market and Maintenance
Explaining the steps one by one.
Planning and Requirement Analysis:
In this it is marked whether the software can be built by
following the demand of the customer and the risks or not.
In this step SRS (Software Requirement Specification)
is created with what to do and what is needed to build a software.
Designing the Product Architecture:
In this step different designs are created according to SRS and files
are created according to DDS (Design Document Specification).
The best design is selected for the software depending on
different issues like DDS review, risk review, consistency
of product, design modularity, budget, and time limitation
Building or Developing the Product:
In this step software is developed according to design.
Testing the Product:
In this stepsoftware is examined whether it is created according
to the SRS of the software and if there is any mistake in it.
Development in the Market and Maintenance:
In this step the software is marketed and managed.
You can learn from the following paid tutorial (affiliate link).
I think, to be a Software Engineer it has to emphasize on 5 issues.
1. Emphasize on the project planning.
2. Emphasize on Software Architecture and Software Designing.
3. Emphasize on the learning of the work of SDLC.
4. Emphasize on the team management.
5. Learn the Software Development of all platforms.
A software will not be acceptable to all if it is unsecure.
That's why it is checked by the security to ensure the
security of the software by using hacking method.
So every Software Developer and Software Engineer
should have the idea of hacking. Every software has
important information that should be kept secure.
It is the part of Software Engineering to keep the software secure.
Hack means change something according to your own wish and
the person who hack something is called a hacker.
At the time of wrong use of any media device, software or website
there may have any weakness in different sections. This weakness
or mistake is called 'Vulnerability' in the language of hacking.
Hackers apply their hacking strategy on the weak side and take
control of the media device, software or website and change
it as per their wish.
Generally hacking is divided in three classes. They are-
1.White Hat Hacker.
2.Black Hat Hacker.
3.Grey Hat Hacker.
There is a reason of naming of the hackers.
We use red flag to signify or announce danger.
Like that depending on the purpose of hacking,
hackers are divided into three types using Hats.
White Hat Hacker is called ethical hacker.
White Hat Hackers are good hacker and their
work is to ensure the safety. The owners of
media device, software or website employ
white hat hacker to ensure the safety of
their media device, software or website.
These hackers hack the media device,
software or website and inform the owners
of media device, software or website about
the weakness or mistake. And the owners
fix the weakness or mistake.
Black hat hacker hacks in the purpose of making harm.
Their harmful works are- looting money from bank,
demanding money by hacking, to revenge, in the
purpose of joking or to show their skill and many other reasons.
The hackers who do the work of both Black Hat and White
Hat are called Grey Hat Hacker.
I think a Skilled hacker is more skilled than a developer because it
important to be more skillful than a developer to mark the weakness
or mistake of the device, software or website developed by the
Money is deposited in the bank to protect it from theft.
The security guard of the bank make the money secure by
his day-night hard work. We can call the thief bad not
the security guard. Like that the white hat hackers or
ethical hackers are confirming the security in internet.
That's why we can use internet without any problem.
Thus we cannot say or think it that hacker is a bad person.
The biggest companies employ white hat hacker or ethical hacker
as security guard to protect their device, software or website.
Many companies have declared big amount of reward for hacking
of their device, software or website. Such as- Facebook, Google etc.
Your learning will not be useful for people if you do not try
to create anything out of what you have learnt and even it
will not be useful for you. So try to make anything out of
that you have learnt and will learn. This effort will make
Wealth, positioning power, dignity are not permanent in human life and these
things change from time to time. But by acquiring knowledge, something can be
achieved that the people of the world have not even dreamed of. This achievement
brings wealth, power and dignity in human life.
Human brain always thinks that he is the superior one of the world.
When he realizes this mistake, he becomes superior gradually.
Wealth likes to stay with the skilled person.
Thus it is better to try to be skilled than wealthy.
Skill and knowledge are the factories of wealth and dignity.
Education cannot make you successful. Skill will make you successful.
Skill is the result of education and effort.
If you learn programming for earning money,
you cannot learn programming. Rather you are learning how to earn money.
Money is the easier way of exchanging.
So it is impossible to justify a product with skill and qualification.
Programming language will not lie to
you even if people will lie to you.
So love programming language.
You will get such a program in return of the love,
which will change your life.
The honor that is given by yourself to you is more joyful
than the honor given by other.
My name is Shyamol Singha. I am a government employee
of Bangladesh. I do not have any institutional education
on computer technology. I feel good to know and learn about
computer technology. I have written the book about the topics
that I have known so far. I hope the book will be useful to
you to build your career.