3 Categories of Hard Software Problems

Last updated May 15th, 2019

About this...

Generally speaking, there are 3.

Recycled from the 'When to Use TypeScript' [Guide] article posted April 6th, 2019

The Performant System Problem, the Embedded System Problem, and the Complex Domain Problem.

1. The Performant System Problem

Let's talk about Twitter.

Twitter is actually a really simple concept.

You sign up, you make tweets, you like other people's tweets and that's pretty much it.

If Twitter is that simple, why couldn't someone else do it?

It's apparent that the real challenge for Twitter is not actually so much as "what it does", but it's "how it's able to do what it does".

Twitter has the unique challenge of serving requests from approximately 500 million users every single day.

The hard problem that Twitter solves is actually a perfomance problem.

When the challenge is performance, whether we use a strictly typed language or not is less important.

2. The Embedded System Problem

An embedded system is a combination of computer hardware and software, with the purpose of enabling control over the mechanical or electrical aspects of a system.

Most systems we use today are built on a very complex layer of code that, if not initially written in, compiles down to C or C++ usually.

Coding in these languages is not for the faint of heart.

In C, there is no such thing as objects; and we as humans like objects because we can easily understand them. C is procedural and this makes the code that we have to write in this language more challenging to keep clean. These problems also require knowledge of the lower-level details.

C++ does make life a whole lot better because it has object orientation, but the challenge is still fundementally interacting with lower-level hardware details.

Because we don't really have that much of a choice on the languages we use for these problems, it's irrelevant to discuss TypeScript here.

3. The Complex Domain Problem

For some problems, that challenge is less about scaling in terms of handling more requests, but scaling in terms of the codebase's size.

Enterprise companies have complex real-life problems to be solved. In these companies, the biggest engineering challenges are usually:

  • Being able to logically (via domains) separate parts of that monolith into smaller apps. And then, physically (via microservices for bounded contexts) split them up so that teams can be assigned to maintain them
  • Handling integration and synchronization between these apps
  • Modeling the domain concepts and actually solving the problems of the domain
  • Creating a ubiquitous (all encompassing) language to be shared by developers and domain experts
  • Not getting lost in the mass amounts of code written and slowing down to the point where it becomes impossible to add new features without breaking existing ones


Lisa Scott
2 years ago

Besides hard software problems, there are most software problems. Some are definitely hardware problems. But if we have desktop gold software problems, we can easily find and resolve those by running a repair utility, uninstalling and reinstalling, checking internet connection, by removing malware and virus programs and more. 

Feena Lauren
a year ago

ok, so with these hard software problems. Looks like some people also may encounter other sotware issues while upgrading the software of router. Like can't find software update, Dlink router firmware update failed error is common. It may due to technical glitch or interrupting the process of software update via login dlinkrouter.local page.

I can't access my yahoo account
8 months ago

I can't access my yahoo account.Go to the Yahoo account sign in page. Click on 'I don't remember my password.The next page will ask you to enter your Yahoo account. if you are not able to login into yahoo mail or  i can't access my yahoo account.

8 months ago

In today's modern world, we can't imagine our life without technology. If you are facing with most of the issue related to technology then you can take some guide from Latest Gadget Offers. You can get relevant information about the trends technology.

Reset Netgear Router
7 months ago

Go for the best services and devices to help yourself. Talk to Netgear Router customer care.

Reset Netgear Router

Grace Lee
3 months ago

There are lots of Aol desktop gold problems users are facing in today's market, First of all you need to identify which problem is making hassle you working on Aol desktop gold software

Aol Gold Desktop
2 days ago

AOL opted to shut down its self-contained AOL Desktop program for a more streamlined version of it, called "AOL Desktop Gold." ... This ensures you will not be charged for the AOL Desktop Gold subscription anymore and your AOL email account will remain intact. https://www.realmailfix.com/