Image credits to Aditya Loshali and freeCodeCamp

I’m a big fan of React and with React Hooks.

Before you roll your eyes and go, “Not another React Hooks blog”, hear me out.

Sorry!

It’s no surprise that the industry standard has moved away from class-based components and lifecycles. I won’t be discussing function-based vs. class-based components in this post — you can read the tens of blogs about this topic on Dev and Medium.

I did, however, want to shed light on one particularly useful Hook I came to learn, which is useContext.

What is useContext?

useContext is a React Hook that allows us to have and use global state…


Disclaimer: this is not what diagramming systems design actually looks like. Credits to Christina Morillo at Pexels

The most common topics developers and engineers are encouraged to study in preparation for interviews are data structures, algorithms, and time complexity. While these are certainly important topics to understand, I’m introducing another popular topic that developers and engineers should know and prepare for, and that’s systems design.

What is systems design?

Systems design is defined as “the process of designing the architecture, components, and interfaces for a system so that it meets the end-user requirements” (GeeksForGeeks).

Put simply, systems design is the architecture of the entire product. In the “big picture”, so to speak, the Backend is responsible for parsing and working with…


Photo credit to Torsten Dettlaff at Pexels

As thankful as I am to have so many resources for software development at my disposal, I have to say the deeper you get into learning, the more you realize how little you know.

Case in point: I was at a virtual event, or perhaps it was a video tutorial. Someone mentioned “JAMStack’’ in passing. While my interest was piqued, I couldn’t help but figuratively shake my fist at the sky. Not more acronyms!

What is JAMStack, and would learning what “JAMStack” is help me grow as a developer?

The answer is a resounding yes.

On this note, let’s…


Credits to Wired for this image

“Do you have Swift experience?”

I hesitated for a beat before checking “Yes”.

Spoiler alert: I did not have Swift experience.

In fact, I mentioned as much after I applied. That didn’t stop me, however, from downloading XCode and coding along to a Swift iOS tutorial on how to build a Notes app.

My experience this week had me thinking about Apple OS development and how different it was from standard web development. It’s true that once you understand coding and syntax, you can more or less grasp what code in other languages is doing. …


Credits to Markus Spiske at Pexels for this image

I’ve been working on building an eCommerce shop. This personal project grew out of a desire to learn how to use the Stripe API, as many of my recent technical projects were frontend, utilizing CSS, HTML, and React. I’d been interested in working with a FinTech-based API, and wanted to continue honing my backend skills. For the project, I wanted to create a checkout form when the user clicks to check their cart, but I soon realized there are so many things you can use Stripe for.

Eventually, I had to search for help; I wasn’t sure how to set…


Credits to Lukas and Pexels for this photo.

A friend had recently invited me to an online webinar about A/B Testing. Without much thought, I clicked “attending” and went about my daily routine. As the day of the webinar drew closer, though, I realized that I don’t know what A/B Testing is.

It’s almost second nature to start studying data structures and algorithms if you’re preparing for a role as a Software Engineer. (If you want to read about practical examples, feel free to check out my other post.) …


Credits to Pixabay at Pexels.com

Like many of my posts, I came across the term “PWA” by way of job postings. As I mentioned in my NoSQL piece, a lot of coding and software can be intimidating — to both developers and non-developers — given all the acronyms and terminology.

Back to the main topic — it was some time ago that I saw a job posting state that, as a preferred qualification, applicants know how to build a PWA. This led me to think, “What is a PWA?”

What is a PWA?

To put it simply, a PWA is a Progressive Web Application. MDN defines these as…


“Write pseudocode to perform in-order traversal in a binary tree” (Hackr.io)

First of all, what is a binary tree?

As it turns out, there’s sort of a reason why almost all (99.98%?) of companies searching for software engineers and developers want someone who has a Computer Science background. Although there are debates as to whether these qualifications and indeed, even interviews, are the best way to assess a candidate, Computer Science teaches important concepts that as developers and engineers, you must understand in order to ace that interview.

Note: of course, I can’t speak -or write- on behalf of…


Thanks to Lukas at Pexel for this stock image!

“Seeking Frontend Developer”, “Hiring backend engineers”, “Software Engineer II”, “Junior Back-end Developer”, “Junior Programmer”

The amount of jobs postings for software engineers/developers/programmers is overwhelming, but job titles can be confusing as well. What makes a developer different from an engineer? Aren’t they the same thing? If you’re an engineer, are you also a programmer? What’s the difference?

  1. “Experience working with a Front End framework such as React/Angular/Vue/Ember”
  2. “Experience with HTML, CSS…”
  3. “Programming knowledge in one or more of these languages…”
  4. “Experience with relational databases such as…”

These are just a few qualifications companies are looking for in candidates — but…


Does it seem like all these computer programming languages, frameworks, and databases have odd names? I know it seemed that way to me. We’ve got JavaScript, Java (no relation), C, C++, C# (pronounced C-sharp), Python, Go (also called Golang), Haskell, PHP, Ruby, React, Vue, Angular, Ember, Express, Laravel, and then this SQL stuff. So, what is SQL?

SQL (pronounced “ess-que-el” or “sequel”) is short for Structured Query Language. Its databases include SQLite, MySQL, PostgresQL, among others. When we build an app, we usually need a database to store user information. Think: usernames, emails, passwords, security questions and corresponding answers…

Aimee Liang

Full Stack Software Developer. Any and all opinions are my own. aimeeliang.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store