Friday, August 5, 2016

IPND, stage 4, paths to choose

Basically, there are 4 paths for a programmer or developer to take:

1 front-end developer:


responsive design
mockups to websites
fast loading speeds

different kinds

Design focus: HTML, CSS
Application focus: JavaScript

essential skills

Empathy: you aren’t developing a website for yourself, you’re creating it for other people
Breaking problems into manageable chunks.


Angular.js, Ember.js, Backbone.js, Knockout.js, React.js and Polymer.js.

2 back-end programmer:

databases, deployment tools, back-end frameworks
The technologies used by back-end programmers tend to stick around longer than those used on the front-end because rearchitecting an application is a major undertaking. As a result back-end technologies change more slowly.
Languages like Java and Go are popular among large teams and large projects because they enforce code organization and structure. Languages like Python, Ruby and Javascript allow rapid development and easy prototyping, but they don’t necessarily scale to heavy loads as easily. This implies cultural differences between the communities around different languages, and in the teams that use the different languages. Java in particular is used at larger enterprises. PHP tends to be seen in legacy applications.

3 Mobile programmer: iOS, Android


responsive design
clean user interface
sync to server
from a functional state to a production ready state
mobile hardware

essential skills

oo programming, networking (online APIs)
programming paradigm called model view controller
ios: swift (since 2014 summer), objective C, IDE is Xcode
android: Java, IDE is Android Studio

4 data analyst.

Python for data wrangling, D3. js for data visualization, R for statistical analysis


trends from data
applied statistics, machine learning
data visualization
Jessica Kirkpatrick, data scientist at hired, PhD at astrophysics.
In her view, data analysts is to basically help other people in the company make decisions and prioritize their work by using the data we collect
language: sequel to fetch data, or similar language (Hadoop or MapReduce), statistical package like R, python, whatever for more advanced statistics and modeling and numerical analysis

essential skills

  • Mathematics and statistics. Understand how to interpret the results, the technical aspects of models that are employed, develop new or alternate techniques to go beyond the built-in.
  • Programming. Beyond software package to perform “out of box”. customized effects
  • a sense of curiosity. Ask questions of their data to generate a logical flow in analysis. If an oddity is detected, such as missing data, outliers, unexpected trends, steps should be taken to understand the oddity and try to resolve it.

python vs R

R. Best at very specialized task:

  1. ggplot2: good-looking visualizations to hasten exploration of the data
  2. dplyr, tidyr: reshaping data

    Python. easier to learn and understand

  • scikit-learn, matplotlib, seaborn: for machine learning and visualization

learning zone:

The Safe Zone - This is where concepts are familiar and we don’t have to take any risks. The Safe Zone is important because it gives us a place to return and reflect on our current understanding. However, our potential for growth is limited in the Safe Zone because we are not challenged with unfamiliar concepts.
The Stretch Zone- To grow we must leave our Safe Zone and explore a Learning Zone just beyond our secure environment. Only in the Learning Zone can we make new discoveries and slowly expand our Safe Zone. Entering the Learning Zone is a borderline experience. We feel we’re exploring the edge of our abilities and our limits.
The Strain Zone- Beyond our Stretch Zone is the Strain Zone where learning becomes difficult and is blocked by a sense of fear and frustration. Learning that is connected with negative emotions is memorized in a part of the human brain that we can access only in similar emotional situations. While learning is possible in the Strain Zone, most of our energy is used managing and controlling our anxiety.
dancer, psychologist and coder: