Plan and done for January-28-2018

What will I learn today?

Application to Microsoft LEAP program. FreeCodeCamp project: Pomodoro.

Done

Unrelated How to copy any file content to clipboard in MacOS:

$ cat filename | pbcopy

Why are you interested in programming?

Improving and optimization are my core values and I always seek for ways to make things work better, more smooth, more steady, being more reliable. On the other hand, programming is the fastest way to interact with "reality" in a creative way, even if such reality is totally constructed. This form of authoring "reality" is like the digital photography - you got the picture exactly at the time when it was taken and always have a freedom to immediately continue your work to get the result you want. And the whole structure of a software implementation consists of the steps of continuous approvement and optimization: you prototype, create the first approach, think what could work better or could be implemented in a more efficient way.

Programming is like possessing a supernatural power of creating your own tools to test how the constructed "reality" works. Moreover, now I see the code as the means by which we can optimize, tweak the reality around us to be sometimes more exciting, sometimes more supportive, more encouraging for new ways of thinking and exploration.

I hardly tolerate unfinished tasks and in coding, I know there are always ways to finish the work in the way which is appropriate for me. If I work on my personal project it's always the matter of my own learning capacity and it lays in a circle of my personal responsibility. It's my work to design and implement a solution in my own unique way.

If we switch to a teamwork there are distinct parts of the code I'm responsible for. I'm a visual thinker and I adore to draw boxes and connect them with arrows. I like to create a visual representation of data and execution flows of a code. It helps me better understand what's going on inside an app or how to organize flows more efficiently. And it let me illustrate my ideas and present them to my team in the most expressive way. Add here a communicative function of a code and we've got the most effective way to share thoughts with the people who think alike and to get a feedback to learn what could be improved.

In high school, I was interested in computers and principles behind them working. At my last workplace, I was responsible for providing stable and efficient work of fintech's back-office and implementation of settlement modules under the company's projects. I've been devoted to the gradual improvement of surrounding world since my school years, and programming gives me the freedom and opportunity to keep going on this path.

What have you done to expose yourself to programming so far?

I worked with all kinds of data handling for the last 10 years - generation, transformation, routing - in different roles for a fintech company. I worked as a data engineer, a database application developer, a team-lead and for the last couple of years as a project manager and a solution architect. I used to work with multimillion transaction datasets providing financial and informational reports, revealing patterns of customer behavior and presenting data flows and processing cycles on real-time dashboards. And all my job activities were done by using different kinds of programming languages: I used SQL to communicate with Oracle or MS SQL Server to transform and extract data for reports; Python with cluster analysis to form customers groups; SQL, shell-scripts, and JavaScript/.NET to present data on dashboards.

I've got training experience both as an author of training materials and as an instructor for new employees and internal teams. I established a company's knowledge base as a single starting point of entry to get acquaintance with terms and technology stack in use. And this role included creating documentation for the in-house software modules and procedures.

A couple of years ago I spent some time to get accustomed to machine learning toolkits. I finished an online certification and started to use ML tools for prototyping side project for monitoring customer loyalty level.

For the last year, I switched from a data engineering to a software development and specifically to a web development. I've been studying and practicing HTML, CSS, and Javascript. I've started following the freeCodeCamp curriculum and despite I work on two jobs and raise three daughters I spend the remaining time implementing projects, watching online courses and practicing algorithms and data structures. In the year my coding expressiveness increased tangibly - I started using code patterns and practicing functional programming approach.

Projects - technologies:

Certification: Coursera Machine Learning, https://www.coursera.org/account/accomplishments/verify/MBJY4S7WH9H5 Coursera Introduction into machine learning, https://www.coursera.org/account/accomplishments/verify/BWPNGQ6TEG58