Engineering

What we will get in React 17?

What we will get in React 17?

As days go by I get more and more excited about what the React core team is coming up with. I thought I would share the update with fellow devs and share this excitement with all of you: React 16 was about new apis and native components (like hooks, error boundaries and fragments). This time…

Storyshots – a powerful side of Storybook to Visual Test React Components

Storyshots – a powerful side of Storybook to Visual Test React Components

At a consumer-oriented business like Shaadi.com, we like to maintain discipline around our React components, the way they look, feel and behave in the real world for our customers. The benefits of writing functional tests with 90–100% code coverage have now become obvious to us. But I felt functional tests were still not answering an…

React and Finite State Machines

React and Finite State Machines

Finite state machines, generally speaking, are a computation model used to describe a system in terms of the transitions between it’s states. They make it possible to is really easy to visualize your computational model as a graph and make sure that your application isn’t left with unhandled cases or illegal states. Warning: Read the wikipedia page on Finite…

Designing with expectations, not implementations

Designing with expectations, not implementations

If you heard about test driven development (TDD) and wanted to get started somewhere then this is for you. This post represents a summary of the experience I got through implementing TDD as part of our development process at Shaadi. 2 Things to ask yourself before going through this test process When should I write…

Journey from Screen to Screen

Journey from Screen to Screen

You might have seen posts on the internet titled “Only 90s kid will understand”. And you might think that that kind of nostalgia might make sense to only 90s kids. I am talking about stuff like Tape-Recorders, VCRs, Pepsi etc. Well this kind of emotional connect that we have to forgotten artifacts stuff isn’t just limited to…

I was not ready to TDD

I was not ready to TDD

It’s been more than 13 years I’ve spent writing software as an engineer. And I had always felt intimidated by the thought of writing tests before I wrote code that made those tests pass. When I joined the React team at shaadi.com, everyone was already writing tests. But nobody was writing tests first. So I…

Network Calls: Kotlin Coroutine + Retrofit 2

Network Calls: Kotlin Coroutine + Retrofit 2

Concurrency, Consistency, Parallel Processing: multiple names all suggesting the same requirement for simple task for computation of different task all at the same time and ensuring the expected output. A Little Background Lets get into the Android Realm, where asynchronous code is at the core of the Android Development. Every network request should be on…

New Architecture and Advanced features – JUnit5

New Architecture and Advanced features – JUnit5

“Quality is never an accident; it is always the result of intelligent effort.” – John Ruskin To make a product better, reduce error, improve code quality and to create ultimate documentation testing is important. Unit testing is the first and most important step which is the continuous process followed along software development process. This blog…

Everything you wanted to know about Sum Types (but were almost afraid to ask)

Everything you wanted to know about Sum Types (but were almost afraid to ask)

A lot of messy JavaScript has to do with loose typing, invalid values and the horrible chain of ternary expressions or — heaven forbid — if statements to handle them. With JavaScript, all functions run on the concept of “pretend what you are getting is what you asked for”. If the value is not valid for the kind of…

Keeping an 👁 on Web Performance

Keeping an 👁 on Web Performance

90% of our users are mobile and I am sure yours are too. They carry around your business in their pockets and we carry their hopes and dreams 🙂 Now, as many as 85% these users are using low-end mobile devices This represents a new reality for me and my team working here at shaadi.com….