The Simplest Of Apps
Two of my favourite apps in programming are the ‘hello world’ and to-do list apps. For me, the seduction of the ‘hello world’ app was one of the first things that sparked an interest in programming. Seeing things combine, such as a development environment, software to write code in, language API, compiler, server, and runtime environment, all having been tended to, resulting in confirmation “it’s alive!“.
If you are thinking, well, ‘hello world’ is as much of an application! I admit it, it could it be on par in justification level, as trying to call Philadelphia cream cheese “cheese mousse” as opposed to cream spread. A simple ‘hello world’ app is still an app, for it does work, it is a running application! It also encompasses the potential for growth from this starting point.
The trusty to-do app is a way to take the hello world app further. In general for a programmer, we can quickly test a backend, a framework (Angular, React), local storage, cloud storage (Firebase, etc.), UI library integration, and so much more.
Programmer In A Nutshell
No, not like that! Part of what I love about programming, is the ability to put your own “stamp” on your work.
Programming isn’t just about the ability to code. Setting up development environments, being able to absorb correctly a projects details, being open minded to ask for insights, clarity or help, calmness to deal with bugs, ability to talk directly with clients/users/ team members, are all as equally as important.
This is why the to-do app is an awesome way for potential employers to gain knowledge about yourself, beyond the code insights.
A to-do app allows critique on elements such as, taking on the task, listening to the specs, asking the right questions, of addressing elements where the app could be used in a way not intended (empty form elements on submission, page refreshes, duplicate entries, digits not text or vice versa etc.), to delivering it on time, in the delivery method requested. Also, how well the app fulfils the brief in terms of capabilities and specifications.
Is It Really THAT Simple?
Yes, and no!
I believe there are many different kinds of programmers out there. Depending on what you do day-in-day-out, it will effect what your strongest points are, at any given moment. Someone taking website pages and replicating them in design, will be hot on HTML, CSS and maybe on a 3rd party libraries. Someone who is preparing for an interview may be hot at answering quick-fire questions about a given field of work but maybe are not as quick at building something from scratch in that moment. A programmer using a framework such as Angular, building the same kind of apps, repurposing the same wireframe/project changing out the content to the next client, may have a more limited scope of possibilities than someone building a broader range of apps.
This is another strength of the to-do app challenge. It means no matter what kind of programmer you are in that moment, you have an opportunity to shine in a breadth of areas. Your knowledge of a languages scope, applied structure of your code and project, applied knowledge of using the correct data types, heap Vs. stack concerns, UX, UXD funkiness, and taking advantage of reusability, inheritance, encapsulation & error handling can all be considered.
Finally because it is a small application, as opposed to being a quiz or simply taking past work examples into consideration, the potential employer gets a glimpse into what it could be like to work with you!
See, it really is about more than just the code. I think it is awesome to have this insight, it works both ways too! As much as the employer wants to see if you take instructions well, your were professional, you were creative, your soft-skills, they also want to get to know your personality, what you would enjoy the most work-wise as part of their team, any areas they would want to support moving forward, and that you would get on well with existing team members. Those looking to be hired, get a feel for the potential mangers style of communication, their personality, their soft skills, and a general vibe of what it could be like to work with them.
So you see, sometimes small apps hold more power than is obvious on the surface. Next time you have to create a to-do app, don’t forget to put your own stamp on it, to embrace the opportunity to find out about if you feel this company is the right fit for you, and to put effort in to shine in this array of areas it caters to.