Programming

On Creativity

This week’s post might get a bit rambly, but I’ll try to provide some scaffolding to what I want to talk about. Incidentally, if you’re wondering why I would say something like that at the beginning of a written piece of work, it’s because I never go back through these posts and edit for content. They are all streams of consciousness and I just proofread for grammar and clarity. I don’t have time to go back and rewrite these to be essays. Which is part of why I came up with this post’s topic: creativity and how I try to make room for it in my life.

Creativity has always been a big part of my life, as it is for everyone really. We all just go about it in different ways. We may not all remember it, but almost all of us grew up with active imaginations because that’s just how kids figure out how the world works. We all grow up with books, movies, TV shows, music, art, and games that suggest new ideas we hadn’t thought of before, and it’s only natural to take those ideas and smash them together into new ones. And once in a while you come up with an idea that is completely new, and if you have the means to get it out into the world then it can inspire millions more after you.

For me growing up, the first outlet that I can remember using for my ideas was through writing short stories and poems. Of course none of my ideas were original back then, I was actually known for taking existing stories and modernizing them. I didn’t realize it at the time, obviously, but I was doing the common thing of adapting an old story for a new audience. It worked out pretty well for me though since a few of them were recognized for being really good for a kid, and one even turned into an actual play that my class put on for my high school.

During high school my outlets grew significantly as I started getting really into music, video editing, and programming. While I never actually got around to picking up an instrument until after college, my desire to play mostly began there when I started going to shows and seeing other friends play in bands. The video editing centered around mashing together songs I liked with clips of video from other things I liked. I had essentially stumbled into making AMVs (anime/animated music videos), and it was my music outlet for a while since I couldn’t make my own music. I did some other video projects in college, but nothing close to actually making a film. And as for programming, it was largely just making dumb websites and calculator games. Looking back on it, I didn’t see them so much as creative outlets as learning how to do it. Unlike my writing and videos, I had no real intention of having my programming projects viewed by others, I just did them for myself.

From college onward, the only real change was swapping the video editing with making music as writing and programming have stuck with me. While I had a great time making videos, it was too time consuming and it would only get worse if I wanted to improve on the skills I had. There’s only so much you can do with other peoples’ works, and to be a real editor I would’ve had to learn how to do effects and other advanced compositing that I didn’t want to learn. Learning to play, and eventually write my own, music was a lot more accessible and rewarding.

And that’s where I currently sit in terms of what areas I want to put my creative energy into. Writing, programming, and music. I know that I don’t have the patience to make videos of any kind these days, and I’ve never had an eye for visual design, whether it be drawing, painting, illustrating, or making graphics.

Of these three, the easiest one to do is obviously programming because that is what I do for a living. And as a job it is rewarding, especially when the end product is both elegant to look at (as code) and useful for others. The second easiest one is writing because it requires only something to write on and your brain. For the time being I am doing it all through these posts, but still aiming to do more. Making music is a little tougher now that I’m not in a band anymore. I have the means to come up with the music, but in order to actually listen to it I need to invest in learning some DAW software to make it happen. It’s either that or get a lot better at playing multiple instruments.

As I just mentioned, I do spend some time on writing these posts, but I want to do more. I would not qualify these as creative, I’m simply writing down what I’m saying in my head about a topic. It has been many years since I actually completed something that I would consider a creative work (the albums with my band don’t count here). Probably not since I did NaNoWriMo back in 2010. I find that rather disappointing.

What keeps me back? It shouldn’t be a surprise. It always comes down to prioritizing doing creative work over other things. I’ve been talking at length recently about passions and priorities, and the writing ideas I have in my head don’t quite reach either one of those driving factors. I think about the ideas all the time, particularly when in bed. Scoping out stories is the quickest way I know to actually fall asleep because it turns off the rest of my brain that’s constantly trying to relive past events. But, obviously, that doesn’t get me any closer to actually having a written story. None of the ideas are so good that I’m mindlessly driven to work on them, so I have to actively set aside time to work on anything. Sadly, playing games and watching videos are easier to do, so I default to those most days.

The nagging doubt is also always there. If I was passionate about these ideas, then I would find a way to make it happen. Since I don’t, then it must not be worthwhile right? This occurs to me all the time, and it’s a big reason why I have been okay with not pursuing these ideas for so many years. My stupid ego wants to see the completed projects because then people will praise my work, but it has largely come to terms with the idea that none of it will ever see the light of day. Making stuff is easy when you are young. You have all the time in the world and you don’t really care if it’s good or not. Now that I’m older, I have no time and my views change year after year, so I find it more difficult to believe that anything I have to say will matter.

