So into my second year first semester at university, I applied and went for my first internship at Radioactive Singapore!
Basically the company produces mobile and web applications for radio streaming since nowadays no one listens to the physical radio anymore and sells their streaming services to radio stations such as Mediacorp and even to other countries such as Malaysia and Indonesia. With that, the company actually has a huge database worth of streams and there are crazily a lot of data in their database (ElasticSearch)!
I remember I went there excited on my first day as I was ready to help out in whatever way I could and hopefully change the impression the boss had of undergraduates. Basically, during my previous interview with him, he felt that undergraduates were all talk and no action HAHA which I kind of agreed too sometimes like they just know how to smoke but actually if you look past the smoke you realise that they have no content.
I had to do a lot of self-learning on the job which was what I am actually very thankful for because NUS exposed me to self-learning ok not really more like they couldn’t be bothered to find good professors and in the end me and my friends always had to end up self-learning. But basically, whenever I faced a problem like my code throwing weird and random errors and other stuff my mentor just told me to google it and it helped that I was already comfortable with googling to solve problems. It then dawned upon me that the reason for this was because my mentor also might not know the solution to the problem and hence, I felt “glad” in some way because they were legit giving me issues that their company faced and that they trusted me enough to solve those problems.
Over the course of one month, I’ve learnt many things: querying in ElasticSearch, which is a noSQL database that many top companies such as AirBnb and what not uses, coding and doing exploratory data analysis in Python and also R (thankful to BT3103 for the chance to learn ShinyR), using python visualisation packages such as Bokeh and MatplotLib and also dealing with complex Json structures.
The most important thing I’ve realised is that in the workplace next time, when your bosses do not know anything about data or numbers, the only thing that they look for is your visualisation. Basically if you are like the most fantastic computer scientist ever but your visualisation is shit and boring, I would say likely the boss would not be impressed with your work. Here are some visualisations I did and during my presentation to them, they were pretty impressed with the prototypes I built.
I will talk more about the visualisation style that is very popular nowadays and maybe roughly about the pseudo code later. So I realised that top firms and managers want always some form of interactivity, meaning that they want to be able to play with the data at their fingertips for example, if you realise in the chord diagram, the user can select the option of different dates to analyse the data. And also in the last bargraph, there are even more options such as Marker and Window Input which refers to their technical terms.
I am actually quite happy and proud of myself for being able to contribute to the company! As some of you might not know, I started taking up coding and data analytics in Aug 2016 when I first entered university and I struggled initially trying to pick programming up. I would say I am still learning now but I am definitely more comfortable than I was last year and the fact that merely one year later I can produce code like this makes me very fulfilled and I am glad that I took my dad’s advice to pick up coding. I probably will talk about this in another post but I almost didn’t wanna do business analytics :p
Ok oya so the pseudo code part for those of you who are wondering:
- Link up your language with the database be it Python or R usually through a library (I used elasticsearch py) unless you wanna do REST api which is shit HAHA
- Figure out how to get the data that you want by querying and then using lists/tuples to sieve out further
- Use visualisation packages that are you are comfortable with, examples include Bokeh and Dash (these two are good because they work with Pandas and also they include reactivity expressions which is the interactive aspect unlike Matplotlib)
- Process your data to fit the correct format and structure so that you can use the packages also known as data cleaning which arguably takes up the most amount of time
- Debug debug debug debug
- Debug debug debd debu debuu deab dead
- Kidding ok but with enough perseverance you can successfully get your visualisations to be working!
To sum things up, I’ve greatly solidified my coding skills and also have a better understanding of how working outside feels like which allows me to also have a glimpse into my future working life and to be honest, it isn’t that bad after all 🙂 I enjoy what I am doing on a regular basis and I feel I am starting to really grow a passion for data and coding. In fact, I am working on a few personal coding projects and I’ve recently signed up for an account with GitHub omg life is so busy but I think I matured a lot over these few years and I know what I want to achieve in life and my direction and all that.
So that’s all for now! I hope you enjoy reading this as much as I enjoyed writing it.