Applications Programmer

   Information, Media and Telecommunications

Related Jobs or Working with these Jobs

Clerical or OrganisingAnalytic or ScientificSkill Level 4Skill Level 5

Software and Applications Programmers design, develop, test, maintain and document program code in accordance with user requirements, and system and technical specifications. Future Growth Very StrongSoftware and Application Programmers develop and test new software as well as tweak and test existing programs. Software development has become a key aspect of technological progress. This programming is done in accordance with established standards designed to reflect specific technical requirements.

Simply put, applications programmers write the code for the software used in computers and other electronic devices.
They create software applications by writing code that is error-free, maintainable, and scalable. They also test and evaluate applications, and tweak and improve applications to make them user-friendly.

Other tasks may include interacting with customers to find out their requirements, preparing software and training manuals, and training users.

As an applications programmer, your first task would often be to find out your project requirements at meetings with the manager, the analyst, and most importantly, the client.

This would enable you to confirm the input and output information that you need in order to create the software code for your project.
A more-than-basic knowledge of the domain your organisation is involved in would help very much, and it would be good idea to read up topics that make you feel like a fish out of water.

When you have all the work-flow information, you would turn this into code, and program computers by entering the code. Testing whether your application is running smoothly would probably be the next item on your to-do list. Chances are that you will find glitches, and you will need to fix them by modifying your code. Once you have created an application, you will need to prepare a user manual explaining the features of the application.

Applications programmes are called upon to suggest improvements to the software in their organisations or advise software upgrades. They may also be deployed for software evaluation or as trainers.

Applications Programmer
(Source: AECC)

 

Knowledge, skills and attributes

You need to go armed with excellent programming skills and software development fundamentals.

You will also have to be familiar with general software and programming languages such as Java. Good algorithmic knowledge is essential.

You would also require good oral and written communication skills and should enjoy being a team player. A meticulous approach to work and a logical mind are other personal attributes that can make you employable.

You would have to constantly update your knowledge about your company’s business domain—financial security systems, for example.

 

Duties and Tasks

  • researching, consulting, analysing and evaluating system program needs

  • identifying technology limitations and deficiencies in existing systems and associated processes, procedures and methods

  • testing, debugging, diagnosing and correcting errors and faults in an applications programming language within established testing protocols, guidelines and quality standards to ensure programs and applications perform to specification

  • writing and maintaining program code to meet system requirements, system designs and technical specifications in accordance with quality accredited standards

  • writing, updating and maintaining technical program, end user documentation and operational procedures

  • providing advice, guidance and expertise in developing proposals and strategies for software design activities such as financial evaluation and costings for recommending software purchases and upgrades

Working conditions

Software and Application Programmers are usually in high-demand and work long hours. Programmers should expect to work hours that often exceed the standard forty-hour work week. A large percentage of software and application programmers work in comfortable office-like environments and are employed by a diverse range of industries, ranging from the computer and electronics industries to manufacturing.

Education and training/entrance requirements

You can work as a Software or Applications Programmer without formal qualifications if you are able to demonstrate your technical competency to employers. There are also a wide range of vendor and industry certifications available that may substitute for formal qualifications and can be highly regarded by employers. However, most workers do hold a VET or university qualification.


Did You Know?

An applications programmer produces computer applications (in the modern world of development, they work as part of one or multiple teams tasked with a very orderly, thorough process):


Determine requirements (what will the program(s) do?)


Map out the program architecture and who builds what (usually the final program is termed a Project until it is finished) will satisfy the person(s) paying for it, and when it’s approved in final form [or sooner, depending on the shop], then it’s typically called a [generic, marketing or specific meaningful name] (Program).


Code is often, but not always, first mocked up in a theoretical version called pseudocode in order to discuss particulars and to dial in later-stage plans of how it will be built and used.


Some effort is applied to important basic tasks the program(s) or application(s) will perform, with particular attention paid to how users of differing skill levels and tasks desired for processing by the application are proposed, discussed, and designated as critically-important, potentially folded together into a smaller set of requirements by re-imagining the application based on business requirements, which may or may not be negotiable with the client paying for it/them, or potentially eliminated if too costly to build. Lesser-importance considerations (often called more program features) are discussed and perhaps added or removed to adjust the expected development timeline.

 