I think that last point is the most poignant. While it is not required to struggle to make good art, it certainly helps. It makes it easier to empathize and create themes you want to get across to others. To some degree, the point of making art is to have other people relate to it. And I just don’t see myself as someone with a message needing to get out there. I’m a middle-class white guy, privileged as all hell, and have wanted for nothing my whole life. Basically, the last person anyone should ask for an opinion about anything. On top of that I’m not an expert at anything, so I can’t even come from that angle.

But at the same time I know that if I never get these ideas out of my head, they will never go away. So even if I have nothing important to say, perhaps it’s worth my time just to say I did it? It will always be a hard choice because I have no intention of making doing creative stuff my actual job, so the opportunity costs have to be weighed against just relaxing and having fun. Between time needed to work, commute, eat, sleep, and do the other necessities, I only end up with 15-20 hours a week to do what I want. And of course I want to spend some of that time being with friends and people I love.

I think I’m going to continue taking the fun for now. But I could put aside even three hours a week to work on some stuff, that’d be a good step in the right direction. I can spare at least that much.

Teaching and Mentoring

This seems like a good topic to talk about this week, given that summer is here and I have received my first official intern at my new job. In my almost five years at Amazon, I witnessed five internships seasons, but was never asked to take one on. I certainly did my fair share of helping where I could if we got someone on our team, and it’s no real surprise given my history of teaching and mentoring. And that’s what I’m going to write about today, my experiences with mentoring and why I do it.

I feel like it’s easier to start with the why since that is what has driven the when. Even as early as grade school I knew that I was a teacher at heart. It comes pretty naturally to me and I have no issues with dropping anything I may be currently doing in order to help someone work through a problem. Well, as long as the person asking for the help actually needs it. I do get short sometimes with peers who can’t seem to do things on their own and require constant re-education, but when I know the person is new to something, I can’t help but want to lift them up.

Aside from being really good at it (or so I’ve been told by others), teaching is my form of service that feels the most rewarding. Other people give back by feeding others, sheltering others, fighting for others’ rights, healing others physically and spiritually, etc. And those are all great, but they aren’t for me. I’m okay just giving some money here and there where I think it’s most needed. Teaching though, that’s something I could have made a career out of. Even now, I’m pretty convinced that if I leave the software industry, I’m going to spend my time teaching what I can to others. While I certainly don’t have the time right now, I could even talk myself into adjuncting a class for a local college on top of a regular job.

My initial foray into teaching was simple enough. I don’t remember exactly who approached me about it, whether it was one of the grade school teachers or my parents, but everyone around me knew that I had a brain for mathematics. I was always a grade or two ahead of my classmates. So I was asked if I wanted to run an after-school math class for lower-grade students who were looking to advance beyond their current level. It was only one day a week for a couple months, at least that I can recall, my memory is not great so many years on. But what I do remember is that I had a great time. Planning the lessons, going over how to do things in class, grading papers, all of it. It ended up just being a flash in the pan as there were no follow up classes, but it was a spark of inspiration for me.

From there, pretty much until I graduated college, and even a little bit after that, I was always helping classmates try to understand things that they couldn’t get from the lectures. I never did any official tutoring, but I certainly gave a lot of unofficial sessions. Mostly in calculus, but there were also a lot of computer science topics I could teach because I had prior experience before college that a lot of others didn’t. Especially in classes where the professor obviously had no real world knowledge of what they were teaching (looking at you database administration class).

After college I had no real opportunities to continue tutoring or teaching. During my first couple jobs I was the junior developer on those projects, so I was the one being taught for the most part. But I did get better at explaining myself to peers and getting them to see my way of things. That skill has become super valuable, especially at my current job where I have more sway on policy and direction.

I didn’t get another chance to really teach until Amazon, where I took on more of a mentorship role. While I didn’t get any interns, I did have a couple official mentees, though I wouldn’t say any of them were really that fruitful. I put in a lot of work coming up with mini-lectures and project ideas, but with one exception they all ended before they could get going. The mentorship program there is designed to be driven by the person seeking help, so many people will say they want help but few follow through. That’s just human nature, and also the nature of a workplace where people are crazy busy all the time. So the mentoring was mostly off the books, lending guidance to people on the team who were still new to programming in a real company.

This all leads to now, where I’ve got an intern of my own. It’s a good thing for our team right now because we’re lacking enough development talent to keep up with the pace of the project, and it’s been proving difficult to fill the gap. It’s definitely going to be a lot of work on my head because I have to be there to help and guide him, make time for all my usual work, and I’ve also become the second-in-command for my team, so I have managerial stuff to take care of from time to time too.

Hopefully things will turn out well with my intern. After just a week it’s hard to say what he’ll be able to do in the two months we have him, but he seems to be taking everything in and is eager to make something happen. I’ve done enough work with college students through interviewing and mentoring that I feel like I should be good at assessing where to set stretch goals and where to ease up, and come out at the end with a finished product he can be proud of. We’ll see in August if I’m as good a mentor as I think I am.

My Stupid Ego

I’m pretty sure I’ve reflected on this a few times in the past. I know I reflect on it in my head all the time. This week I want to lay out some thoughts on how my stupid ego causes me to struggle and stress for no good reason.

This is definitely not just a problem for me, most people struggle with their ego to some degree. Even those who appear to be the most selfless on the surface are driven by their egos. I suppose the only real way to get away from it entirely is to become a monk and isolate yourself from the rest of the world. I certainly don’t want to do that, I like living in the world, as do most people. So, we all struggle.

Ego itself is a manifestation of self-esteem, basically how you see yourself. I think it’s safe to say that everyone wants to be recognized for succeeding in whatever they choose to do, whether it is external or internal recognition, and that builds up self-esteem. For better or worse, I am much more externally motivated, I rarely get satisfaction from doing something unless it is appreciated by others. The very reason I am writing these posts at all is because I desire that validation.

So what are the things that I wish to succeed at? What do I want others to appreciate me for? For me, two things were defined pretty early in my life and I haven’t deviated much from it. The first is that I always strive to be liked by everyone. The second is that I want to recognized for my creative endeavors. Let’s break down each of these.

When I say that I want to be liked by everyone, that really does mean liked. Not loved, but liked, and certainly not disliked or hated. I’m sure that this stems from my early childhood where I got picked on a lot and I grew to have a fear of confrontation. To this day I don’t like arguing with people, and when I get hot under the collar it is because someone else is calling me out or yelling at me for whatever reason.

On the surface this doesn’t seem like a bad thing. Trying to get along with everyone is a respectable goal. But, in practice, the only real way to avoid confrontation is to be bland. I take everything in stride and I do nothing to rock the boat or sway the opinions of others. I come across as just another warm body in the room. The result is that instead of being someone that everyone likes, I am someone that everyone forgets about. And that’s where my stupid ego gets in trouble with itself because I want to be liked, not ignored. Yet I can’t bring myself to be more memorable because that necessitates being more open and potentially controversial. Ultimately, if I want to be liked I need to be okay with knowing that you can only be liked by some people if you are also disliked by others. It’s not a zero-sum game here, most people will probably like you, but at least one person is going to dislike or hate you, and I am trying to be okay with that.

This is not to say that I am completely forgettable. I have plenty of very close friends who like me and think about me all the time (I assume). They know that while I may not be the most opinionated person out there, I am certainly one of the most dependable, and the few insights I do express tend to be novel and accurate. But it does take a very long time with most people I meet to get that across. My stupid ego would probably prefer it if it took a little less time.

Between the two things I want to succeed at, the creative side is probably the more frustrating of the two. My stupid ego wants me to produce way more than I do, which is almost zero, but year after year passes by with little to show for it. There are three obvious reasons for this. One, going back to what I just talked about, I find it difficult to be motivated to do much because internally I feel that no one really cares about what I do. This stems from the feeling that most people find me forgettable. Two, I have a lot of interests and I have a lot of trouble picking with one and sticking with it long enough to actually produce something. Three, due to a combination of the first two points, I don’t prioritize doing creative things so I never make time to do them and nothing ever gets done.

On the first point, making something creative requires that you take a stand on something. And when you train yourself from an early age to not express opinions to avoid confrontations, it is hard to reverse that. So when I try to approach writing something, I ask myself why anyone else would read what I write. For the most part, I can’t come up with anything, which is why I rarely start on anything. I get an idea that I think could make a seed for a cool story and I work on it in my head, but I can’t think of what makes it worth someone’s time, so it just remains there in my head until I deem it otherwise. The positive is that over time the ideas do get better as I gain more experience and they reflect how I see the world now, but that doesn’t get them any closer to being in front of others. One of the reasons why I’m posting every week is to try to get more comfortable with producing half-baked ideas.

