-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b2bda3e
commit ad991b7
Showing
13 changed files
with
655 additions
and
95 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
+++ | ||
title = 'Importance of Low Level Learning' | ||
date = 2024-05-31T15:50:54-04:00 | ||
draft = false | ||
+++ | ||
|
||
### Introduction | ||
At this point in time, I am a software engineer intern at a blockchain company located in Toronto, working on implementing bitcoin smart contracts in a digital wallet. I have been confused over the past few years about what I would do in the future, so I think a little bit of background would help. Feel free to skip the next section! | ||
|
||
### Some Background | ||
I am currently studying computer science at the University of Western Ontario. However, what I am doing in school is the minimum to pass my courses and get a degree. | ||
|
||
Before university, I had struggled with doing any school work, and my friends (very smart people, by the way) had to carry me to my high school diploma. I did nothing in high school, which could partly be attributed to the pandemic at the time. However, this was a little different from how others also slacked off. I had zero knowledge. To this day, I do not think I can recall anything I learned after my first year in high school up to the moment I started my undergraduate studies. | ||
|
||
This became a problem entering university. I had originally been enrolled in engineering; however, the fear of not knowing concepts in the science and math disciplines scared me out of it, forcing my change into computer science. Going into my undergraduate year, I was struggling a lot with school. I had zero base knowledge to work off of, so naturally, I had to work from the base up. I learned how to do some basic coding (variables, functions, etc.) with Python, learned some math (Calc 1 and basic linear algebra), etc. I eventually made it past the first semester and was able to make it throughout the year. I would like to note that this was only possible because I had someone who worked hard beside me every day. Although this was a nice change for me, I still lacked the passion for anything that I was doing. | ||
|
||
I had dabbled into a little bit of web development, found it a bit interesting, and decided to learn more about it. However, despite telling myself that I would try to pursue it further in my first year, I fell back into my video game addiction that had haunted me in high school. It wasn't until about the middle of my second year (around February of 2024) that I decided to pick it up again. I tried creating a full-stack application for making flashcards and had to relearn basic coding concepts that I had learned a year previously. I had forgotten basic syntax and different concepts. Although the project was quite terrible, it was something that I was proud of; this also made me realize that I knew nothing. | ||
|
||
The flashcard project was originally made with the pure intention of having something to put on my resume. I was never really into computer science. I would have considered myself more of a math guy. I would say this could be credited to the fact that I had never really delved into it, and that in itself could have been the problem. I had no passion for anything I worked on. My sole motivation for working on projects was in the hopes of securing an internship/full-time job in the future and milking the money that came with this industry. | ||
|
||
As previously mentioned, the reason I had decided to achieve the bare minimum in school is attributed to what I thought about it. I thought that school was useless, that nothing we were learning would be applicable to the real world. This is true to some extent. One wouldn't need knowledge about converting hexadecimal numbers to assembly instructions, but one would probably need to learn how to code in a language of choice. This line between what is needed and what is not starts to blur a bit. My friend, Jremo, would tell me that I shouldn't be skipping everything in school, saying low-level learning was still important. I didn't really understand the reasoning behind these words at the time; it wasn't until later that it started making more sense. | ||
|
||
### Abstractions | ||
My learning didn't pick up much after January. I would learn some web development here and there. It wasn't until March that I started to think about what exactly needed to be learned. My view of software development suddenly blew open during this time. The vastness of each individual field in software development was a little overwhelming to me. The more I looked into it, the more would appear. Although I was discouraged when I first peered into the abyss, the more excited I got. I was quite interested in everything there was to learn. | ||
|
||
But this started coming at a cost. By learning all there was to learn, it was difficult to become exceptional. At the end of the day, there is no need for a software engineer who just does a worse job for certain tasks compared to an engineer who only operates in that field. My realization of needing to specialize in a certain area of development became much more prevalent. I started studying in-depth about databases and cloud infrastructure, finding a great interest in what I was learning. | ||
|
||
This is where I started making mistakes that I've grown to regret. When originally learning MySQL, I had skipped out on understanding the SQL syntax to query from the relational database. I had jumped straight into prompting ChatGPT to create queries for me. I feigned understanding of outputs that were created, and I started to become more and more dependent on it. I realized that I didn’t quite understand much of what was happening in my code. I had to force myself out of this state and have been using a lot of documentation extensively ever since. This allows me to fully understand the underlying structure of what was happening inside my applications. This enabled me to build projects that I found fulfilling and felt were done by my own hands. | ||
|
||
I kept working even deeper and realized there was quite a lot to work on. This forced me to think about the actual importance of going in-depth on the applications I was creating. The more I did, the more I learned that certain problems were never going to be solved with surface-level knowledge. One would need to know how the software they were working with functioned in the first place. I adopted this thinking and have now been using it to learn the newer things that are thrown my way. | ||
|
||
### Now | ||
Around the time of writing this post, I was scrolling through some professors at UofT (University of Toronto) and found an assistant professor whose work was exactly what I was looking for. I had a strong passion for scaling systems, but it wasn’t until I looked at what he was working on that I realized this was what I was passionate about. This professor centered his work around data systems and networks to deal with hyperscale data processing. I would have liked to ask to work under him, but I do not feel qualified at this moment. I would rather practice my fundamentals with open-source courses from Carnegie Mellon before thinking of even asking for an opportunity. Stumbling across this put some passion into what I would like to do, and I can confidently say that I have genuinely started putting my all into what I want to do as of the end of May 2024. Despite my previous attempts to start and failures to keep going, my new passion has made me determined to start anew. Tomorrow, I plan to work in isolation to be able to achieve the things I would like to do for the future. |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Oops, something went wrong.