Week 5 - What I Learned

This week was different from previous ones, because focus has shifted from quickly consuming knowledge from different topics to hands-on practice on a specific one. For the next four weeks I will be working with a 7 people team in building a mobile application that allows easy implementation of the RADICAL mindset in a company, specifically by making the RAD points (similar to a currency) easily manageable from a single application. To give a little more context, the RADICAL mindset’s main goal is to improve co-owned companies, and one of the proposed methods to do that is applying a point-based system to reward individual contributions and give a sense of how much value you provide to other people in the company.

The application will be built in React Native due to the need of a multiplatform application, and JavaScript being a popular language with presence in both the back-end and front-end. But before starting to write the application, we created a specifications document in which we described in detail what the application will do, how it will work and why those decisions were made, along with design mockups of the application to give a real feeling to the application flow. I have little experience in writing requirement documents, so this was a bit of a challenge for me; one of the most important things I learned from this is: don’t assume what the client wants, instead you need to have the client’s idea very clear in your head, ask the necessary questions and verify before implementing if even a shred of doubt is present. Due to not following these principles from the beginning, our project went through a series of bumps in the road, to be specific, we had to make important changes a couple of times because of misunderstandings from the client’s requirements or design decisions. Another important thing is to ask for feedback to the people involved with the project, this can lead to useful insights and a fresh set of eyes to look for imperfections or areas to improve; but be careful, if you take too seriously other people’s feedback, you could end trying to satisfy everyone and not succeeding. Listen, and make your own decisions taking into account the feedback along with other factors.

Next week, I will be working on writing the first iteration of the project. As mentioned before, this is a four-week project meant to be a technical challenge, with a live demo each week to showcase how the application is coming along. I have some experience with JavaScript, but I have never developed mobile applications or used a complex, big framework like React; so, I am nervous and the little time we have only amplifies that feeling. Even so, I am confident that we will be able to deliver a good and functional application. In previous weeks, I wrote about how programming languages are just tools for the job, so this is a great opportunity to apply that mindset, in fact, React is so popular the web is full of resources and tutorials to get started right away.

The first demo will include basic functionality, including, but not limited to: a login and signup form, a list of names manually entered into the application, swipe functionality (which is a distinctive feature for our application) and basic database integration.

Stay tuned for the first live demo results, and what will improve in the next one!