![]() |
|
|
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):
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.
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) |
















































