Tommy LeeSoftware development for everyone else

Programming Learning Slumps

How do we find relevance in learning new programming stacks? How do we remain relevant in our understanding of web architecture? New frameworks rise and fall faster than a prime-time lineup. Wheels are reinvented faster than we can put them on cars!

My apprehension

When I'm doing things by myself or at my job, I want to get it done. I've developed habits to avoid using new / exciting / untested stuff for production. I also avoid rolling my own...anything. For the client, and for anyone else down the line, maintenance can be more expensive and mentally tasking. They want a working awesome product.

Coming up with new projects, I don't imagine the minor (but important) details of my stack. I'm more interested in the end product. Architecting out a solution, drawing out my tables and relations, these are the parts I enjoy. My standard set of tools: Laravel / Rails, MySQL, Bootstrap, Nginx. Anything that gets it rolling out the door.

Why should I learn Bash when I have Python? Who the hell needs to learn another new Javascript framework when they're just going to change in the next few months. Why should I get out of my comfortable, safe zone, and learn something new.

For me, it was the fear of failing to understand. After programming for a while, there was a certain comfort in knowing that things worked the way you expected them to work. Switching may take me a lot longer to learn, and cause me problems in getting what I want.

Life is hectic, and stressful. Programming is safe. It's my sandbox.

Improving creative morale

I had a strange week filled with visits to the cinema. I thought of a game regarding movie earnings and Adam Sandler. Given a Movie title and the budget, provided by BoxOfficeMojo, the player had to guess the gross earnings.

Jackbox.tv's online game model of an online sign-in and streaming looked amazing. I love the idea of a client-server game sessions, and the ease of sign-in. The interface is pretty slick. I want something like that.

This is a place where my usual programming tools were insufficient to my ideas. While I could use Rails' ActionCable, there was a lot of interface heavy things I wanted. I've been doing a lot of reading about some Real Time Javascript frameworks like Meteor.

Some of my other friends would take this idea, and form a medium-sized team where a lot of people do very little. Maybe make a Kickstarter from it. This is a silly prototype, and something that I want. So I started building.

It's still not done yet. But the passion of creation is back.

When building is not enough

Meeting other people who appear passionate about the craft reminds me of why I started in the first place. I came to this industry since the challenge exists. While programming can be a solitary activity, we have a community full of supportive, brash, intelligent developers that can help.

Help a newbie

Working in coffee shops for the past few months, I met a few 'up-and-coming' developers. I'm not too sure what that means, but these kinds of people are extremely hungry and passionate about new stuff.

Encouraging their growth and development brings all the warm fuzzies into me. They show me their projects. I love seeing them. While I don't have any pretty things to show yet, I have my favorite tools. I love showing off Github Pages and setting up their machines for Jekyll. Demonstrating the power of Virtual Machines and how easy it is for them to get a development environment setup so they can try out a new language or node.js tool. Or even helping them debug a current problem.

Contributing to Open Source

There are a few tools that I like to use, but documentation can be kind of scarce until I learned how to use it. Reading through open source code for fun may not be the first thing I went to, but helping to fix a bug that I ran into time and again helped.

Join a meetup

In college, I remember meeting with people of like minds, going through a similar trials and tribulations of finishing school work. I'm not used to meeting with other people with the same job title I have. Meeting up and Talking with others of like minds helps.