The second and third points might be harder to contend with. So many interests and never enough time to do them all. Prioritizing has never been my strong suit and it only got more difficult over time as I got more obligations and free time shrank. At any given time there are a dozen or more activities that I could do and be perfectly happy doing. Not only are there a bunch of options, but I need to decide how much time to devote to each. I can either try to get to them all and spend small amounts of time on each, or give more time to a few. These days I’m going with the latter, dedicating each evening to one activity so that I can focus and hopefully be more effective. Most people who do creative things for a living will tell you that you need to do it everyday to be effective, but I’ve tried to do that multiple times to little success. It tends to scatter my brain too much, I’m a lot better at giving something multiple hours and getting into a flow state. Whatever it takes to keep my stupid ego from being upset at not getting anywhere.

In the end, will I ever really be recognized for the things that I want? I certainly hope so. But I also need to come to terms with the idea that I may never get there, and my stupid ego is going to have to be okay with that.

Learning Languages

On the whole, I feel like I have a pretty good grip on the English language, but when I tried to learn German in high school, I struggled quite a bit with it. I do still remember some of what I learned back then, but I’m hardly conversational. But more recently, I’ve been learning French to try to be conversational enough for when we visit France next month, and I’m finding it much easier. There are still areas where I struggle, but on the whole, I’m learning much quicker than I ever did in school. I have to wonder why that is.

Programmers Probably Make Good Linguists

I think the answer lies in the fact that I am a programmer. Programmers are required to know multiple languages to do their jobs, some more than others. In addition to needing to have several languages, you also need to know frameworks that work with those languages. The equivalent for spoken languages would be that English, for example, comes in many forms that are used at different times: sentences, questions, paragraphs, prose, poems, legal, dialogue, etc. And each of those forms will have subforms, such as different meters for poems. Different dialects for a language are also like a framework, though it may be closer to having different versions of a programming language, depending on the context.

So over the course of many years, I have had to learn dozens of languages and frameworks to do my job. This is a bit easier than spoken languages though because, for the most part, programming languages all follow similar patterns and syntax. And unlike spoken languages, figuring out how to do something in a new programming language is often much easier (95% of your problems have already been solved on stackoverflow). So, transitioning is generally easier with programming languages.

Still, I do feel like once you get used to having to learn a lot of languages for programming, it makes learning spoken languages easier as well. I know that with French I apply more logic to it than I ever had with German, so most of the time when I stumble it is because of some non-standard rule (which there are plenty of). I’m probably still a ways off from being really conversational in it, but I’m going through the lessons very quick, and I’m retaining more and more as time goes on.

The Inflection Point

Which brings me to another thing that I’ve noticed, and it is something I’ve heard before but never really gave much mind to. The inflection point is the idea that when learning something, you will get into a rut where you struggle more than usual, but then you suddenly hit a point where it gets a lot easier. This happened to me about three months in on my French lessons. I got to a point where I could just remember things better. It’s really hard to explain how or why, but it’s apparently very common. I noticed it previously with learning guitar and drums as well. You just get to a point where things you were struggling with are suddenly easy.

And the best part is that there are multiple inflection points on the path of learning. It’s like having a real-life level up. A lot of people assume that you get to be an expert after spending 10,000 hours on something (most likely getting the idea from Malcolm Gladwell), and that the progress is linear. That’s not the case at all though. At zero hours, you know nothing. At 10 hours, you have the basics. At 100 hours you hit the first inflection point and start feeling good about your progress. But the next inflection point may not be until the 300-500 hour mark. And then the next one may be at 1000+ hours. Since mastery is a game of diminishing returns, each inflection point takes longer to get to. This is why most people eventually give up on being an expert, the rewards get harder and harder to reach.

While that can be discouraging, it’s good to know before going into something. If you really want to get good at it, the time to mastery graph is logarithmic (meaning that each point of mastery takes more and more time as you go up). For me, I don’t intend to ever be an expert at anything aside from programming, as that is my job and my biggest passion. Everything else, I’m fine with being better than most (which isn’t that hard since most will never even start).

...

Incidentally, if you want to learn a language for yourself, I highly recommend Duolingo. They only support five languages (assuming you speak English) so far, but the way they do it is great and the iPhone app is my primary means of learning. And I’ve learned the hard way that when they say you should practice every day, they really mean it. When I was struggling I would not want to do it, so I would let several days go by without touching the lessons. But when I forced myself back into doing it daily, the lessons got a lot easier. It also allowed me to hit that first inflection point faster.

Merci beaucoup pour lisent!