Building Digital Solutions as a Solutions Architect

Building Digital Solutions as a Solutions Architect

Architects are the designers of the earth.. But a solutions architect? A solutions architect goes beyond just designing. Solutions Architects combine design and engineering management to solve a specific business problem.

In this article, I will write from the perspective of a Product Manager who takes great pride in building out the best solutions for users and guiding products throughout the execution cycle to bring innovative, world-changing products to the market.

I have been involved with web and database technologies through collaboration with amazing teams to build and manage a few Web Application (web software) solutions, so this will be my core focus on the subject of building digital solutions.

What are Web Applications?

A collection of programming codes that provide specific content and functionality on the internet - Web Application software run on web servers and are accessed through web browsers on a variety of devices like mobile, laptop, and desktop etc.

Building a web app involves multiple stages and iterations. From conducting research, to designing, to choosing a programming language and/or framework, to finding a supportive webserver to host your application. etc. A mandatory criteria to check when building a web app includes:

  • Completeness
  • Functional Correctness
  • Modular Code
  • Visual Design
  • Consistency
  • Responsiveness

Web Applications are built to strengthen both internal and external communication through data delivery and distribution. An online marketplace such as an eCommerce store is a typical example of a web application which delivers both content and functionality of a business to its customers.

Building Modern Websites

As noted in the example above, a typical web application solution to build is a website - a responsive, dynamic, or mobile-ready digital experience. Think of a custom-built solution for businesses that provide time-saving efficiencies by reducing workload and automating processes.

To build a modern website, you will first need to conduct research/survey that will give you insights into your target customers and their needs. You will then need to keep abreast of new technologies and new concepts that will help you maintain the solution you intend to build.

Website development requires some level of knowledge of programming languages such as HTML and CSS. These are Frontend languages that enable you build out client-side functionalities in your solution. For the Backend functionalities of writing and reading from a website server, it is important to have some knowledge of the languages JavaScript, PHP, Python and MySQL which is used to create, edit, and maintain a database.

Of course there are other ways to build a website without knowledge of a programming language, this is known as NoCode. With NoCode, you can create and deliver personalized digital experiences completely independent from collaboration with developers or software engineers.

NoCode or CMS (Content Management System) tools are easy to use and efficient for the non-technical architect looking to build a web solution. These tools include website builders like WordPress, Wix, Squarespace, or Weebly.

There are also NoCode tools that cater to the business aspect of building a web solution. Such as, UserGuiding for Onboarding, Zapier for Automation, Mixpanel for Analytics, and Airtable for Project Management, to name a few.

Building Browser-based Games

Last year, I dabbled a bit into learning the programming languages C# and C++ for mobile and console Game Development. Why? As a product manager, it is important to be technically adept in as many languages because you just never know what products you will end up building and/or managing. But I digress.

Here, I talk about building simple browser-based games that will not require you to learn C# and C++ like I did.

Yes, building a game does require a lot of moving pieces, but it's actually much easier than it seems. With the web evolving ever so rapidly to include new protocols and libraries that have spanned in recent years —having a basic technical understanding of HTML, CSS, and JavaScript as well as an understanding of the architecture, system design, caveats and networking protocols behind a game type —is enough to build a simple browser game solution.

You will first need to decide what type of game you would like to build, most popular options being 2D and 3D. Next, decide what languages or framework you need to build out your frontend and backend. A simple browser game will see HTML5 (the fifth and final major HTML version) implemented in its frontend and certain JavaScript frameworks or libraries implemented in its backend.

Some frameworks/libraries for building 2D Games:

Some frameworks/libraries for building 3D Games:

  • Babylon.js

  • Three.js

  • PlayCanvas

WebGL, a JavaScript API, is one of the most optimized ways of rendering interactive 2D and 3D graphics on the web, but it is based on OpenGL which can get pretty complex. MDN sheds some more light on this. If you do plan on taking things up a notch to build a complex browser game that may include dynamic content and database collection, I suggest you consider learning other server stack languages such as Ruby on Rails and Python.

As a refresher, here’s a step-by-step guide to building a simple browser-based game solution:

  1. Pick a game concept
  2. Gather information (research)
  3. Design your game elements
  4. Begin building
  5. Iterate/refine your concept
  6. Test your game
  7. Market your product

Creating a market for your browser-based game is highly dependent on developing a good monetization strategy and having an extensive audience. According to GlobeNewswire, the global browser games market reached a value of nearly $7,012.9 million in 2019, having increased at a compound annual growth rate (CAGR) of 10.3% since 2015. The market is expected to grow at a CAGR of 7.3% to nearly $9,285.0 million by 2023.

Building eCommerce Applications

Earlier, I talked about an online marketplace as an example of a web application. Now I’d like to dive a little deeper into what it takes to build a progressive eCommerce web solution.

E-commerce web applications are efficiently used by businesses to create an experience that draws in new customers and convert casual visitors into regular customers. According to Statista, 43% of shoppers use the internet and social networks to research products before purchasing, and by 2024, ecommerce revenue will be worth $476 billion in the U.S.

To build an eCommerce application, you’d first need to understand what your platform requires to successfully match your business needs. To understand this, you have to be familiar with the four main types of eCommerce platforms - Open Source, SaaS, PaaS, and Headless commerce.

  • Open Source - gives users access to view, change, and distribute its source code to meet their specific business needs. e.g. WooCommerce

  • SaaS or Software as a Service - a licensing model used to sell, distribute, and manage cloud-based software and subscription services. e.g. Shopify

  • Headless Commerce - uses a backend data model and a cloud-based infrastructure to give businesses plenty of creative control and enable customer-facing changes to be made quickly. e.g. Spryker

  • PaaS or Platform as a Service - combines the benefits of SaaS and Open Source, giving complete control over the look and functionality of a website without worry over hosting and infrastructure. e.g. Magento (Adobe Commerce)

A good functioning eCommerce platform is evident by essential features like inventory management, product listings, cart, checkout, wishlisting and option(s) to integrate a payment solution using third-party application programming interfaces’ (APIs). Here’s a step-by-step guide to follow to help you build out a good functioning eCommerce solution:

  1. Decide on your preferred eCommerce platform type
  2. Purchase a domain name
  3. Select a preferred hosting platform
  4. Commission a Developer or NoCode tool
  5. Select your preferred eCommerce theme
  6. Customize your eCommerce template
  7. Add your products
  8. Set up payment options
  9. Set up shipping options
  10. Review, test, and publish your online store

These fundamentals combined with the knowledge of core architectural eCommerce concepts and basic understanding of what it takes to build a web app, will set you on the right path to building a progressive eCommerce solution that is sure to meet the needs of a business or brand.

Conclusion

Solutions Architects take many forms. Whatever form you chose to take in the digital space, you will have to learn about drafting and using software to create solutions. The best technologies are developed through anticipation of future trends, thus why it is important to stay digital in this fast pacing world.

A digital transformation is imminent and now more than ever, we need more people accessing data on the internet to effect the development of new technology and solutions to global problems. Tim Berners-Lee, computer scientist, inventor of the World Wide Web, and pioneer of the digital age said,

The Web as I envisaged it, we have not seen it yet. The future is still so much bigger than the past.

#NoteToSelf: Building great solutions involve making complex decisions with many trade-offs as well as surrounding yourself with the right team to help you navigate. You will know you have built a great solution by the amount of scope and impact that your product has. Your work is needed much more than you think - keep building! 💫