Tips & Tricks based on real experience

Fast onboard in a new job

Follow these simple rules to speed up your onboarding and get familiar with new projects:

  • You're a new team member, so don't afraid of asking questions even if it sounds too basic.
  • Start with small tasks, don't deep dive right away. Small achievements will motivate you more and help become confident.
  • Inspire other teams' code or existing projects to get familiar with the architecture and also don't hesitate to reuse that code with some refactorings.
  • Speak up in meetings if you have an idea or questions.
  • Use your free time to learn about related technologies that the company is using.

Handle unprocessable messages in RabbitMQ

Sometimes messages can be unprocessable for different reasons, such as invalid body or excessive queue length or due to some internal logic. However, these messages must be processed again at a certain point to prevent data loss.

As a solution, you must create an exchange (type can be topic) that will be used to redirect unprocessable messages to related queues. Then, declare a queue (can be more than one) with {"dead-letter-exchange":"my-dlq-exchnage"} as an extra argument. That will mark the queue to listen from the dead letter exchange.

Once the message is unacknowledged, RabbitMQ will automatically look for dead letter exchange and forward messages to corresponding queues.

Override your previous Git commit if...

If new changes are small and related to the previous commit context then don't create a new one. Instead, use --amend option with --no-edit as below:

git commit --amend --no-edit

Now, your previous commit has been overridden with new changes.

More coming soon