What I’m up to at the end of 2016 / start of 2017
November 19, 2016
I’ll explain the why’s and how’s of some of my decisions on technologies to learn, things that I’ve learned in 2016 and what I’m planning to 2017.
Mentions Javascript, React, Infrastructure, Functional programming, Lisp, Closure;
Javascript, why?
Ohh Javascript..
I’ve been working with Javascript since 2014~15, but never really took the time to learn it’s tricky nature.
There’s a fun fact about Javascript — It’s the language that everyone and no one knows. Why is that? I think that the main reason is: If you’re a developer that happens to render something on a browser, the time that Javascript will get you will come, and it will snap you with all it’s tricky behavior’s right in the runtime of your application.
Some developers take the time to understand it, some of them work-around.
Tricky behaviors aside, the main reason that awakened this curiosity feeling was React. I’ve never really got the intention of digging into Javascript Frameworks (yeah, I know, it’s a library) but React motivations around components and it’s immutability backed ecosystem got my attention.
Javascript, how?
I’ve started digging around React documentation, then started watching screencasts on Egghead talks on FrontendMasters, but Javascript really clicked for me with Kyle Simpson YDKJ book series, you should check it out.
While playing with Javascript, Node.js came naturally, since it’s the go-to for assets compiling with Webpack and so on.
Docker, why?
It was the time when I was re-playing with an old chat app (moving it to React) that the idea of separating the HTTP server and Websocket server came to my mind. And I thought to myself — It’s the perfect opportunity to get a basic $5 Digital Ocean droplet and deploy this application in two Docker containers instead of a Heroku dyno right?
Docker, how?
Basically, I’ve followed the Docker docs, which are pretty much sufficient to get things going. If you need a broader point of view on containers, you should watch some introductory Docker Pluralsight screencasts.
In terms of containers management I’ve used docker-compose which works-just-fine™ — Still planning to take a look on Kubernetes.
This hacking time made me realize how little I know about infrastructure, thought that lead me to put three books on my list, Unix and Linux system administration, Building Microservices: Designing Fine-Grained Systems and Ansible: Up and Running. I’ll probably discuss those guys in further posts.
Functional programming, why?
After grasping the React ecosystem and the immutability idea, I’ve started to notice how bad we (Ruby coders) manage mutability, how unmanageable mutable objects tend to be, and how the idea of stateful objects (which is a object-oriented language nature) make architecture less reasonable over time.
There’s a Nile Rogers quote on his thoughts on Daft Punk work that I can’t forget. He mentioned that “they went back to go forward” on their last album — Random Access Memories. And personally I think it fits well on a developer career, we should always crave for old wisdom.
This reasoning lead me to a goal regarding FP. Feel comfortable with Lisp (Closure), and why not learn a new editor? So we can improve the goal:
Feel comfortable with Closure, and Emacs (spacemacs maybe — I’m a VIM user by-the-way).
Functional programming, how?
The previous explained thoughts lead me to three books. Structure and Interpretation of Computer Programs, Mathematics for the Nonmathematician, and a closer to the goal one Closure for the brave and true.
In a high level point of view, here are the goals for the last days of 2016 and 2017:
- Feel more comfortable with operational systems, infrastructure and devops practices
- Feel comfortable with Lisp, Closure dialect, and Emacs
- Contribute more to open-source projects
Originally published at words.oswaldo.me.
