develpreneur podcast

Architecting Large File Storage – Software From Scratch

One of the architectural challenges that are often overlooked is large file storage.  These may be documents, images, or other general binary structures.  This situation is also becoming a much more common challenge for applications.  We often have a feature for storing a profile picture for users, PDF documents, or other similar features.  This area is something worth spending time on during the creation of the software architecture. Storage and Retrieval Any time you store data, you have to include the mechanism to retrieve it.  In the world of data stores, that often means a way to index metadata or maybe the content.  When we look at large file storage, we have several options.  There is the old solution of... Read more

develpreneur podcast

Selecting Languages, Frameworks, and Libraries – Architecture From Scratch

One of the rarest of decisions we are allowed to make is when it comes to selecting languages and frameworks or maybe even libraries for our project.  These decisions are often out of our control.  Thus, this is not something with which we may have any experience.  While we do have the options to do this for our personal applications, the larger ones usually are almost predetermined concerning the implementation tools. Choosing a Primary Language The choice we least can make is the core language.  We are more or less going to be stuck with the corporate language.  Failing that, it will be what is popular in the region or what we are most reliable in.  Nevertheless, there are situations... Read more

Switching Jobs - When and How to change Jobs

Switching Jobs – When and How to Change Jobs

Getting that first career job can be extremely difficult and stressful. Doubly so when it comes to switching jobs. That’s because so many people tend to stick with their first job for years because of a variety of fears and misconceptions about employment. Even those who don’t stay with their first, second, or even third job, also have fears about how they will be perceived by the next employer. Such as: will l be branded as a job hopper, money-hungry, unskilled, or a problem employee.  In some cases, this may be true, but in general, this is not the status quo. This even applies to those established in their jobs or who may have just been with a company for... Read more

develpreneur podcast

Architecting The Database

In no particular order, we will look at architecting the database as we continue our tour of software architecture from scratch.  There are several key considerations to keep in mind while doing this work.  A wrong decision or improper architectural choice can have a far-reaching impact as we build from the backend.  Here are some areas that we want to think through as we design our backend solution. Primary Keys One of the most commonly utilized values in a database is the primary key.  This is the value that uniquely identifies a record within the database in a specific table.  You can limit that uniqueness to the database and even table, or you can make it universally unique (GUID).  While... Read more

develpreneur podcast

Frontend or Backend Where To Start? – Software Architectural Decisions

Every journey starts somewhere.  When we architect a solution, we need to decide whether to start at the frontend or the backend.  There are pros and cons to each approach.  Therefore, we need to look at each project to help us determine which method is best.  Let’s look at the strengths of each of these starting points. The Frontend Approach The frontend often feels like a comfortable way to start.  You can focus on user experience and the visual pieces of the solution.  This can hide complexity.  On the other hand, it is well suited to things like stories and clickable demos.  We will have visual designs and decisions that can easily be shared and assessed.  We also are pushing... Read more

develpreneur podcast

Software Architecture – Agile vs Waterfall

The decision of Agile vs Waterfall in software development is not often linked to architecture.  However, there is a difference in your approach that depends on the SDLC you choose.  This choice is one you will probably be asked to make when starting from scratch.  While not entirely the domain of the architect, this decision often seems to be driven by them. Agile vs Waterfall – Different Mindsets The most significant impact this decision will have is the one on your mindset.  A waterfall approach front-loads a lot of the architecture decisions.  You can define a relatively static and complete architecture without as much fear of substantial changes.  This includes common concerns like performance, cost, and extensibility. An agile approach... Read more