Open in app

Sign In

Write

Sign In

Naveen Negi
Naveen Negi

183 Followers

Home

About

Pinned

CRDTs: Strong Eventual Consistency without concurrency control

One of the major benefits of having a NoSQL database is that it can scale very easily, these databases take care of many things like data replication across the cluster, concurrent updates, data consistency, message redelivery, conflict resolution, etc. However, all these things come at a cost, for instance, you…

Distributed Systems

6 min read

Distributed Systems

6 min read


Pinned

Domain driven design in functional programming

Domain-driven design (DDD) provides many techniques and patterns to tame complexities in software applications — even when those are written in functional languages. Unfortunately, there are very limited resources when it comes to implementing DDD in functional languages. …

Ddd

5 min read

Domain driven design in functional programming
Domain driven design in functional programming
Ddd

5 min read


Pinned

Elixir: Domain Driven Design with Actor Model

Couple of months back, I was listening to Eric Evan’s pod cast on Software engineering radio where he mentioned that actor model is a great fit for modeling aggregate root in domain driven design, I was like what, wait? …

Software Architecture

9 min read

Elixir: Domain Driven Design with Actor Model
Elixir: Domain Driven Design with Actor Model
Software Architecture

9 min read


Mar 10, 2022

Database Normalisation and implicit immutability

Most compelling reason for data normalisation is to eliminate update anomalies. but, what if updates are not allowed in database, would you still normalize your data ? Let’s say, there is a company, which sells car. Car price has a component called “pickup cost”. This pickup cost has two components…

Sql

2 min read

Database Normalisation and implicit immutability
Database Normalisation and implicit immutability
Sql

2 min read


Mar 9, 2022

Mental models for Software engineer

Take simple Ideas seriously Lot of complex systems have very simple idea behind them. Many scientific breakthrough are just about finding these simple idea in such complex systems. Our understanding increases leaps and bounds if we dwell deep enough in these seemingly simple things. Often we only do this when we struggle with a…

Software

4 min read

Mental models for Software engineer
Mental models for Software engineer
Software

4 min read


Published in Geek Culture

·Jan 4, 2022

When to use domain driven design

Three mental models In any software, there are at least three mental models at play. First, is the user’s mental model, her understanding of how the software works. Second, Domain expert’s mental model of how Software should work and lastly, developer’s mental model of how the software actually works. …

Ddd

2 min read

Ddd

2 min read


Published in Geek Culture

·Jul 28, 2021

Data is an abstraction of reality

Developers and management are obsessed with measurement. Important things, many times, are not qualitative. But, when we insist on measuring, We end up measuring unimportant things. For example, companies that don’t understand their customers become feature factories. For them, quantity becomes a proxy to measure value. An extreme example of…

Data Driven Decisions

3 min read

Stop Obsessing over data: Deliver and Measure real Value in Software
Stop Obsessing over data: Deliver and Measure real Value in Software
Data Driven Decisions

3 min read


Jul 11, 2021

Don’t mistake types for good Abstractions

I wanted to add headers to an HTTP request, in Scala. Soon Realised, I can’t create them — instead, I needed to parse them. Once I did that, it returned me headers in a monadic type, which I then needed to unwrap with pattern matching. Oh boy! this was complex…

Functional Programming

3 min read

Don’t mistake types for good Abstractions
Don’t mistake types for good Abstractions
Functional Programming

3 min read


Published in Bootcamp

·Jul 5, 2021

Software craftsmanship and embracing complexity

We all claim to like Simplicity Yet, It is the complexity that adds richness, nuances, depth, and beauty to our life. What makes a drawing more than just its separate lines? How is a personality more than a set of traits? In what way is a culture more than a mere collection…

Software Architecture

4 min read

Software craftsmanship and embracing complexity
Software craftsmanship and embracing complexity
Software Architecture

4 min read


Published in strange-loops

·Jun 28, 2021

Tech leadership: Focus on Process accountability

When people focus only on the outcomes, they have no incentive to break from the norm. They would follow the same patterns that have led to success in the past. They are more likely to take the shortest route to success. With outcome accountability, people invest only in things with…

Decision Making

1 min read

Tech leadership: Focus on Process accountability
Tech leadership: Focus on Process accountability
Decision Making

1 min read

Naveen Negi

Naveen Negi

183 Followers

Programmer, Samkhya canonist, ThoughtWorker

Following
  • Anton Mishchuk

    Anton Mishchuk

  • Pinterest Engineering

    Pinterest Engineering

  • Immanuel Joshua

    Immanuel Joshua

  • Erlang Solutions

    Erlang Solutions

  • Bogdan (DM)

    Bogdan (DM)

See all (34)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech