Tag Archives: work

Creativity and motivation

Imagination is a blight to those who seek to create. The propensity to readily imagine sets up the creative individual for the most frustrating of failures. Here is how it usually goes:

  1. Inspiration strikes. A miraculously useful, unique, and feasible idea is born.
  2. Excitement grows, the floodgates of enthusiasm open, the idea is developed completely.
  3. The thinker awakes from a trance, looks at his finished work, and finds it beyond his resources to realize it.

Count yourself among the lucky if this hasn’t happened to you.

As for me, I’m all too experienced in this cycle. However, it’s only recently that I have had to bear the full force of it; in the past, there was always an excuse to justify lack of proper execution: school. Now that I’m out and the world is my oyster, I’ve had to come to terms with the ease at which I produce sheer genius and find myself inexcusably challenged. So far, I haven’t encountered an elegant solution, but I have discovered some truth that I can humbly share.


A state of humility is key. A humble person is always pleasantly reassured by their abilities. There are geniuses out there, with pride and a certain zest for what they do. I respect these individuals, and find myself occasionally envying their seemingly boundless capabilities. I remind myself that jealousy and competitiveness preclude the mind from the free state that is required for fulfilling success.

There is no substitute for discipline. Provided one can imagine, motivation and enthusiasm about one’s own ideas are ever-flowing. Resist the urge to fantasize; execute instead of indulging in intellectual escapism. As one forces this discipline into place, the skill grows stronger. Until you’re out of ideas, persistence outweighs innovation.

Work can become play. I’m still subscribed to the idea focus is a positive feedback reaction: Focus hard, work hard, get better. As you get better, the frustrating incidents are fewer, the work is more enjoyable, and focus comes naturally. There are those out there who lucked out at being good before work was distinguished from play. My lucky heroes.

Simplicity is golden. Less is not just more; it is the only way to keep the goal in sight.

Don’t share any idea you truly plan to implement. It will invariably cause the idea to snowball. It leads to a sense of guilt at the lack of results as opposed to a sense of pride in results that are actually achieved. Let the process of creation be the mother of invention. I’ve been very pleased with the suggestions offered by my own implementations.


Yes, this is all based on my experience in these short 9 months since graduation. If I were a little less wracked with inspiration, I would probably write more about these observations. Part of me is glad I kept it brief. And if you haven’t guessed yet, I’ve been busy with something.

SILT: Canvas/SVG, jQuery, LESS update

Cover art for my latest mix on boroboro.com. Instead of just photos I'll probably do more stuff like this, as it is fun and enticing.

Whew, a little bit longer than expected between updates, but the reasons for this are soon to be told. First, some things:

  • For my next work project, I’m having to visualize and lay out semi-complex graphs (DAGs, as far as I can discern). I started looking at a Flash-based kit for a similar project in 2008, but these days Canvas-based solutions like the Javascript InfoVis Toolkit are popping up.
    But, as I soon learned, Canvas isn’t really the right tool for this job. the right way to go seems to be SVG, despite iffy browser support. This fantastic article by the Opera browser team has me thinking I’ll use Graphviz+dot+SVG+jQuery. I’m excited and I’ll probably write about it again the future.
  • Speaking of jQuery, I’m learning me all the JavaScript tricks by looking directly at the jQuery source. Nothing like a lean, mean piece of code to teach oneself The Right Way. Reminder: don’t forget to update to jQuery 1.4, which has been a dream so far.
  • LESS is still treating me right; did some rapid development recently, and it worked gloriously. Some observations:
    • One issue I had with LESS recently was getting the mixin syntax working with IE’s filter syntax. The equal signs throw the compiler off. I was doing terrible IE things because I was doing cross-browser pure CSS gradients.
    • I use the LESS –watch option to achieve incron-like effects when dealing with small CSS projects. Unfortunately the –watch option means having to start lessc before doing work (not a big deal) and having to monitor it for when you have errors in your file (it pauses and waits for a return key, kind of a big deal).
    • I just read about less.js, a javascript implentation done by the LESS dudes for on-the-fly, in-browser LESS action, and plenty of new features. Here’s the github page. It’s due the end of this month, but I’m in no hurry.

