Does business care about programming languages?

Does business care about programming languages?

Does business care about programming languages?

Developers and software companies often put great emphasis on programming languages or specific frameworks they use. Does it really matter for the business in any meaningful way?

I honestly don’t think so, but is it really the whole story? I don’t think that either.

Short background

The past few years I had the unique opportunity to work as a Senior Software Developer, that has been connected to the business side of the process as well. I’ve been a Tech Lead, Product Owner, Project Manager, Agile Community member and Change Agent (yup, you’ve read that right – sounds like a corpo-role …and it was 😁). My roles forced me to talk to business people everyday and I’ve grown not only to understand their point of view, but also to see how our worlds can learn from each other.

Business needs

Obviously what I’ll write in here is a huge generalization, but there are a few things in common across different businesses needs:

  • Deadlines or how I like to call it: time-to-market
  • Quality, as in: no bugs
  • Cost of development and maintenance
  • Throughput, as in: how many users can we work with?


Business perspective is quite straightforward – software development is a means to provide value for the end user and make money from that value. In a perfect world software development would be fast, stable and extremely cheap.

Software development answers for business needs

Not sure when exactly, but at some point I’ve realized that the main reason for software existence is to answer business needs. Pretty much nobody (apart from software developers) cares about technology and specific, beautiful and/or elegant solutions.

On the other hand smart business people understand, that software development is expensive and extremely complicated endeavor, so they are involved in development process, provide fast feedback and know what they need to prioritize (e.g. for some domains, like cryptocurrency main priority will be time-to-market, but for medical field priority will always circle back to quality).

Does business care about programming languages?

Nope. Software needs to fulfill specific needs within business constraints and that’s pretty much it.

Is that really fair? Also: nope. Looking once more at the business needs: all of them are dependent on technology in some way:

  • Time-to-market? Try to write a calculator in Assembly – you will take absolutely forever!
  • Quality? This just screams JS vs TS discussion (which is a heated argument, that I will not go into today)
  • Cost of development and maintenance? Higher level languages make it faster to create the solution, while lower level languages give you more control (especially useful in embedded and performance-dependent systems). Usage of cloud provider make it faster to host properly, but it’s a subscription cost
  • Throughput? Proper software architecture will help here immensely, but once again language levels do play a part


This leaves us at a place, where technology and programming language does matter, but will never be the most important factor and as software developers we have to understand that.

So why the heck am I excited about F#?

I’m mainly interested in implementing the logic of the system. I’m usually focused on projects that prioritize quality, rather than time-to-market or performance. This is precisely the reason why I’m working with .Net and C# – I prefer higher level language, with strong, static typing, that provides me with a good balance of time invested in development and quality of code that I write. Moreover, .Net gives me access to a huge library of ready-to-use nuget packages and, since a few years back: deployment on any hosting platform. Additionally ASP .Net Core is a mature framework that provides great levels of throughput for the business needs, so it fits in nicely in the picture.

Main issue with changing the programming language is that you automatically have to sacrifice the whole ecosystem, which costs you development time. This is where F# comes in for me. I can change the language, but stay within the .Net ecosystem with all the deployment and package goodness that I’m familiar with.

But why change the language in the first place?

Our software world is changing rapidly. We are utilizing cloud computing more everyday. We are also utilizing asynchronous programming much more than 10 years ago. Programming world needs new solutions to new problems that arise, and as it so happens: more asynchronous processes need more predictability and stability: and this is where functional programming comes in. Functional introduces us to the mathematical world, where there are no two correct answers for the problem. There’s always one correct answer. Predictability and stability of this world has proven itself useful for hundreds of years and here we come to the first argument towards functional: correctness.

There’s even a trend within C# language, where newer versions introduce more and more functional concepts (LINQ has been here for long time, but records and pattern matching are newer additions, that F# had for years before). Why would you sacrifice correctness to still write C#, when F# has built in immutability to enforce correctness? That’s the second argument: direction of C# itself.

Lastly F# forces developers to write less code and more declarative code (as opposed to imperative style with C#). Apps written in F# are usually straight up shorter, than those written in object-oriented C#, while not sacrificing any verbosity. Less code means less bugs and lower maintenance costs. Last argument towards F# becomes: brevity.

Here we are with 3 main arguments towards F#:

  • Correctness, improves quality
  • Direction of C#, proves where programming in general is heading
  • Brevity, improves time-to-market and lowers cost of maintenance

F# should be important for business people and developers alike

I believe presented arguments do speak for themselves, however there always has to be a downside…

Downside of F# in current world

There’s only 1 specific downside as far as I can see: lack of programmers, that breathe F# the same way they breathe C#. And I personally have high hopes to be of help here as a speaker and mentor 🙂

If you are a business partner: let us know you’re interested in me leading your project and we’ll try to make some arrangements. Let’s explore the benefits of functional programming together.

If you are a developer: wait for more announcements on my part, because I’ve got some things planned for you, but also feel free to start off your journey with https://fsharpforfunandprofit.com/.

Marcin Kern, Senior Software Engineer in Rite NRG.

My experience spans writing and designing desktop applications, websites and cloud solutions. Entirety of my 9-year-long commercial experience consists of writing .NET exclusively, although through the past few years I’ve added a Frontend spin to the mix in the form of React. I’ve also spent a lot of time advocating Agile, as I believe it can be very useful if it’s understood and done right.

Outside of work I’m a dad of a happy 1 year old boy, husband, video-game lover (Amazon, bring me Lost Ark already, I can’t wait!), I like digital painting and enjoying a nice sauna. I also enjoy learning programming languages, when my curiosity gets the better of me.

Marcin_Kern

Share:

Most recent

best practices - cover

Angular 2 services best practices

For most front-end developers, Angular is a well-known framework made for building applications. …

Read more
What does a .net developer do? – programming secrets - cover

What does a .net developer do? – programming secrets 

In the world of innovative technology, there has been an increasing need for …

Read more
Outsourcing IT

Trends in outsourcing IT services in 2022

Companies from different industries outsource their services for various reasons. They need better …

Read more
best practices - cover

Angular 2 services best practices

For most front-end developers, Angular is a well-known framework made for building applications. …

Read more
What does a .net developer do? – programming secrets - cover

What does a .net developer do? – programming secrets 

In the world of innovative technology, there has been an increasing need for …

Read more
Outsourcing IT

Trends in outsourcing IT services in 2022

Companies from different industries outsource their services for various reasons. They need better …

Read more
Agile-cover

What is Agile software development and how can it help your business?

In the last few years, Agile has become one of the most famous …

Read more

Ready to chat?

Let’s be in sync!

 

This is the best way to be up to date with what we are doing. Don’t worry – you will get a message with all the news from us once a month only. Join our community!

oliwia-contact
oliwia-contact

Talk to us - for real!

 

You can always… rite us. Get it? Rite us! OK, maybe it’s not so funny. But do rite us anyway! No, it’s not a robot you’re talking with here – Michał, Oliwia or other Rite NRG peeps will answer you.

Cookies & Privacy

This website uses cookies to ensure you get the best experience on our website. Read more…