New mental models and principles I got by learning to code.

Mental models are how we see and understand the world. It’s how we simplify complexity and resolve problems. For example, looking at the building, different people see different things. A construction engineer would look at materials and structure, while a business person would look at it as an investment opportunity.

None of the views are wrong, but understanding how everything works holistically requires looking from multiple perspectives. Having the ability to look from different angles correlates with how many mental models we know. The more models we know, the more complex problems we can solve.

Our perception is based on…

A simple handbook of 5 non-written rules for reviewing a pull request

I still remember the first pull request back in my internship time and exposing code to others. I would take a pen, paper and write every suggestion I got from my mentor. Single review used to last for days, and at that time, I used to think how terrible this part of my work was.

For junior developers, the review can either be a learning place or a wall of shame. It’s up to the team and seniors to bring an atmosphere of trust, honesty, and constant improvements. …

Learn how to integrate SonarQube in your React Native project.

SonarQube is a static analysis tool that provides us with five main reports:

  • Reliability
  • Security & Security Review
  • Maintainability
  • Test Coverage
  • Duplications

In other words, it analyses our code to gives a report of anything that’s wrong or could be wrong in the future. Recently, I couldn’t find any good documentation on SonarQube and React Native, so I documented the steps that I made to integrate these two.


  • Docker installed on your machine
  • Homebrew installed


  1. brew install sonar-scanner (only first time)
  2. Download Docker and start it by running a command…

Small steps to debug your crashing Android app without error logs

As a mobile developer, it’s not uncommon that your app will crash or freeze once in a while without any specific reasons. Debugging the .apk file can cause many headaches since you won’t have your remote debugger connected and sometimes no error logs at all.

Android Debug Bridge

ADB is a command-line tool that lets developers an alternative way to communicate with a device. It provides us a way of installing and debugging apps via terminal.

It’s consist of client-server architecture, which holds three main components:

  • client: running on your machine and…

Expected concepts to understand as a React Native developer

Coming to the mobile world might be overwhelming even for an experienced web developer. The first interaction with Android Studio or Xcode feels like opening a whole new world of unknown.

In case you’re a mobile developer making the first steps in React Native, you’ll have similar challenges as myself: a new way of planning and architecting the app, a new way of data flow, Javascript, and all the React concepts you have never seen before.

I was already working for a couple of years as an Android developer when a…

Demystifying ‘this’ keyword in JS

this has been a mystery for most developers coming to the Javascript world.

If you have a background in languages such as Java, the concept is pretty straightforward. It points to the current object in a constructor or method.

Many developers had trouble at one point with understanding this, and there is nothing wrong with reading about it several times, so don’t hesitate to come back to this article if you need a refresher.

Before going into the topic, you need to understand how execution works first.


Whenever you write code and run it, you rely on some of the…

Adnan Sahinovic

Full-stack web & mobile developer specialized in making IOS and Android apps. Teaching, writing, and exploring tech

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store