I am a programmer, I am a front end developer, back end developer and a
full stack developer, I am a programmer, portfolio A computer programmer,
sometimes called more recently a coder (especially in more informal
contexts), is a person who creates computer software. The term computer
programmer can refer to a specialist in one area of computers, or to a
generalist who writes code for many kinds of software. A programmer's most
oft-used computer language (e.g., Assembly, COBOL, C, C++, C#, JavaScript,
Lisp, Python) may be prefixed to the term programmer. Some who work with
web programming languages also prefix their titles with web. Yudi Hadianto
A range of occupations that involve programming also often require a range
of other, similar skills, for example: (software) developer, web
developer, mobile applications developer, embedded firmware developer,
software engineer, computer scientist, game programmer, game developer and
software analyst. The use of the term programmer as applied to these
positions is sometimes considered an insulting simplification or even
derogatory. British countess and mathematician Ada Lovelace is often
considered to be the first computer programmer, as she was the first to
publish part of a program (specifically an algorithm) intended for
implementation on Charles Babbage's analytical engine, in October 1842.
The algorithm was used to calculate Bernoulli numbers.[7] Because
Babbage's machine was never completed as a functioning standard in
Lovelace's time, she unfortunately never had the opportunity to see the
algorithm in action. The ENIAC programming team, consisting of Kay
McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth
Lichterman were the first regularly working programmers.[8][9]
International Programmers' Day is celebrated annually on 7 January.[10] In
2009, the government of Russia decreed a professional annual holiday known
as Programmers' Day to be celebrated on 13 September (12 September in leap
years). It had already been an unofficial holiday before that in many
countries. The word software was used as early as 1953, but did not
regularly appear in print until the 1960s.[11] Before this time, computers
were programmed either by customers or the few commercial computer
manufacturers of the time, such as UNIVAC and IBM. The first company
founded to specifically provide software products and services was the
Computer Usage Company, in 1955.[12] The software industry expanded in the
early 1960s, almost immediately after computers were first sold in
mass-produced quantities. Universities, governments and businesses created
a demand for software. Many of these programs were written in-house by
full-time staff programmers; some were distributed freely between users of
a particular machine for no charge. And others were developed on a
commercial basis. Other firms, such as Computer Sciences Corporation
(founded in 1959) also started to grow. The computer/hardware
manufacturers soon started bundling operating systems, system software and
programming environments with their machines.[citation needed] The
industry expanded greatly with the rise of the personal computer ("PC") in
the mid-1970s, which brought computing to the average office worker. In
the following years the PC also helped create a constantly-growing market
for games, applications and utilities software. CP/M, later replaced by
DOS, Microsoft's Windows popular operating system of the time.[13]
portfolio Yudi Hadianto In the early years of the 21st century, another
successful business model has arisen for hosted software, called
software-as-a-service, or SaaS. From the point of view of producers of
some proprietary software, SaaS reduces the concerns about unauthorized
copying, since it can only be accessed through the Web, and by definition,
no client software is loaded onto the end user's PC. SaaS is typically run
out of the cloud. Computer programmers write, test, debug, and maintain
the detailed instructions, called computer programs, that computers must
follow to perform their functions. Programmers also conceive, design, and
test logical structures for solving problems by computer. Many technical
innovations in programming — advanced computing technologies and
sophisticated new languages and programming tools — have redefined the
role of a programmer and elevated much of the programming work done today.
Job titles and descriptions may vary, depending on the organization.
Programmers work in many settings, including corporate information
technology ("IT") departments, big software companies, small service firms
and government entities of all sizes. Many professional programmers also
work for consulting companies at client sites as contractors. Licensing is
not typically required to work as a programmer, although professional
certifications are commonly held by programmers. Programming is widely
considered a profession (although some[who?] authorities disagree on the
grounds that only careers with legal licensing requirements count as a
profession). Programmers' work varies widely depending on the type of
business for which they are writing programs. For example, the
instructions involved in updating financial records are very different
from those required to duplicate conditions on an aircraft for pilots
training in a flight simulator. Simple programs can be written in a few
hours, more complex ones may require more than a year of work, while
others are never considered 'complete' but rather are continuously
improved as long as they stay in use. In most cases, several programmers
work together as a team under a senior programmer's supervision. portfolio
A software engineer writing JavaScript portfolio Yudi Hadianto Programmers
write programs according to the specifications determined primarily by
more senior programmers and by systems analysts. After the design process
is complete, it is the job of the programmer to convert that design into a
logical series of instructions that the computer can follow. The
programmer codes these instructions in one of many programming languages.
Different programming languages are used depending on the purpose of the
program. COBOL, for example, is commonly used for business applications
that typically run on mainframe and midrange computers, whereas Fortran is
used in science and engineering. C++ and Python are widely used for both
scientific and business applications. Java, C#, JS and PHP are popular
programming languages for Web and business applications. Programmers
generally know more than one programming language and, because many
languages are similar, they often can learn new languages relatively
easily. In practice, programmers often are referred to by the language
they know, e.g. as Java programmers, or by the type of function they
perform or environment in which they work: for example, database
programmers, mainframe programmers, or Web developers. When making changes
to the source code that programs are made up of, programmers need to make
other programmers aware of the task that the routine is to perform. They
do this by inserting comments in the source code so that others can
understand the program more easily and by documenting their code. To save
work, programmers often use libraries of basic code that can be modified
or customized for a specific application. This approach yields more
reliable and consistent programs and increases programmers' productivity
by eliminating some routine steps. Testing and debugging Programmers test
a program by running it and looking for bugs (errors). As they are
identified, the programmer usually makes the appropriate corrections, then
rechecks the program until an acceptably low level and severity of bugs
remain. This process is called testing and debugging. These are important
parts of every programmer's job. Programmers may continue to fix these
problems throughout the life of a program. Updating, repairing, modifying,
and expanding existing programs is sometimes called maintenance
programming. Programmers may contribute to user guides and online help, or
they may work with technical writers to do such work. Application versus
system programming Computer programmers often are grouped into two broad
types: application programmers and systems programmers. Application
programmers write programs to handle a specific job, such as a program to
track inventory within an organization. They also may revise existing
packaged software or customize generic applications which are frequently
purchased from independent software vendors. Systems programmers, in
contrast, write programs to maintain and control computer systems
software, such as operating systems and database management systems. These
workers make changes in the instructions that determine how the network,
workstations, and CPU of the system handle the various jobs they have been
given and how they communicate with peripheral equipment such as printers
and disk drives. Yudi Hadianto Types of software portfolio Programmers in
software development companies may work directly with experts from various
fields to create software – either programs designed for specific clients
or packaged software for general use – ranging from video games to
educational software to programs for desktop publishing and financial
planning. Programming of packaged software constitutes one of the most
rapidly growing segments of the computer services industry. Some companies
or organizations – even small ones – have set up their own IT team to
ensure the design and development of in-house software to answer to very
specific needs from their internal end-users, especially when existing
software are not suitable or too expensive. This is for example the case
in research laboratories.[citation needed] In some organizations,
particularly small ones, people commonly known as programmer analysts are
responsible for both the systems analysis and the actual programming work.
The transition from a mainframe environment to one that is based primarily
on personal computers (PCs) has blurred the once rigid distinction between
the programmer and the user. Increasingly, adept end users are taking over
many of the tasks previously performed by programmers. For example, the
growing use of packaged software, such as spreadsheet and database
management software packages, allows users to write simple programs to
access data and perform calculations.[citation needed] Yudi Hadianto In
addition, the rise of the Internet has made web development a huge part of
the programming field. Currently more software applications are web
applications that can be used by anyone with a web browser.[citation
needed] Examples of such applications include the Google search service,
the Outlook.com e-mail service, and the Flickr photo-sharing service. Yudi
Hadianto Programming editors, also known as source code editors, are text
editors that are specifically designed for programmers or developers for
writing the source code of an application or a program. Most of these
editors include features useful for programmers, which may include color
syntax highlighting, auto indentation, auto-complete, bracket matching,
syntax check, and allows plug-ins. These features aid the users during
coding, debugging and testing.[17] portfolio Yudi Hadianto Programming is
the process of creating a set of instructions that tell a computer how to
perform a task. Programming can be done using a variety of computer
"languages," such as SQL, Java, Python, and C++.