Code reusability is the holy grail for software development. You might have heard that developers should write code once and reuse it everywhere. Or, never write the same code twice... and a lot of things on similar lines. But have you ever questioned this? Is redundancy such a bad thing after all? Don't you think these statements are subjective? Applied to specific … [Read more...] about Freedom From Redundancy Is A Trade-off
programming
Code Review Best Practices For Software Engineers
Before diving into the best code review practices, I always ask this question - Why do we need a Code Review process? Code review process exists to improve the software development lifecycle (SDL). To improve the software and code that we are writing. This is done by adding an extra layer to the development process where your peers will take a look at the code to … [Read more...] about Code Review Best Practices For Software Engineers
Generate Pseudo Random Numbers With Linear Feedback Shift Register (LFSR)
Recently I was thinking about random numbers. The numbers that all software engineers use in day-to-day life. Have you ever wondered what the heck is random? When do we call something random? Let me tell you at the start that the word "random" that we are used to is not random at all. It's pseudorandom. It's pseudo because it behaves randomly enough but it's not actually … [Read more...] about Generate Pseudo Random Numbers With Linear Feedback Shift Register (LFSR)
Jenkins Pipeline Script Should Not Contain Complex Logic
How are you doing it? Do you have one big pipeline script with all sorts of logic that incorporate everything? Or do you have a lean pipeline where a single stage does one and only one thing well? I've seen many different ways in which companies organize their CI/CD pipelines. And it works for them. But there are a few designs that were really simple to understand and … [Read more...] about Jenkins Pipeline Script Should Not Contain Complex Logic
How To Break A Big Pull Request Into Multiple Smaller PRs?
Have you ever got a chance to review a Pull Request that contains the change across 100 different files? If you have not then you are in a wonderful place. But if you have... then this article is for you and your team. Big PR takes a lot of time, concentration and focus to understand what all parts of the code have changed. This is such a turn-off for the reviewers that … [Read more...] about How To Break A Big Pull Request Into Multiple Smaller PRs?
Idempotence Is Very Critical In Backend Applications
Wait... before you start reading... get this - it is a very important topic. Maybe you are someone who already knows about idempotence or someone who is hearing this word for the first time. This article is going to help you all in some way or the other. I'm a backend engineer. No that's not right... I'm a full-stack developer specialised in backend development. Yeah, … [Read more...] about Idempotence Is Very Critical In Backend Applications
Trie Data Structure Implementation | (PUT, GET, DELETE)
What would you do if your professor ask you to come up with a solution for a symbol table that is targeted only for string-based keys which are Faster than Hashing and more Flexible than BSTs? Trie Data Structure is the solution that you will be looking for. Trie is a fast search and miss data structure when it comes to storing key-value pairs where key is a string. This … [Read more...] about Trie Data Structure Implementation | (PUT, GET, DELETE)
Advent Of Code 2020 – Day 4 – Passport Processing
I just love the way Eric Wastl links the story. This time it's about passport processing. Do visit the link to read the story and understand the task better. But at a high-level, you need to understand this - there are two types of documents: North Pole CredentialsPassport The passport scanner machine is slow and facing some problem detecting which passport have … [Read more...] about Advent Of Code 2020 – Day 4 – Passport Processing
How To Start Your Career as a Computer Programmer (For Newbies)
In this pandemic, I got in touch with many undergraduates and I found a common pattern. They all seem to be confused, usually spread all over the place. On top of that, they are running after the wrong stuff. You see today the internet is filled with information. If you want to learn something, it is just a search away. And this is a good thing. But it can easily … [Read more...] about How To Start Your Career as a Computer Programmer (For Newbies)
Create Page Layouts with React and Typescript
Layouts are one of the most important pieces when it comes to web development. Let's say you have a website that offers a member's dashboard so that the members of the site can login and get the exclusive content. Now, you wouldn't want to have the same layout for your members that you have for a non-member of your website. The logged-in user may have access to a lot more … [Read more...] about Create Page Layouts with React and Typescript