The rise of tools like Cursor reminds me of the Industrial Revolution in France. When machines first appeared in factories, unskilled workers who didn’t understand how they operated often got injured - sometimes quite literally losing fingers. But for skilled craftsmen, these machines became force multipliers, dramatically increasing productivity and improving overall living standards.
The same applies to software development. If you lack the fundamentals - how memory, I/O, networking, and databases work - you’re at risk of building something fragile that will break under real-world conditions. But for those who understand the moving parts, tools like Cursor supercharge efficiency, allowing them to focus on high-level problem-solving rather than boilerplate coding.
Technology evolves, but the need for deep knowledge remains.
Those who invest in learning the craft will always have the advantage.
Yes you can use it. Recently we have migrated it to .NET 5 but it can be switched back to any .NET Core 2.1 >.
Everything is written in .NET standard 2.1 except for Signals.Hosting.Web and Signals.Hosting.Background.
Starting a new project is always exciting. Everything starts with an idea of a certain product that needs to bring some value. The idea is developed and documented by the product owner and then communicated with the development team that needs to build it.
The development team will go through the docs and there will be some communication going back and forth to understand the details and to align over the deliverable. The project methodology is irrelevant in the sense that all involved parties are speaking a different language which eventually makes it harder to align and understand each other.
I remember during high school, together with my friend, we've started developing a tool for managing salaries for one accountant and he wanted to be able to change the system time. Thinking about it and discussing it with the accountant it turned out that he wanted to be able to add a record in the past. This discrepancy in communication, speaking different languages, having a different communication language can impact the decisions that we are making when developing an application.
This brings us to the point, how hard will be to find a common language across different roles? This is where Signals come into play as a concept. Signals align all involved parties by asking the right questions:
- Who should be able to execute this process?
- Is this particular person granted to execute the process?
- What are the preconditions that need to be fulfilled before we execute the process?
- What are the steps of the process itself?
Once the documentation is delivered to the development team they will be able to map it outright and avoid missing out on the details.
When starting the project, in development terms, we tend to reinvent the wheel, and yet it ends being an ellipse. Every project starts with creating a blank solution, setting up the project hierarchy and boundaries, bringing some code base from previous projects, and trying to glue it out. This means that there isn’t any standardization on how we can effectively run, extend and maintain projects in the longer run. Not to mention when a person needs to join the team or to assist with some other active project in the organization. Fear of the unknown is the boss.
Signals' purpose is to fill the gap in this problem. When starting a project, you will have everything set up for you so you as a developer can focus on the business logic. For both beginners or senior software developers, Signals offers you development practices that will make your professional life easier and more creative.
I believe there is a bias towards the outsourcing, at least judging by the comments.
Let me tell you my side of the story. We are a software development company based in Macedonia - Emit Knowledge
From personal experience, we've refactored/rewritten code that was developed by development teams from USA, Canada, Sweden, Denmark, UK where the hourly rate is sky high compared to ours.
According to me the problem is not in the outsourcing itself, but rather in the company size and culture. Bigger companies tend to have stronger sales teams, getting whatever is in their way, closing deals without having expertise and know-how. The only driving factor is how to maximize profit. Hire less experience devs, leave the SRS so you can charge CRs and that kind of doctrine.
On the other hand, I can tell that we as a company have better processes than bigger companies:
- having our own framework: https://signals.emitknowledge.com/ soon to be open sourced;
- having multiple products, which you will find as rarity when it comes to agencies;
- having an research and development;
- before we start working with a client, the agreement is that it is a two sides stick, the client needs to be part of the development if success is expected;
- regular communication is a must;
- we discuss with the clients to reduce scopes if we identify that it will increase costs without providing a business value at the end;
The difference is in the culture. As a CEO I would like my client's business to succeed so we can work together as partners, long terms, instead of getting money from CRs and playing "you haven't specified this".
Be transparent guys. Stop playing games with your clients.
The same applies to software development. If you lack the fundamentals - how memory, I/O, networking, and databases work - you’re at risk of building something fragile that will break under real-world conditions. But for those who understand the moving parts, tools like Cursor supercharge efficiency, allowing them to focus on high-level problem-solving rather than boilerplate coding.
Technology evolves, but the need for deep knowledge remains. Those who invest in learning the craft will always have the advantage.