Category Archives

3 Articles

Code/Learning/Projects

Project 300 2022: Mastery Based Learning

Posted by Danial on

It’s been a while since my last update on landing a new role closer to to code. I’m almost 6 months in and I’ve already learnt so much about the payments industry while also refining my coding knowledge, picking up tools like Kibana, Grafana, Docker/Portainer while also debugging plugins for Magento & Salesforce Commerce Cloud (SFCC).

I decided to pause my #100DaysOfCode last month as I was moving into a new vertical at work and context switching was more draining than I expected (between mid-Feb to Mar I was ramping up and learning Magento and SFCC environments while also getting familiar with our in-house plugins/integrations for those platforms).

Having slightly settled now, I’ve decided to restart #100DaysOfCode, but this time re-using my earlier Project 300 framework to craft my own personal ‘bootcamp’. Prior to starting my new role, I had considered taking up a traditional bootcamp to level up and had looked at options such as Rocket Academy and Le Wagon. While I valued the cohort-based and project-driven curriculum of such bootcamps, I was not yet sure of the pace of ramp-up at my new role and was uncertain if I could manage. At the same time, these bootcamps started at $3000 (with subsidies that I was not sure I could get) and went as high as $10,000, and I was uncertain how much value-add the courses might bring to my own learning since I was quite used to learning on my own consistently every week.

I put off the decision, and eventually settled on 2 courses to be taken in parallel:

I chose the former based on good reviews from a close friend who also took one of their specialist diplomas, albeit in the data analytics track. Her experience was that while the course touched on fundamentals, they were rigorous and really helped her improve her competency in the tech stack further. I was also surprised when she mentioned that the quality of instruction at Singapore Polytechnic was much better than majority of the classes she was currently taking in a university tech masters program.

I had applied for the Specialist Diploma in Full Stack Web Development but I was told I did not qualify, likely as my last formal educational qualification was a Bachelor’s of Arts in Philosophy (I’d argue that philosophy prepares one for programming and development much better than other technical disciplines). I still went ahead to enter the diploma course (which served as a prerequisite for the specialist diploma) as it ticked so many boxes for me:

  • Cohort-based curriculum focusing on fundamentals of end-to-end web development
  • JavaScript (frontend) and Python (backend) were being taught, so it was an opportunity to further master languages I had learnt before
  • the Visual Interface Design module would be teaching photoshop, xd and basic graphic design skills; aligned with my frontend dev interests
  • a capstone project (full stack web app) to be completed as a team provided a chance for me to work in a real-life team based development project
  • I could use my remaining SkillsFuture funds to subsidise almost 75% of the diploma course (having to eventually pay only about $250+ for a 1 year accredited diploma certification)
  • getting a formal qualification (diploma) – very much the least important but was a bonus to augment my portfolio

Deciding to also take Launch School in parallel took a bit more thinking. I had come across the course many times on twitter and online reddit forums, but was always on the fence. After being recommended by a number of prominent tech twitter personalities, I took a proper look at the course again. I was immediately drawn to its mastery based learning approach, which meant that I did not need to rush learning in a fixed time period of say 3-6 months. In fact, many of the learners said 12 months seemed to be the average time to complete the core curriculum if going at an even pace.

Another aspect of Launch School that was attractive for me was that even while being a flexible asynchronous peer-based online course, it had rigorous written assessments and live coding interviews that will evaluate mastery of the skill before going on to the next module. This I felt was a differentiator to many online courses. Looking at reviews and outcomes of past learners, I’m convinced that Launch School was a fit for my desire to develop mastery of high-level software engineering first principles.

The Project 300 roadmap this time round is a bit different, as it is aligned to the diploma schedule:

Phase 1: Diploma Term 1/mid-Term 2 (16 Apr 22 to 24 Jul 22)

  • Fundamentals of Progamming
  • Fundamentals of Web Development Technology
  • Visual Interface Design
  • Launch School Core in parallel

Phase 2: Diploma Semester 1 end (25 Jul 22 to 1 Nov 22)

  • Fundamentals of Progamming
  • Fundamentals of Web Development Technology
  • Visual Interface Design
  • Launch School Core in parallel

Phase 3: Diploma Semester 2 (2 Nov 22 to 9 Feb 23)

  • Back-End Development
  • Web Programming
  • Capstone Project
  • Launch School Core in parallel

This past week I managed to complete LS95 Orientation of the launch school prep course and starting on RB100 Programming & Back-end Prep. Next week will be the commencement of my diploma course. Pretty excited to see how far I can push myself and how much mastery I can achieve!

Code/Projects

Project 300: Revisiting #100DaysOfCode, new roadmap, phases and focus.

Posted by Danial on

My last #100DaysOfCode log was on 14 Feb 2020. Up to that point, I had made 2 attempts and was starting to gain momentum with learning Python and Machine Learning. I was sure that AI/ML would be the path that I wanted to move towards. It’s been about 16 months since, and the world is a different place.