And if you’ve been missing me, listen to more mixes. Two up since the last Superdrivel edit, a downtempo one and an uptempo one.

What I learned from the gym

You walk into your local fitness center, what do you see? Provided it’s been long enough since the New Year, you’re probably going to see predominantly fit people. And even before you pick up those relatively puny dumbells for the first time, you’ve started to second guess yourself. Maybe the gym is only meant for the strapping Gastons of the world, and you just aren’t cut out for it.

Of course, here’s where the lesson comes into play. If you take a look around and you notice a noticeable lack of people like you, then over time there are two basic scenarios that can unfold:

  1. You leave and the population becomes a little less heterogenous
  2. You become like them and the population becomes a little more homogenous

Pretty sweet setup, eh? All you’ve got to do is stick around and do your thing, and in a matter of time I’m sure you’ll be sporting all manner of muscle.

So here I am, at PayPal, surrounded by people who are, on average, around 7 years my senior, and seemingly 7 times my skill level in programming. At first I was a bit daunted, troubled by the mad skillz of my coworkers. Then I realized that the same people who hired them hired me, and if I just do what I do, I shouldn’t be too much longer than it took them.

In fact, the reason I was daunted was because I am able to appreciate their skill. And that appreciation serves as motivation to keep improving myself and to stay humble, yet confident, along the way.
Ira Glass, host of This American Life on NPR, describes the process for working in the creative field, to which software engineering is no exception. In fact, thanks to benchmarks, easy comparison of solutions, and overall high competitiveness in the field, it might even be a little tougher to be a coder.

Oh, and in case you were wondering, it’s been a while since I’ve been to the gym. But my CSS is getting crazy ripped.

Failure something something personal growth

Update: The happy ending is here.

I wrote an email to my bosses tonight. This one’s kind of special and I haven’t seen many of them around, so I’ve decided to post it here. The background is that I’ve been working on a neat little project for the past couple months. I was really excited to do it and had some fun results. Now, even though I spend a good chunk of time thinking about it, when I actually sit down to program I can’t seem to get it implemented.

This last week I clocked 4 hours, down from 20. I wasn’t sure if that was going to be indication enough that I wasn’t working, so, here’s my email.

Hey XXXX,

I’m writing this email because I have a problem. It’s been bothering me for a little while now and I’m not sure how this is going to come out, but I thought I’d best bring it up.

The problem is that I’m stuck. For the past couple weeks I’ve been unable to do any work on the project that actually feels like progress. I place all the blame on applicable-sounding excuses, like school/exams/projects, but to be honest I’m just not as motivated as I was before. I understand that the idea is to create a usable tool and make it available to people via a friendly interface, and I have a lot of design ideas I feel strongly about, but I just don’t see it being used enough to merit the implementation effort. I’m not sure that I have the full picture on the issue, but it seems like my program, as iffy as it may look and load, does about what you need it to, since it’s only going to be run every few months by a select few people.

It’s hard for me to express it precisely, and also to approach you like this, because I don’t want to come across as though I’m giving up, even though it feels that way a bit. I just feel much better coming clean on the issue. And long story short, I still do want to work on it, but I would like to come back to it in a little while. Or pick it up again before then if I feel so inclined. I just don’t want to keep banging my head on this when I could potentially be working on another project. Not to mention banging one’s head gets old kind of quick. I’d appreciate it if we could talk about this some more, if you have time.

Let me know what you think. This could just be something easily remedied with an expectations-management pep talk or a poignant anecdote, as far as I know. I’m just a proto-professional experimenting with openness techniques. I haven’t seen many guides on how to tell your boss you suck, so I’m guessing you don’t get a lot of emails like this.

Thanks,

Mahmoud

So it’s kind of wishy-washy and not the proudest display. But it’s honest and I feel better. Not as good as if I could wrench this program out of my brain and onto the server, but this way he knows now’s a good time to chime in. Also, maybe I’ll start a trend of circumlocutive openness in the workplace.

Well, I’ll post the result if it works out. Otherwise, I’ll downplay my double failure. I don’t want to turn this into a whiny blog.