Aviraj's Journey (1)
Updated: May 30, 2020
In the previous month, a new challenge opened my mind to improve my knowledge and understanding of programming and software development. Through ‘Researchime’ I got the chance of digging deep into the foundations of developing an app. In our daily lives, we have never really realized what goes on in the back-end of our apps. We never think about how everything works to ease our lives.
With the help of my mentor Shashaanka Ashili, I put together an application from scratch. We aimed to detect nearby BLE devices at regular intervals. But before we build a civilization we needed a plan. Shashaanka and I worked together to develop a plan. We decided to build the prototype in 4 phases. In the first phase, we decided to work on detecting a list of BLE devices and stored the data locally in the app. Working at Researchime, I learned different new and efficient ways to program to bring out desired outputs. I realized when it comes to launching an actual program it is the small things that matter. Things like the size of the file, the capacity of the application to handle large data, et cetera make a huge difference.
When it comes to the actual programming part of it, we follow a cycle called the Program Development Life Cycle (PDC). There are steps to complete the cycle. For me, one step takes precedence. It is the ‘understanding of the program’ part. It may sound simple, but to collectively work out a program and for it to function flawlessly is not an easy task. The programmer needs to understand the actual idea that the user wants to portray. This can be done only when the problem statement and the visualization of the application to be made is done effectively. For this Shashaanka played a crucial role. But that’s not all it takes to put together a program and run it on a device, is it? There were challenges and failures such as dealing with varying RSSI values of BLE devices and much more. So far, my experience at Researchime has been splendid and I hope to learn new and better ways of programming and launching programs.