What Programmers Do
Every programmer enjoys writing the code for a new program. It's like a blank canvas to create on. A fresh start where anything is possible. But that's only a small portion of the job.
Step 1 - Requirements Gathering
Someone usually tells the programmer that a certain program needs to be created. That person is the customer, using the term loosely. The customer has a vision of what they want to accomplish. Sometimes they are very prepared and know precisely what they want. Frequently they don't have all the details and processes figured out and the programmer has to help with the design.
To do this, we ask hundreds of questions to get every single detail clarified. You want to input the birth date and calculate the age? Okay. Where is the birth date coming from? Are you typing it in? Is it in a database somewhere? What format(s) might the date be in? Is it MM/DD/YYYY or DD/MM/YYYY or DDMMMYY? An entire conversation over this one precise feature.
This is done painstakingly over every detail of the entire application. How do you want this screen to look? Do they need a retry button? Are there any security features required? Do we put the results into a database somewhere? Is there a limit to who can do this or how many times or how often?
The more time you spend planning the application, the easier it is to build it correctly. If you just start coding without knowing what you are building, you'll be changing things - a lot - and it will take a lot longer and the final code might get messy and hard to maintain.
Step 2 - Mock-Ups
Making a program work with fake screens to show how it will look is a great way to get general feedback from the customer. Does this look the way you want it to look? Are all the elements on the screen that belong there? It doesn't actually work yet. It's just a stage where the customer can see his vision and how it will look when finished.
Step 3 - Construction
Write the code necessary to implement all the features for the screens you designed. This is the actual programming part. Most programmers consider this the best part. This is why we learned to program.
Step 4 - Testing / Debugging
Testing means running the program and trying to make as many types of mistakes as possible to make sure the program catches the mistakes and handles the issue correctly. Nobody wants the program to crash so it has to handle every situation elegantly. Be sure all the calculations are accurate and all the outputs are correct.
This is where you will try to find ways to hack into the application or associated databases. Security review is critical as any hard-coded passwords might get discovered by someone who shouldn't know them.
Step 5 - Documentation
You may have to build web pages explaining how to use the new program or how to get support when things go wrong. For mobile apps, you need privacy documents and other details before you can deploy it.
Step 6 - Deployment
If it is a web page or a phone app or a Windows program, somehow it has to be installed somewhere so people can use it. Deployment can take as much effort
Step 7 - Maintenance
Every program has to be maintained. Sometimes new features are added. Sometimes they stop working because of an operating system has been upgraded. There's always something to do to keep your program running over time.
This is the least favorite part of programming. Changing existing programs to add new features can make the code more complicated. Adding one thing can break another thing. Over time, maintenance can be so difficult you are afraid to touch the code again. Because of this - it is important to write the code in a way to make it as easy to understand as possible.
Some content generated with AI
Last updated
Was this helpful?