Introduction
At the time of writing this, I have already been in SB for around half a year. I joined at July 2022. I still remember feeling really proud having able to join a tech company. I also had a severe Imposter Syndrome, feeling that I only got this job because my friendâs hard-sell-ed me to the Data Analyst team lead. I actually failed the interview twice, lol.
Watching a lot of tutorial videos on tools that I always wanted to learn, but didnât had a chance, didnât help in building my confidence either. Iâve always heard friends around me, who are in âproperâ Data teams speaking of tools like Airflow, Dbt, BentoML, FastAPI, K8S, Docker, etc. No matter how much tutorial videos I chug, I never had the confidence that I âgraspedâ these tools.
How did I pass the interview?
To be honest, Iâm not that sure either. Maybe I should ask my boss about it soon. All I could remember during the interview is me sharing about my bread and butter task back in umobile, mainly but not limited to:
- Making sure BAU pipeline works. Basically this is just cron + sql scripts.
- Speaking with engineers to build new pipelines. Thereâs so many tables around, with zero documentation. I wonder how I survived.
- I was the DA-in-charge for Marketing. Hence, I would always need to build/enhance dashboards/reports for them for analysis and new product launches.
- ^ Super important to maintain a good relationship with the Business Analyst. Empowering them to self serve equals giving yourself more time for other stuff. Remember that BA will always know more about what the business is doing. My role is more of an enabler.
- Huge ass migration project from OracleDB to MSSQL Server. It was a nightmare because there were too many moving parts, and bad scoping during early stages of the project.
I guess some of it are quite aligned with what Iâm doing currently?
First day in office
- Amazed at the âLibraryâ concept. Later I learned that most of the books in the main halls are donated by my boss. Heâs a hardcore reader. Super impressed, really.
- Macbook Pro. Wow!
- Two screens per seat. Wow! Too bad itâs 1080p. đ
- Most importantly, the onboarding is chef kiss. The onboarding process is structured in a âvisiting Pokemon townâ journey, having to complete certain tasks before moving to the next town. Also super impressed with everyone having to pass exams in order to use BI tool, and every BU dataset has its own entrance exam. Damn. Imagine the change managment required to pull this off in a corporate.
After going through the onboarding, it was time to get familiarized with dbt and Airflow. Surprisingly, my past experience with running stuff on cron really helped me out here (of course, also all the available documentations that the team prepared).
Also took me a while to refresh my memory on Git, lol. Havenât used it since I left Wooppy around 4-5 years ago. Was quite surprised that not many people can use Git CI too. Most just used the PyCharm plugin.
Beginner quest
My first big task was to migrate a currency rate table from âfull refreshâ mode to âincrementalâ mode. âFull refreshâ means that everytime the table is refreshed, the entire table is dropped and rebuilt; on the contrary, âincrementalâ means update+insert according to a âunique keyâ. For this currency rate table, the unique key would be âDate + Currencyâ. The end goal is: When the table refreshes with new data, if a currency for a date already exists in the table, update it, otherwise insert this new record.
This was a really good task for me to get used to:
- creating new models on dbt
- learning about jinja scripting on dbt (thank God I used it back then in Wooppy for HTML templating)
- scheduling automated tasks on airflow
- writing dbt tests
- git commands