|
|
|
Subscribe to the FREE IT Career Newsletter with valuable information bringing you practical, how-to tips and articles.
|
A Career in Programming / Software Engineering
Who is a Programmer? Who is a programmer? What does it take to become a software developer? It should be obvious that Programming/Software Engineering plays a vital role in the IT industry. It’s simple. Programs are needed to make computers function. Without programs, computers have no value. Programs tell the computers what to do – simple or complex tasks for payroll calculation, word-processing, operating systems, computer games, business processing, banking applications, etc.
What
do Programmers/Software Developers do? Programmers/Software
Engineers write software. They write the instructions that tell the
computer what to do. Programmers are IT professionals who create such
programs that run on various platforms including operating systems, the
Internet, handheld gadgets, computer-aided devices, or a combination of
computer equipment.
Job Titles In the
programming environment typical job titles are: Software Engineer,
Application Developer, Systems Analyst, Software Tester, Software
Developer, System Analyst and Programmer. There are also variations of
these titles such as Senior Software Developer, Software Analyst, etc.
However, while you should be aware of these titles, focus more on the
actual duties and expectations in a particular organization or
programming environment. To many people in IT, although titles may also vary with your level of experience, application developer, programmer, and software developer all mean the same thing.
Programming
Languages Get into the software development field by learning a programming language. Computer programs/applications/software are written in such languages. Programmers can decide to master one or more languages. The best languages? I don’t know about that, but people choose to use certain languages based on familiarity, personal preference or what the environment demands. In terms of market demand, programmers usually prefer languages such as:
C++ (http://www.jidaw.com/certarticles/cplusplus.html),
Java (http://www.jidaw.com/certarticles/java.html)
and
Visual Basic (http://www.jidaw.com/certarticles/visualbasic.html). In addition the
IT industry depends on programmers to create new programming languages
and to modify and enhance existing ones.
Nature of Work Coding in
computer language is not all a programmer does. Programmers are involved
all aspects of the software development process, also known as the
product development cycle. Let’s take a look at each step of the
process to get an idea of what the job is like. User Requirements. What does the user want? Interview and interact with the users to determine their expectations. Don’t assume for the user. What should the program do for them? An understanding of the business need helps. Getting user needs requires good communications and business skills. Specification. There is a need to write expectations of users into
"specifications" that describe the details and functions of
the program. It will specify what the program will do.
Design and
Develop. The program must be designed to meet the specifications
and the design and specifications must be converted to computer code.
Coding, writing the program in the chosen programming language based on
the specifications, is regarded by many as the core programming skill.
Coding must be done with functionality, security, resilience, usability and future
maintenance of the software application in mind.
Testing. Completed programs need to be tested for bugs or
mistakes. Is the program working to specification? Testing can be done
within the programming team. Testing can in addition be done with the
users to ensure it meets specification. Interaction
with users enables you to get feedback on the program’s actual
performance. And note that insufficient and inadequate testing is a
major cause of bad software – software that doesn’t work to
specification, software that is ridden with bugs.
Documentation. Write or review documentation for user and system
procedures. This is helpful and is a key requirement for future
maintenance.
Maintenance. As a programmer, you may need to change an existing
program to meet user requirements or to remove bugs. Debugging, tracking
errors in a program is in fact a critical programming skill.
Technical
assistance. You will get enquiries from users regarding programming
errors, problems or questions. Training of users could be part of your
duties. Such interaction with users again requires first-class
interpersonal and business skills. Depending on
their level of experience and the nature of programming environment,
programmers can play any of the roles described above. Newcomers may be
only involved in some areas of coding, or software testing. A lot depends
on the programming environment. Software developers at small companies
may be involved in all of these areas, while Software developers at
large organizations may specialize in particular steps of the
development cycle. Senior software people usually do less coding and are
more involved in the managing the entire software development process. Success factors
in the programming field Is programming
a science or an art? That is a debate for another day. What I know is
that it requires a large dose of creativity and is both interesting and
challenging. To succeed in software development you need be very
detail-oriented. You must love details. If you don’t love details, you
will find debugging stressful and frustrating. Your mastery of
details must be combined with logical thinking and the ability to focus
for long periods. How creative are you? Can you see beyond the surface
of problems? Programming knowledge is essential for designing software
solutions and for problem-solving.
Though the meat
of programming is coding, to be a successful programmer you can’t
afford to be careless with your business and communications skills.
Excellent interpersonal skills assist cooperation and interaction with
colleagues and clients. This is essential for understanding a
customer’s needs (specifications), providing technical assistance to
users and for teamwork.
Most
importantly, while the ability to program is key, you must have a
positive, can-do attitude to enable you complete programming assignments
efficiently and effectively. When things don’t jell as you expect,
attitude helps you become resilient and build your backbone. The ability to
manage programming staff and perform project management is key for
senior software engineers. At this level organizational and management
skills are essential. Knowledge
and Certification
As noted
earlier, you must learn a programming language - Learning involves
practice, proven results and understanding how programming can be used
to solve problems. Certification
is useful in helping you benchmark your skills. Popular certifications
are those for VB, C++ and Java, i.e.
Microsoft's MCSD, Sun's SCJP
(http://www.jidaw.com/certarticles/programcerts.html).
However, though
getting certified can get your foot in the door,
certifications
alone are not enough to grow your career in the programming field. Your
ability to deliver results with a particular language or tool is
paramount. Degrees and certifications are nice, but employers and
clients are more interested in your proven expertise with the code.
Other Matters
With
the complexity of modern systems, and with the rapid advance of new
programming technology, tools and platforms, you need to find a way of
keeping up-to-date in this field. Be prepared to learn new skills
quickly. You must be ready to cope with the demands associated with
constant learning.
Beyond programming language and operating systems knowledge and good soft skills, professionalism facilitates growth. I'm sure you realize now that the value proposition you offer should be more than just software expertise alone. Be willing to take on challenges, even if it's not strictly programming. You can’t beat the combination of initiative, integrity and business savvy.
Interested
in the
programming
field? You should now know what it takes
to build a
career in programming. I hope you’ve seen that it is both interesting
and challenging. The
question is: is it for you? I wish you all the best in
your IT Career, By: Jide Awe
Jide Awe is the Founder
of Jidaw.com.
What Do you Have to Say? Post Your Comments about this article Here COMMENTS for "A Career in Programming / Software Engineering":
For more coverage and information related to this topic, head to these IT
Career Resource Centers: http://www.jidaw.com/itcareer.html
Programming Resources http://www.jidaw.com/certarticles/program2.html
Your Guide to taking the Right IT Career Decisions For more coverage and
information related to this topic, head to the IT Career Resource
Center: http://www.jidaw.com/itcareer.html Best
Answers to Frequently Asked Questions on IT Certification
|
|