Cooking like a programmer, part 1
Tags: beginners, android, motivation
Published: 2019-02-05 19:16:26

---
title: Cooking like a programmer, part 1
published: true
description: How programming helps you day by day, part 1
tags: beginners, android, motivation
---

The idea for this post and the next ones (yes, there will be a series of articles) came from my passion for coding and cooking. So why not combine both of them. 
Both are rule-based and are considered a form of art and science but what I like most is that they leave plenty of room for improvisation (or how I like to say, *“I seasoned some personality in”*).
This is not something new, but I find myself able to get the similarities between these two and write my own approach about how useful is programming day by day. So, this is my POC.

#Background
I felt in love with programming 7 years ago and currently, I have a full-time job as an Android Developer. 
I do love the idea of coaching. In my free time, I’m helping others to learn how to code (at [MobileAcademy](https://www.mobileacademy.ro/)) and I’m an active member of local meetup events (such as [women techmakers romania](https://www.meetup.com/Women-Techmakers-Romania/members/), [google developer group bucharest](https://www.meetup.com/Google-Developer-Group-Bucharest/)).
Last year was the first time I was invited as a speaker at a well-known conference ([devfest](https://devfest.ro/)) and I enjoyed it a lot.
I’ve got a hacktoberfest t-shirt at [#hacktoberfest18](https://hacktoberfest.digitalocean.com/) and what I’ve learned is that you should stay positive and show enthusiasm when opening a pull request and accept that your code is not perfect.
![hacktoberfest t-shirt](https://thepracticaldev.s3.amazonaws.com/i/bbitgj2iwtm2hmlixv7p.jpg)
I’ve been two times at [Google IO](https://events.google.com/io/) event and I found this the most unique conference where you have to go at least once in a lifetime.
Being active in this industry brings you many benefits. I do consider that taking a few days away from the office to participate in a conference is not at all a waste of time.
*The mindset* I choose to go with is that I can win friends and learn from a variety of points of view, get new ideas and trends, all these impacting my future results.

#What I want to accomplish with this series of articles?
I want to learn how to cook based on my programming skills and share programming basic concepts in a funny way, that anyone can understand.
I’ll try to write about basic rules, like the *environment, the importance of planning, variables, algorithm, data structures, OOP, app architecture, teamwork*, etc. Of course, I’ll do it **agile** so everything can change :D
I find programming a lifelong pursuit where there is always something new to learn and you need to get as much as you can and also help out the person next to you. 
Cooking is not different, and I don’t have big expectations that I will be a great Chef in a few days, so that’s why I propose myself to cook something new every week. (improving my cooking skills week by week, continuous learning). 

#So, let’s start!
In this article, I will tackle the **“Setting up the environment and planning what you want to code! Ups… cook”**

The first dish I want to cook is **duck breast with orange sauce.**

**Setting up the environment.** In order to start writing code and solve actuals tasks, I need to get everything in place before coming up with a solution to a problem. 
So, I start with installing *iTerm, AndroidStudio, GIT, android sdk, android ndk, kotlin, sublime text* (mac workstation). After everything is setup, I’m ready to go and plan what I need to implement next.
![pic 1](https://thepracticaldev.s3.amazonaws.com/i/kt7hssd8aq9gizhwnl77.jpg)
So, with this in my mind, I cleared up the kitchen and everything is in place, as “Mise en place”.  Based on my skills I assume that if my work area is clean and my tools are where they should be, I’ll be able to handle this complex recipe. 

**Planning the work.**  I like to plan my workday… actually my entire day. If I have to handle a complex problem, I first start writing it down in pseudocode before actually start programming. 
I plan the app architecture in advance. I’m thinking of the app specifications and reading a lot about what APIs I’m going to use but in an agile way (things can change). My view has to match my team view, so I need to keep consistency.
I like to write code, but coding is a long run, at each moment there is something from the past to refactor.

Again, I’m using this coding approach to preparing the duck breast. I’m studying about duck meat properties, the ingredients I need for the recipe and extract the steps I need to perform (planning the architecture).
![pic 2](https://thepracticaldev.s3.amazonaws.com/i/bmkpdsd06twrln9dskjp.jpg)
What I’ve learned is that duck is nutritious and delicious, it is lean meat, an excellent source of selenium and zinc, both of which encourage good cellular metabolism.
Duck fat it’s similar to olive oil and low in saturated fat. It’s the perfect choice for a health-conscious diet.

After this recipe, what I’ve learned is like in software, where my app doesn’t work as I’m thinking (**bugs are everywhere**) my dish tastes a bit strange… but at least looks good :D
![pic 3](https://thepracticaldev.s3.amazonaws.com/i/u8ddmzqck9wp1jaxfql6.jpg)

Stay tuned for my next steps on learning how to cook like a programmer and discover what software development is like a pro. Stay happy!

*Thank you for reading this. If you have any questions, comments or funny jokes comment below.*