iPhone Applications


The preceding pseudocode is aligned with the requirements to ensure that the proposed code fully and successfully addresses all of the agreed-upon requiremements. The most granular full list of these individual interactive instances is called the set of use cases.
The detailed coding tasks required to build the most general to most specific use cases are arranged in a basic structural form by the project architects and/or coders.

Modern programming conforms to accrpted best practices, and is normally based upon a user-centered design model.

Coding is built in stages and in the required set of modules by teams of programmers. These types of development are discussed in great depth on hundreds of thousands of sites that break it down into very-specific roles (types of developers who do some specific type(s) of work individually, and then help each other by testing each other’s work, re-strategizing the work if necessary, re-coding, re-building), and of course repeating these cycles until testing proves 100% successful.

The tested modules are next assembled into the project. As errors are encountered, they’re logged [documented] and fixed. The technical term is they are handled in code. If necessary, previous steps are repeated to refine and perfect the architecture and code, to ensure that virtually or exactly every type and instance of such error(s) are accounted for.

Now the entire project and/or application(s) begin(s) to take shape. Unit testing is done to iterate through the use cases comprehensively. Sometimes part or all of the testing is done concurrently with the detailed code/module development.

More testing may lead to design improvements and change orders (just as in physical facility construction). Then more rebuilds. The cycle repeats until the person(s) in charge sign off on the code, meaning they assert it works exactly right (according to the earlier agreed-upon plans). Just as in commercial building construction, change orders may be large or small and cheap or too costly.

If all goes well, the project is wrapped and deployed on servers or delivered to the customer(s) for those final steps.


Applications Programmers do the actual coding needed above, and compile the Builds.

They often work alongside the Project Architect and Requirements or other Specialists.

Because their work is very technical and often time-dependent with high expectations of accuracy, consistency and the ability to endure long workdays and challenging work conditions (like smarty-pants bosses and co-workers who may be quick to argue), they often get compensated well.

Starting salaries for degreed pros in the U.S. could be $75k, and many top, proven programmers often earn well over $100–200k annually.

 Many companies prefer to hire such expert workers on hourly wage or short-duration periods (like 3–6 month development cycles).

However there is often turnover in such positions, meaning little job security, especially at smaller companies. These employment factors are tied to contracts, consumer (or funder) demand and specific needs for certain programmers’ best areas of expertise.

Specific areas of expertise may include anything in the programming world, such as computer systems, networking or communications, digital/analog audio/video, web, database, or other specialty.

Often programmers have multiple specialties based on their work history or goals. No one programmer could do anything with equal aptitude compared with a specialist who has far more relevant experience.

There is no magic formula for learning the most in-demand languages or skills. Therefore specializations tend to evolve organically based on luck, demand and applicable experience. Employers seek certain personality types and other traits to limit the candidate pool sizes for such work. Be aware that if you are starting out, you may be subject to exploitation unless you see it coming and stand up to it directly.

If you are considering such a career, my advice is consider doing an internship prior to entering into a long-term position. It may or may not suit you. That way leaving need not be traumatic, or maybe you’ll find a more suitable niche in the development arena by shifting to another role or specialty.

(Source: Quora)


Applications Programmer

Journalist

Film Producer

Photographer

Web Designer

Cinematographer

Publisher

Graphic Designer

Multimedia Specialist

Newspaper Editor

Games Developer

IT Analyst

Radio Producer Presenter

Writer

Illustrator

Director

Broadcasting Technician

3D Animator

Archivist

Librarian

Social Media Manager

Journalist

Applications Programmer

Film Producer

Photographer

Web Designer

Cinematographer

Publisher

Graphic Designer

Multimedia Specialist

Newspaper Editor

Games Developer

IT Analyst

Radio Producer Presenter

Writer

Illustrator

Director

Broadcasting Technician

3D Animator

Archivist

Librarian