While I am interested in other types of programming, I plan to focus on my current forte in 2015: web programming. My personal development plan in 2015 assumes the following about the future of web technology:
Scalability will become a dominant factor in web framework choice. This is because successful businesses will have to serve ever increasing volumes of traffic.
New platforms will use the web as a backbone. For example, the “Internet of Things” will continue to grow. These new clients will have a strong emphasis on real-time data.
100% uptime will become extremely important.
Maintainability will become a focus for businesses investing in technology. Recycling their investments every two or three years will become unappealing as silly investments fail. The tech bubble will pop.
The plan has three parts. “Concepts” are programming ideas I want to get a more solid grasp of, “Tools” are libraries and languages I’m interested in learning, and “Projects” are ideas I plan to implement during the year.
Most web development is just putting a pretty face on a SQL database. However, with a deep understanding of algorithms, much harder problems can be solved, and a different kind of innovation becomes possible. Being self-taught, I haven’t given as much attention to this before as I ought to.
Regular expressions are extremely powerful. Many times, it is possible to implement a feature with a language-agnostic regular expression rather than using some specific feature of a specific language. As a result, Regex knowledge is both useful and very portable. In an age where programming languages are a dime a dozen, I’d really like to have as much permanent knowledge as possible.
Elixir: A relatively new functional programming language written on top of the Erlang VM, with a Ruby-esque syntax and strong concurrency, stability, tooling, and metaprogramming.
Phoenix: An exciting Elixir web framework with excellent performance and real-time features.
SQL. Similar to regular expressions, SQL can also be used to solve a vast array of data analysis problems in a language-agnostic way. This skill is portable between languages and database systems, and is often a more elegant way to solve problems. My knowledge here isn’t as broad or as deep as I would like.
“OnSale”. A Phoenix app capable of monitoring prices
of products on any website and sending notifications when prices change.
LeadSimple. Render customer UI with Ember.js as a single,
unified Ember CLI app, rather than the current hybrid approach.