Codementor.io announced a new feature a couple of months ago: "Ask me anything" events, and I decided to create one, even though I never mentored anyone over there. At first, no one asked me anything until @codementorIO announced my event on Twitter and a bunch of questions came pouring.
I felt quite pleased of the answers, since it gave me a chance to voice a few of my current beliefs. I'm sharing them here. Feel free to ask me more questions in the comments below.
John S.: What are some projects that you been part of that lead you to see creating technology as a futurist? What exactly makes you a futurist? (also, I think that's a very apt and great way to explain your tech skill).
Your first question is interesting since I realize that it wasn't something specific I worked on. It's just something I realized and it might go back as far as my childhood. Most of my projects are related to software, and none of them are very extravagant. But they are enabling me to learn and do something extravagant in the future. I hope.
Personally, it brings a lot of ease to be able to ask yourself in any situation; what effect will this have in 3 minutes, what about in 3 days, 3 years, 3,000 years? After how much time do our actions actually stop influencing the future?
Framing everything in the context of the future is a great motivation for me. As a futurist, I try to model a timeline of the future in a certain field and then explore what are the chances of that actually occurring. Once I gather some new data I try to find a new model and go as far as my imagination takes me. It never stops being fun.
Steven K.: What's cool about Ruby on Rails?
Ruby on Rails is cool because it made a gamble when it was created. It predicted Ruby will be a thing, it gambled on MVC, REST and convention over configuration. And it hit the jackpot. It quickly gained momentum and I wanted to work with it because it was cool. It empowers you if you want to take on a large task by yourself.
A bit more technically speaking, it greatly eases the choices when it comes to naming, dealing with assets, testing, routing, file structure, architecture etc
Steven K.: What motivates you?
People, secular values, family, connectedness, seeing no ending in sight for technology.
John S.: What's your favorite quote?
I don't really have one. I think quotes attempt to elegantly summarize complex thought patterns, but perhaps a mathematical truth is more penetrating. Think of Boltzmann's equation, it can be used in statistical physics, arrow of time, fluid mechanics, Fourier analysis, the distribution of stars.
But, to answer your question; here's one from Niels Bohr: "An expert is a man who has made all the mistakes which can be made, in a narrow field."
Beth: What are you currently working on?
Currently I'm working on an article workflow tool. It's built using Ruby on Rails and EmberJS.
Beth: What advice do you have for a beginner coder/engineer?
Start with whatever works for you and enjoy the learning process. Beginner engineers seem to always ask the best questions, just like children when faced for the first time with a scientific concept.
Also don't worry about trivial things like syntax.
James: Do you have any top recommended blogs (coding or life in general)?
- Coding & technology:
James: What is the best way to learn new coding skills? What are you thoughts on learning new skills in general (what habits, tricks, tips, do you use)?
By far, I've learned the most while working. I feel I have a a good sense of duty, so when I work I often experience joy but also fear, shame and other strong emotions. Emotions are a great booster for practical memory. I also try to find new hobbies with various types of learning curves.
Also, for a concrete example, going through the source code of gems (which are self contained libraries, in Ruby) taught me a great deal. Also, using libraries in surprising ways develops a certain elegance in code.
Sara: How did you get started as an engineer?
I have a bachelor in control engineering and I initially started working as a C/C++ software developer.
Sara: What is it like to work as a Blinksale? What inspired you to work there?
Blinksale is a mature product and the team is small, well knit and we do our own version of Scrum. Initially, my work was on another product; a spin-off from Blinksale called ZenCash, which was shutdown in the meantime.
I wanted to switch to web development and I was impressed by Ruby, and I was lucky enough to find a team which was doing just that and also share the same work culture.