Some people learn one programming language and stick with it forever.
I’m not one of them. I really enjoy learning new programming languages. When you learn different languages you learn different ways of approaching programming problems. When a new language is conceived, the language designer has captured techniques and methodologies that have worked well for them and are, in some sense, sharing them with you.
Each programming language promotes a particular perspective or “world view”. Each language is capable of expressing concepts in different ways. In fact, some concepts may not even be expressible in a given language. Depending on the type of problem you’re trying to solve, one language may be better than another in the sense that it makes easy what you need to solve. It’s a wonderful opportunity to broaden your perspective on problem solving and analysis.
I haven’t had the time to learn a new language in a while, so I’m looking forward to learning Scala. The first I heard of it was when Dave Thomas blogged that Twitter should move from Ruby to Scala to help it scale better (they did). We’ll see if we should move any if Frontier over to Scala (in particular, our scheduling engine). Maybe we’ll write our next product in Scala. Who knows. In any case, it’ll be fun to learn something new. I’ll let you know how it turns out.
Did you catch the nice presentation on creativity by Jason Theodor on slideshare today? If not, here it is:
It’s nice to see someone put so much thought and reflection into something. It’s like a doctoral dissertation on creativity. Lots of great insight here — probably a decade’s worth — presented effectively and delightfully. Super job, Jason!
Whenever I first meet an entrepreneur, they seem full of confidence and optimism. After I introduce myself as a fellow entrpreneur, the ridiculousness of that pretense falls away.
All entrepreneurs are unsure of what will happen next. We’re on this rollercoaster filled with anxiety. We take things personally, but we try not to show it. We believe in what we’re doing, but missteps give us pause. We’re an odd mix of possibility and uncertainty, conviction and doubt –never sure if we’re being persistent or just plain stubborn.
Only time will tell if we’re right. I think the trick is lasting long enough to see if we are 🙂
I went on a sales call last week for our product Lakeway Frontier and was reminded of something that one of our first users pointed out to me: Frontier supports a methodology for how you manage engineering teams — but you have to adopt the methodology first.
I was kinda hoping the value of the methodology would be self-evident 🙂
I’ve come to this way of managing teams after a decade of observation on how engineering teams function: what happens when they run great, and what happens when they go wrong. I’ve been fortunate to have had several teams of my own on which to test out ideas on how to better manage organizations. Lakeway Frontier is a product that captures what I’ve learned and automates away the most tedious, onerous work involved in managing projects and teams.
I guess I’ve been thinking about these things for so long, that they’ve become second nature to me. I forget that for most people, these ideas represent a paradigm shift in engineering management, albeit one that has tremendous potential for improving execution, accelerating decision-making, and reducing workplace stress. Since, in effect, what I’ve been trying to do to this point is lead a management revolution, let’s just call it that.
I’ve started a blog called “Management Revolution” that will have daily posts on what needs to change in order for organizations to run better, especially engineering groups. I hope you find it useful.