Posts

Showing posts with the label developer

10 principals in design system architecture

Image
  1. Focus on the benefit instead of the technology It is useless when using technology because of the technology. We need to focus on the benefit that technology provides. For examples: If it can reduce the technical complexity and speed up the development process for the team If it can make the system more reliable If it can simplify and automate to reduce cost 2. Design from a service/API perspective instead of resource or technology Design from service/API establishes a top-down approach. This helps to distribute the vision to a wider team and enables collective system improvement over time instead of fragmented. 3. Use mainstream and mature technology Technology needs to be selected wisely so that less effort needs to spend on evolving. Use more mature technology instead of technology just because you know it. Don't reinvent the wheel. All the self-invented wheels or non-popular technologies will eventually get replaced by mature open source software, as they have huge support...

Some principals in selecting open-source package/project

In a developers journey, they usually go through a phase where they are reluctant to use other people’s code. They rather implement it themselves if not under the project timeline’s pressure. This is not because they believe that they can do better, but rather they will not be bounded by the constraints that are introduced by the added dependency. At the end of the day, writing code is usually easier than reading. After this phase, develop may become more goal-oriented and not so focus on building packages themselves. Then selecting an open-source package/project becomes important. Below are some of the principles I apply when selecting an open-source project choose active package/project choose package/project where its lead has good communication choose the package/project that has a single focus Choose active package/project When importing a package/dependency, we are essentially starting a contract with the package. Future features and bug fixes update will inevitably affect the pr...