Rootstrap Blog

Category: Software Engineering

Total 12 Posts

Software Quality Metrics: Explained With Examples

Software quality is a vital yet often overlooked aspect of software development; in 2020, the Consortium for Information & Software Quality (CISQ) reported that the impact of poor software quality was around $2.08 trillion to US businesses. The good news is with the implementation of a few software quality metrics

Continue Reading

Feature Updates in Rails 6: Multiple Databases & State Management

Rails 6.0 recently shared its amazing enhancements although most would consider these as feature upgrades. In my opinion, both are correct, as the actual state of multiple databases before rails 6.0 was not even considered it a completed feature. So, let’s dive into Rails < 6 state! Rails 6 introduced

Continue Reading

Horizontal vs Vertical Scaling: A Primer for Managers

Deciding between horizontal and vertical scaling is an important infrastructure consideration when building out applications because it determines how your application will increase its computing resources to handle growth. In simple terms, horizontal and vertical scaling are two strategies for adding computing resources to run your app as demand increases.

Continue Reading

What is Technical Debt? (With Examples)

“Technical debt” is a term used in software development to describe delayed maintenance costs caused by initial tradeoffs between quality and speed. It’s a common metaphor on engineering teams as it makes the sometimes opaque costs of technical decisions easy to understand across the team. Technical debt functions just like

Continue Reading

VP vs. CTO – Job Description & Responsibilities, Plus Examples

Some executive-level roles are difficult to define from an outsider’s perspective. Two positions that can be difficult to distinguish are that of the VP of Engineering and the CTO. As a growing company or aspiring IT executive, you need to know: What is the difference between a VP and a

Continue Reading

How To Build An App Like Uber

Since Uber’s first ride request in 2010, the tech giant’s innovative engineers have revolutionized the rideshare industry. Fast forward to 2021, and withstanding a global pandemic, the company is now valued at over $15 billion. These are impressive numbers for what started out as a simple idea that quickly became

Continue Reading

Monolithic versus microservices, and all in between

Developers often decide whether to build monolithic or microservices architectures based on personal preference. This article tells you how to design the best platform for your client by considering both methods.

Monolithic all-connected platforms might serve a startup’s needs, but they often have problems with scaling to support growth. Architectures built with modular microservices work well for bigger enterprises, but they might be overengineered to require more resources than a startup can spare. This article explains how to incorporate both these build approaches to design a functional strategy from the start that evolves to fit each point in a project’s lifecycle.

Continue Reading

Data Demystified — Machine Learning

A bird-eye view of the machine learning landscape.

The main goal of this article is to cover the most important concepts of machine learning, and lay-out the landscape. The reader will have the vision to understand what kind of solution matches a specific kind of problem, and should be able to find more specific knowledge after diving into a real-life project.

I’ll start with a 60 years old definition, but still valid today:

The name is pretty self-explanatory, and the definition reinforces the same concept.

Continue Reading

Build and grow cross-company knowledge

Culture is the way a company does things, its processes and values, and how it generates outcomes. It’s never easy to build, share, and promote knowledge across a medium-sized organization. That task requires leadership, rules, a strong culture, and having effective systems in place.

I’ve always been passionate about how knowledge sharing has a multiplier effect on the quality of what each person can deliver. I’ve seen junior developers, after a just few weeks, deliver higher quality work than what I could have produced years ago — even in a nonchallenging environment and even after years of experience.

Continue Reading