I am a recent Computer Science graduate from the University of Windsor. As a student, I was fortunate enough to work as both a Research Assistant, Teacher Assistant at the University. I also interned as Software Developer at Amazon, where I learned a lot about designing scalable applications and writing maintainable code. By the end of the internship, I created an internal debugging tool for my team and pushed it to production! I am always working on atleast one side project, so I can continue to learn new things and grow as a developer. I am looking for an opportunity to work in a place where I get to code, solve interesting problems, design solutions and grow as a developer.
Fields I have explored in CS and find interesting.
- Making Projects
Web Development
Game Development
Security Developer
Algorithms
Data Structures
Security
- Encryption
Networking and Cloud computing
- Distributed computing
Artificial Intelligence
Languages and Grammar
Big Data
Hardware and OS
- Linux
Below is a list of some things I find interesting. For some topics, I explain why I think what draws me to the topic. Other times, I just list sub-topics. So, the tree is a mix of a brain dump and hopefully gives some insight into things I like.
Social Sciences
Psychology
Work-related
Career Wellbeing
Most people will spend a significant portion of their life at work. So, you might as well figure out what you want out of your career and how to get it.
Productivity
- Role of ambition
- Characteristics of productive people
- Importance of growth mindset
- Grit (impact on life success as well as how to cultivate)
- Components of motivation
- Role of structure and organization
- Deliberate Practice and Mastery
- Goals and planning
- Cultivating focus
- Effective time management and prioritization
- Leveraging the urge to procrastinate as a force for good
- Identifying and leveraging natural strengths
- Increasing engagement of work
Resilience
- Post-traumatic growth
- Relationship of trauma to creativity
- Emotional Regulation
- Coping Mechanism
Working under pressure
- Reframing threats as challenges
- Gamifying
- Breathing techniques
- Meditating
- Minimize thought required to perform under pressure
- Practicing until actions become second nature
- Creating system
Increasing luck
- Maximize Opportunities
- Meet people (network)
- Try out new things
- Try to say yes more often
- Break routine
- Value your intuition (it's not a magic bullet, but investigate hunches)
- Look for the good (Tetris effect): we are more likely to see what we seek
- Turn obstacles into opportunity: Post-traumatic growth
- Maximize Opportunities
People
- People are a constant factor, and you will have various relationships in your life. So, you might as well make an effort to improve your interpersonal relationships.
Leadership
- I have no interest in managing anyone in the foreseeable future. But, there is only so much you can do by yourself. And, I try to think of leadership differently than management. Teams need a good manager to keep things orderly and to push the team to reach goals. I see a leader as someone with a vision and understanding of their team. Like, they know what everyone wants and how to link actions to things that will motivate them. And, they understand people's strengths, so they can help the team position themselves.
Relationship/Friendship
- Your close interpersonal relationships are the best predictor of . Also, people are complicated and vary a lot, which means every relationship will be different. So, it's always interesting to find common threads and hopefully discover some principles to navigate through life.
Networking
- You can never know too many interesting people.
- Everyone knows networking is important, but nothing is worse than someone who tries to network with you, hoping to get a job.
- My favourite networking advice
- Find some way to provide value. Try to see if you can do something in 5 minutes to make someone's life better. Introduce people who you think should be connected or share ideas you feel will help
- Reconnect with old friends
- Connect with people with large networks
- Be a friend: try to connect with people you find interesting. Also, cement existing relationships
Mentorship/Teaching
- Expertise requires hours of deliberate practice, but studies have found world-class performers often have a teacher inspire them when they are young. Then work with expert teachers to reach new heights. Also, studying the characteristic of good teachers and students might help you both learn and teach better. And no, I am not interested in anything resembling an MLM.
Cognitive
Cognitive psychology is the study of different mental processes. In my opinion, this is the coolest part of psychology. I want to figure what makes my brain tick. Luckily there is a plethora of articles and papers to help me out.
Creativity
Intelligence
Critical thinking
Behavioural
Radical behaviourism is the idea that all behaviours can be explained away by conditioning. This leads to the demonstrably false conclusion of humans being born as a “tabula rasa (blank slate)”. But, despite its radical foundation, behaviourism still stands as the cornerstone of modern psychology. Behaviourists were the first psychologist to insist psychology should be seen as a science, namely all theories needed to be backed up by experimentations and evaluated on their predictive ability.
Human psychology is always going to be complicated. So, any lens that can deepen our understanding is worth learning.
Personality
- Big 5
- Grit as a part of conscientiousness
- Intelligence as it relates to personality
- Creativity as it relates to personality
- Mental disorder as continuum of personality
Abnormal (Disorder)
Developmental
Biopsychology
History
I have always seen history as a collection of stories that happen to be true. So, whenever I am researching a historical event, I try to figure out what happened and deepen my understanding of the characters involved. For example, while learning about Julius Caesar's assassination, I tried to figure out why he wanted to conquer Rome. Then I researched his oppositions and analyzed their motivations.
I would also try to learn more about the setting. For example, the two-consul system seemed weird. How did it start? Why were they so afraid of a potential dictator. Unlike in a novel, you can follow your curiosity and the story continues to grow. I don't go out of my way to memorize the dates of different events, but the more I learn, the better I get at placing things chronologically.
I also love history for putting things into perspective. For example, every solution has a tradeoff. By studying proposed alternates, we can learn they were. This helps us in two major ways.
First, it helps us understand what we lose by discarding the current system. Any new system we create should address problems the old system was handling. If it doesn't, we have to ask ourselves: is the tradeoff worth it? If so, then is there anything we can incorporate from the previous system? An example is our transition from hand-based production to machine production. For context, craftsmen and artisans populated the towns of medieval Europe. Groups of these families banded together based on their profession as guilds. Craft-based guilds began manufacturing products that traditionally belonged to other guilds to increase their influence. For example, some leatherworkers created shoes. As a result, the craft-based guild became more reliant on the merchant guild. As the merchant grew increasingly powerful, masters from other guilds also became merchants, creating a new social class. The merchant class capitalized on technological advancement and created small factories. So, we were now able to produce more things for cheaper. So, if the goal of craftsmen-guild was to make goods, then the new factory system was an upgrade. But, we like making things and we like what we make. Controlling when you work gives you a feeling of autonomy and when skill is coupled with creation it fuels our desire to become experts. Both are vital to engagement.
In comparison, factory workers required less skill and experience than hand-based crafting and families lost control of their business, so workers could no longer set their hours. Working conditions were also horrible. Fortunately, we have come a long way from then. However, large corporations still employ the majority of workers. And about 1 in 3 are engaged in their work. Maybe emphasizing mastery and increasing autonomy is a step to increasing our productivity and well-being.
Another thing we learn by studying alternates is if we now have the technology to bring an idea to life. One example of this is the electric car, which was replaced with the gas car. But, Tesla was able to find a way to make it work. As a result, they have become legendary.
Lastly, history is a collection of our experiences as a species. People have come before us. They have struggled. They have made mistakes. History shows us the mistakes we made as societies and as individuals. And I want to learn from them. So I can do better.
- Archaeology
- I have always see archaeology as a means to an end. Like a way to validate historical stories.
- Archaeology
Communication
Writing
- Rhetoric (Arguing Better)
Sociology
Philosophy
Humans have been trying to figure out how to long to live for a long time. So, why would you not learn about some of the better answer we have come up with.
- Meta-Physics
Schools of Philosophy
- Religions
- Stoicism
- Confucius
- Plato
- Socrates
Eudaimonia (Study of a "good" life)
Studies of life outcome
- Top Five Regrets of the Dying
Lifelong studies
- The Terman study
- The Grant study
- The Legacy Project
Life goals: Just Enough: Tools for Creating Success in Your Work and Life:
- Happiness: Pleasure and contentment. Part of this is also physical health, gratitude and small thrills
- Achievement: Doing what you are good at and making a career
- Significance: Relationships and positive impact
- Legacy: Discovering and then living by your values in a positive way.
Measuring Wisdom (Personal Intelligence)
Gratitude
Priming brain
- gratitude journaling
- Imagining horrible scenarios
Meaning
- Meaningfulness vs Happiness
- Power of stories and myths
- Impact of religion
- Mediating on your death
Ethics
- Studies on Ethics
- Moral foundations theory
- Nicomachean Ethics
- Justice: What's the Right Thing to Do? - Michael Sandel
Transcendence
- Self-awareness
- Self-acceptance
- Alive Time Vs. Dead Time: Engaging with life
Natural Science
Astronomy
- Everyone loves space.
Megastructures
Terraforming
Mars
- Venus
Chemistry
- I have been obsessed with chemistry. I still remember my awe when I first saw an atom in grade 9.
History
- Alchemy evolution
Physical chemistry - the foundation of chemistry
Basics
- matter
- compounds
- reactions
- bonding
Reactions
- Chemical kinetics – study of rates of chemical processes.
Energy
- chemical thermodynamics
- Thermochemistry - heat generated
- spectroscopy- absorption, emission, or scattering of electromagnetic
- radiation
Phases
- Surface science - interaction of two phases
Electrochemistry
- Electricity is cool in general
- Humphry Davis and his shows, showing the magic of electricity (Cosmos Space time odyssey episode 10)
Analytical Chemistry
- Forensic chemistry - crime scene chemistry
Applied chemistry
- Organic chemistry
- Biochemistry - chemistry living things ties a lot into biology
Inorganic chemistry
- Nuclear chemistry - fission, fusion, radioactive decay
Physics
- Physics is cools because the consistency of its principle: works everywhere in the visible universe
Quantum physics
Quantum computing
- Quantum-safe encryption
Quantum technology
- Lasers
- GPS
- Solar panels
- MRI scanner
- LED
- Transistors
Experiments
- Double slit
Current understanding
- Standard model - fundamental forces-
Life science
Neuroscience
- Brain region mapping for personality disorders
- Astrobiology (Aliens)
- Biotechnology
- Bioinformatics
- Evolutionary biology
Earth Sciences
Geography
- Geochronology (Mostly just history of the Earth and how we date things)
Math
Technology
History of Technology
- Early human tool development
- Agriculture Revolution
- Industrial Revolution
Cool Inventions
Interesting gadgets
Finance
Money gives you the freedom to live a life by your values. Everyone's situation is different, but I think everyone have some sort of system to manage their money.
- Saving Psychology
- Managing Money
- Automate saving
- Investments
- I try to mostly invest in ETFs, but I love analyzing potentially undervalued stocks
Questions I have either been asked and had a lot more to say. Or, things I thought a bit about and give insight into who I am.
Why do you like CS?
As a kid, I always loved puzzles, magic and making up stories, which is why I think I fell in love with Computer Science.
As a coder, it feels like you are continuously solving fun puzzles. You start by analyzing what you know, brainstorming ways to solve the problem and you know when it’s solved. Analyzing a problem feels like reading a whodunnit book or trying to escape an escape room. You look at each piece of information and try to see if anything can help you. Next, you brainstorm, trying to connect seemingly unrelated ideas. It’s like looking at a bunch of scrabble pieces, trying to come up with a word alongside the thrill of having a high-value word pop into your head. It’s those flashes of brilliance where you move from uncertainty to clarity that makes coding exciting. Last, coding refines your thinking by giving you feedback, just like solving puzzles. Unlike puzzles, there often isn’t one correct answer for coding. But, there are definitely wrong answers and objectively better answers. You can create test cases to set up a puzzle-like environment. Failed tests or broken components expose faulty or noncomprehensive reasoning like incorrect Sudoku boards. So, you get the same feeling of achievement when you get your code working efficiently and correctly. In short, a good portion of coding is like solving puzzles and they are both fun for the same reasons.
Magic has a certain allure: a seemingly incomprehensible force that can solve a range of problems. Coding is the closest thing we have to magic. Much like magic, computers are mysterious. The more you learn, the more questions you have. Imagine you want to understand what makes up a computer. So, you learn about different computer parts such as RAM, CPU, hard drive and a motherboard. But, that brings up a plethora of questions, such as how can some metal and electricity “remember” things. And, how does the CPU know what to calculate and how do these calculations turn into meaningful output? Once you understand how each part works individually, you still need to learn how they work together. So, avoid drowning in complexity, you learn to view most things as black-boxes. For example, imagine we wanted to print “Hello World!” in Python. We would write `print (“Hello World!”)`. Instead of worrying about how Python is handling the printing under the hood. As our programs get more complicated, so does the size of our boxes. So, coding is the art of picking magic boxes and connecting them to solve problems. Likewise, writing maintainable code is about combining smaller boxes, so we only have to worry about a few boxes at a time. In summary, coding is a humbling craft, where you spend a lot of time working with pieces you don’t fully understand, which simultaneously remind you of your ignorance and pique your curiosity.
I don’t know anyone that doesn’t like stories. But I’ve always been obsessed with them. And, writing code and stories is similar in a lot of ways. I love the way stories weave through a slew of disjointed ideas and combine them into something even better. I love watching as my imagination dissects stories into idea and then stitching them up in different ways. Similarly, software is also ubiquitous and mashes together seemingly unrelated concepts. For example, using the “genetic algorithm”, which was inspired by studying natural selection, to mimic a user’s typing pattern. Or, using a basic statistical technique to find good deals on Amazon. Next, stories are our soul, they let us see the world from someone else’s world and bring us together. The best authors place themselves in the shoes of their audience and guide them to a new perspective. Likewise, coding is an empathetic art. When you code, you have at least two audiences in mind. The first is the compiler, which is like a smart child. It is limited in what it can infer. So, you need to be exact with your instructions. Unlike with people, you don’t have to worry about their desires and dislikes. But, there are certain things it can do faster, so you try to state things in a way that makes the execution as fast as possible. Your second audience is other developers. Good code is reusable code. Modern applications are too big for one person to create. So, people will read your code. This means you need to learn to see your code as someone coming it across the first times. You need to make educated guess about what they know and document your code accordingly. Reading code takes as much empathy as reading a book. I have lost count of the times I accidentally broke a program because I misunderstood the creator’s intention behind a certain line or function. So, coding is a lot like writing stories, except you get to create something you can use.
It’s no surprise that I enjoy coding. But, it’s hard to explain why you like anything. I hope that by comparing it to other hobbies I’ve made it a little to see why CS is awesome.