Joshua T Kalis (he/him/his)
I build great teams and excellent software.
My 2014 Syllabus
13 Jan 2014
I have a lot that I would like to learn and accomplish professionally this year (2014). In an effort to organize myself and an attempt to make good on -at least some of - these I think it would be good - if not daunting - to make a list and refer back to it later.
Topics / Todo List / Goals
Brain dump time, these are going to be in no order at all. This is just me getting the ideas down and then hopefully explaining a little more after to clarify.
- Compile to JavaScript language:
- CoffeeScript maybe just a subset of
- ClojureScript
- ReactJS - reactive programming
- Integrate another language into a project: (one, and in no particular order)
- Rust
- F#
- Erlang
- Lua
- Io
- Julia
- Learn (not necessarily implement) more Design Patterns
- Read Refactoring book completely
- Project Firehose in production environment and being used
- Write more about:
- JavaScript
- Git
- Programming
- Tech Leadership
- Other Topics
- HyperMedia APIs
- Project LongLeet
- Refactor and augment my personal website (because why not)
- Hypermedia API and client for a Single Page Application
- More information about me and what I have created in the past
- Richer UI
- More Responsive of a design
- Convert to Vi or Emacs as an IDE of choice
OK, time's up. Now onto a little explanation. There is still a lot more I'm sure that I could (and possibly will) add to this list but no reason to waste time on that right now.
Firehose - Top Priority
A good friend of mine and team leader (@CalvinBushor) set me on a mission. He had an idea for a product but was unable to come up with a good use case initially, then we stumbled into one at work (@QuickenLoans). I loved the idea more and more as we talked through the architecture, and where the product could go.
All of my recent professional goals seemed to be converging in this project: technology desires, and product vision. I dove in and have been loving it. Now I need to just follow through and deliver something awesome. Some highlights are:
- NodeJS
- WebSockets
- HyperMedia
- Single Page Application: Angular or Polymer
- WebGL? maybe for visualizations in the future...
Write More
I believe that I have cultivated a good amount of knowledge through my self-taught relatively short career thus far and now have the responsibility to share what I have learned with the community in the hopes that it will help some people learn from what I have experienced.
I still have a lot of topics to learn but I can use those learning experiences to help me share as well. Not everyone learns in the same way or even interprets lessons in the same way. I think that learning a teaching should go hand-in-hand a lot of the time; sometimes I learn from teaching. Learning what you don't know is sometimes more important that learning more about something that you think you do know.
I continue to enjoy teaching friends about anything that I can help them to understand. Sometimes I might get more out of it than they do but that only helps me to help them - or others - later.
Design Patterns - Learn 'em
My self-taught knowledge has gotten me pretty far and I assume that it will continue to carry me forward in my career. But at some point there is knowledge that is available as a short-cut.
I could spend months - and possibly years - wandering through experiences in programming and design or architecture and eventually come to the very same conclusions as others have, over the decades of software engineering, or I could take a few days and do some reading(s) and skip a whole lot of confusion, mental anguish, and long nights tracking down problems with something I am attempting to get working.
Essentially, I should strive to stand on the shoulders of giants to raise myself up rather than to attempt to grow taller all by myself.
Tags