How to increase your value as a developer

The talk in 3 sentences

  • Good marketing gets important message to the right person at the right time
  • Be excited! Projects/ Blogposts/ or just yourself. Share about the progress, the benefits. REPEAT. REPEAT. REPEAT.
  • Improve on techniques: Learn from other developers. Why you love following them…

Some Insights gained as a Test Engineer

Note: This post was also included in Software Test Weekly. Many other amazing testing related articles are also listed there!

Testing vs Checking

  • Testing is a matter of imagination. Testing requires critical thinking and suspicion. Testing cannot be automated just like how programming cannot be automated.
  • Checks can be automated. Automated Testing should…

A few React characteristics to keep in mind:

State Update is Asynchronous (slower than what you expect!)

  • State updates are asynchronous , so be careful with using the state immediately inside the same function. E.g. in the handleChange() below, the state input is not updated immediately after setInput is called. …


Simple and efficient rules for making a “good enough” decision for a local optimal solution.

Frontend System Design Heuristics

Understand the problem and Requirements

Guiding Questions:

  • What does the system do?
  • What data are involved in the system?
  • Who are the actors in the system?
  • What does a happy path look like (functional req — some dimensions: display order/…

What does the pattern look like?

// Sign In Gateexport const SignInGate = ({ children }) => {  const user= useUser();  if (!user) return null;  return <div>{children}</div>;};
// use the Sign In Gateexport default function MembersOnly() { return ( <SignInGate> <MembersProduct /> </SignInGate> );}

Under what situation can this be used?

The Sign In Gate can be used…

A summary of tricks learnt from Josh Comeau

In our applications, we can sometimes notice z-index of elements increase overtime as new requirements and components get added. There are times when the dropdown menus get hidden behind text input boxes or floating components bleed through modals after UI component upgrade.

Server Site Rendering and Static Site Generation

Next.js 9.3 and newer offers special functions for data fetching: getStaticProps, getStaticPaths and getServerSideProps. Before Next.js 9.3, there was a function getInitialProps used for data fetching.

I tried finding answers to the following questions to really fully understand these special functions.

Is getStaticProps only good for rendering static pages like About or Blogs?

getStaticProps fetches…

CSS debugging tool is awesome. We normally use the Chrome CSS inspectors to try out quick experiments and quickly find out what certain page or components look like when certain styles are applied.

However, you may find CSS inspection impossible if your component is a dropdown menu, which closes every time you click away for inspection…

To stop the dropdown menu from closing:

  1. Set a break point on the parent node of the dropdown menu

2. Click on the parent node to open the dropdown menu. You will notice that the debugger may pause a few times before the menu is opened

Sherry Hsu

A software engineer passionate about learning and growth

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