Learning to Code

For years I’ve been on the business side of technology.

Software was a black box of objects passing parameters and data to other objects. Conceptually it’s pretty easy to describe those relationships and feel comfortable throwing around names of API commands, discussing the merits of frameworks, and explaining how objects inter-related and the testing paradigms that proved them reliable. If you didn’t probe you might think I had detailed knowledge of the inner workings of these things.

I’m learning to code and discovering it’s not as easy as the concepts led me to believe.

Even for my simple purposes, a data driven niche media web application, I’ve had to learn 4 languages. And by learn I mean that if they were spoken languages I’d usually get coffee when I thought I asked for it – not that I could carry on a conversation. Add to that 1 framework that I know will make things easier and more scalable in the long run – but assumes you’re conversational already so speaks too fast and uses words you don’t understand. And before any of that stuff could work I had to install and configure 3 services for the development environment.

Each component interacts and has dependencies so you can’t produce anything without a rudimentary understanding these relationships. And I just know that in the future I find that elegance and performance comes from deep understanding.

Still it’s possible for me to attempt this because of the great resources and community that develop around each language, framework and component. I’ve used text and video tutorials, scoured forums and programmer blogs for answers to questions, and downloaded tools if they look to be useful. Slowly I’m beginning to make progress.

Of course I could have saved myself the effort and had someone who’s already fluent speak for me – but what fun would that be. It’s not just that I get to decide what this application does (assuming it progresses to the point it does something) its that software fluency gives me an increasing appreciation and understanding of how the services I see everyday operate, and how complex they really are.

Oh! And to all those programmers that I antagonized by asking “how hard can it be” when some business pressure meant a 90 degree turn in code – I apologize. I now know software happens at the level of details not concepts.

3 thoughts on “Learning to Code

  1. It’s tough to digest all of it at once – but props to you for diving in to it! Unfortunately at least 4 languages go hand in hand when developing which makes it a blast!.. right? Ok, maybe not yet. Hopefully you’re enjoying your delicious bites of CakePHP! See you at demo camp on Monday.

  2. Yes Jordan I am enjoying it.

    Joined cakephpforum.org today, posted a question and had an answer in less than an hour.

    Still there are so many concepts to acquire, and so many places to go wrong, that I’m accomplishing in one day what a normal programmer would accomplish in about 15 minutes.

    But I am progressing and I know that things will get easier with practice – an experience.

  3. Pingback: rob_villeneuve = “programmer & web developer”; » Passing around some new found respect // QA Testers

Leave a comment