With Covid-19 turning lives upside down, my life similarly underwent significant changes, some intended, some unintended:

  • Mar 2020: lockdown in Singapore in the form of “circuit breaker”.
  • Mar – Apr 2020: in the midst of work from home (WFH), I completed Python Crash Course and learnt basic Python, but realized that I wanted to do more with code, I wanted to build things that help and add value. Thus begin a pivot to web development.
  • May – Jun 2020: Volunteered to assist my company via remote tech support role while waiting for lockdown to end. In that time, I also started freeCodeCamp’s Responsive Web Design course.
  • Jul 2020: Return to work and adjusting to a new tech support role in store.
  • Sep 2020: Completed freeCodeCamp’s Responsive Web Design course. Started freeCodeCamp JavaScript Algorithms and Data Structures course.
  • Oct 2020 – Mar 2021: Hit a rough patch with my work, and this time was interspersed with occasional coding, adjusting to new role, gaming in my free time.
  • Mar – Apr 2021: A relative asked me to consider a startup role that was very different from tech, and while doing so, started a brief self-directed learning experience with marketing and growth hacking. At the same time, also applied for an internal programme to try out and shadow a corporate technical role in my company.
  • May 2021: A new Covid-19 wave resurging in Singapore resulting in a quasi-lockdown state termed “Phase 2 (Heightened Alert)”. Radio silence from the startup marketing role.
  • Early Jun 2021: Interview for the internal company experience for Escalations Engineer role (tech stack – Python, SQL, Charles Proxy, Splunk). Take home challenge to learn SQL, Charles Proxy, Splunk, and review Python in 4 days. Managed basic surface learning of technologies; bombed the technical interview. Silver lining – suddenly found new momentum to continue learning.
  • 14 June 2021: Crafted and started a personal 39-week plan to reignite web development journey with 3 distinct phases. Now titled Project 300 (i.e. 3 x #100DaysOfCode).
  • 19 June 2021: And so here we are.

While I already started the project on 14 June, I felt that instead of doing it in private, learning in public would supercharge the process and also act as another driving force to maintain the renewed momentum that I gained, ironically from a failed interview. I am restarting my #100DaysOfCode today, and the plan is to do it 3 times in parallel to my 39-week plan.

The roadmap for Project 300:

  • Commitment – 12hrs/week
    Workdays – 1hrs/day
    Off Days – 3.5hrs/day
  • Learn in Public
  • Restart #100DaysOfCode
  • Tweet updates
  • 1 blog post weekly

Phase 1: Fundamentals (14 June to 12 Sep – 13 weeks)

  • Complete freeCodeCamp JavaScript Algorithms and Data Structures
  • Complete The Odin Project Foundations & Full Stack JavaScript
  • Complete Watch and Code (free)
  • [Optional] Complete Full Stack Open

Phase 2: Portfolio Building (13 Sep to 12 Dec – 13 weeks

  • Portfolio site
  • Blog site
  • Bug tracker
  • Budget tracker

Phase 3: Network and Expand (13 Dec to 13 Mar – 13 weeks)

  • Get feedback on portfolio
  • Offer to build a website for a friend/relative

Some tools I’m using to help me with my daily goals:

  • Done App to track daily tasks
  • Day One App to journal daily affirmations
  • Toggl track to track time on coding and learning
Projects

12.12.12 & Start of a productive month (probably)

Posted by Danial on

So exams are done and semester is officially over. While it has been a somewhat turbulent few months for me, which also saw me taking a short trip to Malacca to visit grandma and at the same time do a bit of self-instropection, I must say that I’ve come out with not only clarity of vision but also a greater sense of purpose. Previously, I was doing too many different things at the same time without really knowing if everything tied in with what I really wanted to do. But not anymore. And yesterday was probably a start towards what is hopefully a very productive holiday.

After a sort of hiatus from NUSMS events, I’ve decided to join up with one of the project committees and recently had our first meeting. Once details are confirmed, I’ll be sure to post more of it here, but suffice to say it looks to be a very interesting event.

I also had the opportunity to attend a session of Suara Musyawarah. For those who might not have heard about it, Suara Musyawarah is an Independent Committee to engage the Malay/Muslim community by gathering feedback, opinion and perspectives from the ground. It can probably be alluded to the National Conversation, but more specifically targeted for the Malay/Muslim community. The session I attended was mainly composed of tertiary students and young professionals, and many pertinent issues and sentiments were raised. It’ll be interesting to see what kind of opinions and perspectives from the community might arise as more of such sessions are conducted. If more segments of the Malay/Muslim community are represented in such sessions, I’m sure a very frank and enlightening collection of perspectives from the community can be extracted.

In other news, I might also be involved in another Youth Expedition Project, but we’ll see God Willing:)

-Danial