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 Software Engineer.
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.
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
Back-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.
Front-end: 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.
Back-end: 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.
To know more about Web Designing please visit the Wikipedia page.
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.
To be a Front-End Developer you have to know code maintaining, bug fixing and error fixing of static webpage.
You can learn from the following paid tutorials (affiliate link)
Tutorials to be experienced in Front-End Development
PSD to HTML Tutorial
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).
HTML & CSS
HTML and CSS Tutorial
For PHP Language
PHP Tutorial MySQL Tutorial WordPress Theme Development Tutorial OOP PHP and MVC Tutorial CodeIgniter Tutorial Laravel Tutorial
Tutorials to be experienced in PHP Web Application Development
CodeIgniter Project Tutorial 10 Laravel Project Tutorial
ASP.NET Tutorial MongoDB Tutorial
Tutorials to be experienced in ASP.NET Web Application Development
5 ASP.NET Web Project Tutorial
For Python Language
Python Tutorial MongoDB Tutorial
Tutorials to be experienced in Python Web Application Development
8 Python Web Project Tutorial
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.
To be a Full-Stack Developer you have to learn Front-End
Development then learn Back-End Development finally learn Webmastering.
Learning from the following tutorials can be easily Full-Stack Developer (affiliate link)
Tutorials to be experienced in Web Development
PSD to HTML Tutorial CodeIgniter Project Tutorial 10 Laravel Project Tutorial Webmastering Tutorial
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.
Learning from the following tutorial can be easily Webmaster (affiliate link)
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.
Getting your work is done by other is called outsourcing.
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 person who wants to get his work done is called Client or Buyer.
The person who works for is called freelancer.
The freelance marketplaces cut a share from the earning of the freelancer. They also cut a share from the client or buyer.
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.
The Dollar of freelance marketplaces can be withdrawn by bank account.
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.
Your work should be perfect and full of quality as you will work with the biggest companies.
You have to examine your work before delivery if there is any mistake.
Because a little mistake of your work can be a great harm for the company. As a result you may get a bad feedback. So before delivery of your work you must recheck it.
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 readable language.
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.
You can become a Programmer to learn any of the following programming languages (affiliate links).
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).
For Web Application Development (PHP)
HTML and CSS Tutorial PHP Tutorial OOP PHP and MVC Tutorial MySQL Tutorial CodeIgniter Tutorial Laravel Tutorial
Tutorials to be experienced in Web Application Development (PHP)
CodeIgniter Project Tutorial 10 Laravel Project Tutorial
For Web Application Development (Python)
Tutorials to be experienced in Web Application Development (Python)
8 Python Web Project Tutorial 10 Pythone Project Tutorial
For Android Application Development
Java Tutorial Android App Development Tutorial
Tutorials to be experienced in Android Application Development
49 Android Project Tutorial
For ISO Application Development
ISO App Development Tutorial
Tutorials to be experienced in ISO App Development
IOS Project Tutorial
For Desktop Application Development (Windows)
C# Tutorial Desktop App Development Tutorial
Tutorials to be experienced in Desktop Application Development (Windows)
7 Desktop (Windows) Project Tutorial
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 C-Programming language.
Sir Vinton Serf has added a new dimension in the field of computer technology by inventing the Internet.
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.
Different customers need different types of softwares. Software Engineers are needed to build or develop the software within a short time, and in a low cost.
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.
First step 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.
Second Step is to learn programming in a platform of your own choice.
Such as, learn web programming if web application is your choice.
Third step try to solve 5 of your real life problems through application.
I have solved my problems by developing Pension Calculator BD and GPF Calculator BD
Fourth step know all the steps of the Software Development Life Cycle.
Fifth step learn what work to be done in every steps of the Software Development Life Cycle.
Sixth step 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 ?
Seventh step 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.
Eighth step 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).
To become a software engineer, learn the languages below
To be a software engineer, you have to learn how to develop different types of software
For Web Application Development
For Android Application Development
Java Tutorial Android App Development Tutorial
For ISO Application Development
ISO App Development Tutorial
For Desktop Application Development (Windows)
C# Tutorial Desktop App Development Tutorial
To be a software engineer, you need to have the following skills
SDLC Tutorial Software Design Tutorial Software Architecture Tutorial Data Structures and Algorithms Tutorial Software Testing Tutorial Software Project Management Tutorial
Tutorials to be experienced in Software Engineering
10 Pythone Project Tutorial IOS Project Tutorial 49 Android Project Tutorial 7 Desktop (Windows) Project Tutorial Software Engineering Tutorial
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.
Defining Requirements: 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.
The main purpose of learning Software Engineering is to solve problem. So it easy to learn Software Engineering if the problem of life is solved through it.
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.
You can learn Ethical Hacking by watching the following tutorials (affiliate link). Ethical Hacking Tutorial Web Security Tutorial
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.
Whitehat hacker: 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.
Blackhat hacker: 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.
Greyhat hacker: 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 developer.
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 you successful.
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.