On July 14th, 2014, as part of cohort 8 of MakerSquare Austin, I started a new epoch in my life. As a previous equipment/process engineer at Samsung Austin Semiconductor and (now defunct) HelioVolt, this life conversion towards software engineering is a major step forward for something that has interested me for so long. I only sampled some basic VBA, MATLAB numerical methods, and some C++ in bioengineering when I was at Berkeley (Hi, Dr. Head-Gordon!). Heh, and I used to think programming was doing bits of modification around recorded macros in Excel.
Anyways, after working in manufacturing companies for so many years, I’ve decided it’s time to change it up. Evolve or be evolved as they say, and Austin is evolving so fast that I don’t want to stay behind. I’ve dabbled in programming only every few years but I’ve always been fascinated by automation (duh, I worked in manufacturing) and the excuse of programmers being “lazy” when really they meant they wanted convenience. Thanks to Amanda @ for helping get my questions answered during the application process!
So what have we done in the last two weeks?
- Philosophy and Expectations of MakerSquare
- Optimism and Pessimism
- Setting up the development environment
- Data structures and modeling
- Algorithms (in Ruby, Array#pop, Array#insert, Array#include?) optimization and Big O notation
- Ruby projects and Rspec testing
- HTML/CSS Design review
- More CSS Design rules: browser defaults, normalization, clearfix
- CSS layouts: SASS/SCSS, Foundation
- Puppy Breeder (Ruby project for a task manager)
In Week 1, Way (wayspurrchen.com, @wayspurrchen), a MakerSquare senior instructor, prepped all our laptops (everyone had Mac or Linux OS) with the dev environment we needed. We installed Google Chrome and Mozilla Firefox browsers, Sublime Text 3, various terminal configurations (iTerm2, Meslo Powerline Font, Homebrew (git, zsh, imagemagick, the_silver_searcher), Heroku Toolbelt, VirtualBox, Vagrant, and an Makersquare-customized box for Vagrant. He then spoke about how our optimism and pessimism follow the expectations graph. I couldn’t find the exact graph he showed, but it’s still the same shape and concept. We are embarking on a microscopic random walk of optimistic and pessimistic peaks and troughs. We will be excited but then realize how little we really know, dropping our optimism to a trough of disillusionment, but will then improve as we become stronger and smarter and eventually plateauing in optimism, which asymptotes into a hopeful level of happiness over time!
Patrick @, our MKS algorithms instructor, began with concept memory saving and arrays. We then worked on creating Ruby methods for max (without using .max) value of an array, middle_element of arrays, and summing arrays. Optimizing algorithms means time and money. We also spoke about how Big O notation can be used to quickly determine and classify the order and prioritization of algorithms.
Nick @, our MKS Ruby instructor, then dived right into Ruby projects and Rspec testing. We learned the basics of TDD and BDD: test-driven development and behavior-driven development. The gist is that BDD is a feature-focused version of TDD. So we should focus on why and how our program works, not just to confirm values and what we expect.
Clay @, our MKS Front-end instructor, reviewed our basic HTML/CSS skills we prepared in our prework. My taste for graphic design has definitely improved haha. Geocities? Angelfire? Xoom? R.I.P.
On the administrative side, Chelsea@ is our community manager and took our pictures for our business cards, Savrut @ and Jessica @ gave a good presentation about career services including “Makertunities”, which are MakerSquare-alum directed jobs.
In Week 2, Clay pushed the envelope of our design skills and we proceeded into more wireframes. Definitely creating wireframes makes design much easier. Websites and life itself are just sets of squares framed within each other! Just like how all our lives are programmatic, almost robot-life, in most ways. Learning SASS stylesheets makes design even easier, but after learning Foundation templates, I am happy for the glut of web designers who can build nothing to prototype with only a few hours of freetime! That can be me!
Nick then focused on our Puppy Breeder aka Task Manager Ruby application. The basic objective was to satisfy User Stories and requirements to fulfill the completion of purchase requests for breeding puppies. Puppy mill, puppy garden, puppy cage, etc. euphemisms made this project more fun. This encompassed 2 days of Rspec testing and application building.
Whew, it’s been fast and furious and I haven’t finished all the work. Better get to it!
Addendum: Writing is something we don’t do enough of and my high school English teachers taught me the concept of reflection, seeking the metadata to organize the chaotic mind of ourselves. I hope that my reflections become an inspiration to myself and others, in anyway.
What kind of job am I hoping for? Data Science (ok fine Big Data). But let’s not forget Little Data too.