Monday, June 17, 2013

The difference between confidence and hubris.

I've had this nagging fear for some time that I'm really not up to coding for a living because of something a teacher said back to me in college.  It's amazing how easy it is to plant the seeds of doubt in a person's brain.  "You're not what I think of as a prototypical code monkey" he said to me ...and then it stuck.

Granted, there were plenty of reasons to be suspicious back then.  Back in college I spent a whole lot of time learning how to be a human being.  I haven't always been very socially adept.  College was my chance to change that.  I'd also been plenty sheltered and college was my chance to change that too.  So while I did a whole lot of exploring, after the first year in college I didn't do nearly enough sleeping or schoolwork and my grades took a dive pretty fast.  It also never occurred to me that I'd need to do an internship over the summer, so that I'd have relevant experience in coding, or at the very least a language I knew well sitting on the top of my head for the next few years.  I suspect that would have expedited my learning curve for programming languages as well as my job search after college.  But such is life.

My first job out of college wasn't even a job, it was an an internship, and while the company looked excellent on paper it left much to be desired once I started working there.  The whole thing was pretty much the work of just one guy, and so it was prone to his mood swings (which were often) and his particular willingness to move things forward (which was random, but not often).  While it gave me some practical experience programming, being exposed to the boss's mood swings left me somewhat traumatized about the whole idea of working/coding in general which was something I carried forward with me.

Jobs later I think I've mostly dropped that particular fear, which is good because it was never particularly rational to begin with.  However, that first doubt has been harder to dispel.  In spite of all the working code I've written, and all the functioning projects that I've completed some part of me still wondered if I was really cut out for all of this.  That's when a job got dropped on me that was a challenge, something that would test my skills so I could see what I was really made of and that's what lead me to the question of hubris or confidence.

I certainly believed when I took the job that I was up to the challenge.  After all, I don't like to set myself up for failure, in addition to being bad for the ego, it's also bad for professional development.  Part of having companies continue to hire you is having something you can point at and say "I did this".   At this point I'm not sure if I can definitively say that I have hubris or confidence, but I do feel good about my efforts in any case and I feel like I've freed myself from the specter of my initial doubt.

That job was in many ways a disaster.  They hired me without testing for any of my technical abilities because their site was on fire.  I started working before I even signed paperwork to say that I was part of the company.  After a week or two in I was working 100 hour work weeks in an attempt to get everything done.  After getting started on the project I had to restart twice, once because someone else offered to help and then a second time because the framework we'd chosen was poorly documented.  My understanding of the person's time that I was working with was way incorrect and as such poor estimates were made for ETA's.  Also, having never worked with that particular individual before I found that we kept blowing up each other's work, although I think his mistakes wound up costing me more time then the tweaks I asked him to make.  At each step in the project as we began to work on something we'd discover that it was infinitely harder or more complex then we had anticipated.  The cart for the website, which was supposed to take 2-3 days wound up taking a week, and some of the more esoteric parts of the website (image upload to CDN and Netsuite syncing) wound up having additional requirements and complications that weren't initially part of their specifications.

While most of these problems are the usual thing that you'd expect as a bi-product of programming there weren't any coping mechanisms in place to help us deal with them.  Not tests of any kind on the old website to determine if things were working or not, no documentation on what pieces went where or how it all hooked together, and at the time we started no way to keep track of the work we were doing, or what we had left to do.  At some point a haphazard attempt to track things was left in github, but those milestones were far too generic to really mean anything.  So when we failed to hit something it wasn't always clear if we'd actually failed, or if it was part of some other piece.

[frontend]
In spite of all of those things, what did go well is, I fucking built that shit.  Even sleep deprived and with the company burning around me as the site went down over and over again I managed to build some very complicated and very awesome functional programs.  Between myself and the other dev we got the entirety of the website v2's frontend up and running.  Login, cart, categories, checkout, email notifications, order tracking, account details, etc.  All done, all polished, covered in CSS and with the usual javascript to make sure everything was in order.

[backend]
On my own, I got the majority of the back end up and running.  There were still some bits and pieces that needed polish when I left, but overall I was still calling that a win.  Total access to all the relevant bits of data in the database, paginated, searchable, sortable and editable, if they had the right permissions.  In particular I was proud of the image upload to rackspace CDN which both cleared out the original images and then uploaded and refreshed new images, even resorting names if something was changed.  You could see the images displayed on the admin page and even do multiple uploads or edits.

[services]
As if all that weren't enough in my short tenure I also knocked out a services layer.  The netsuite sync was initially pretty bad as I'd never built an asynchronous socket daemon in PHP, but given that the alternative was translating everything I did into SOAP xml calls it seemed like the easier hurdle to cross.  The Netsuite sync was bi-directional as well, so not only did I have to set up a daemon (api) endpoint for the frontend and backend of the website to hit but I also had to set up the routing to get information going the other way, which meant writing the Netsuite scripts and having a web server that the Nestuite scripts could hit in order to pass the information to the socket server.  If you think following that logic here is a headache, then you can begin to imagine what it took to set up.  Netsuite not withstanding I also set up an email processing daemon that handled requests to send out emails to users everytime they were triggered either by new user registrations or the like, because apparently waiting 2 seconds for the API call was too long.

In the end my spree of coding was interrupted by breaking my leg which ate a weekend and was going to take me out of the picture for more days for surgeries, errands for the doctor, etc.  While I can understand the companies decision to terminate me at that point because their world was burning and I'd just announced that for reasons beyond my control I was going to take longer, it was also kind of a dick thing to do.

If I hadn't been tired of working 100 hour weeks I probably would have complained more but in the end I felt like I'd proved myself regardless of whatever else anyone had to say about it.  I'd shown that my faith in my ability to code is well placed, that I can build an entire system from the ground up - servers, frontend, backend, database, service layer, etc - that I can build it on my own, and that I can make the pieces work together and scale.  I think that of a programmer that is more then enough to ask of myself since I'd already proven to myself at the last job that I can do the QA side of things as well, and not just produce code but good code.

So, is my trust in myself confidence or hubris?  Confidence, because I delivered on what I believed I was capable of doing.  It would only be hubris if I thought I could do something and then wasn't able to pull it off. But that's not what happened, I just broke my leg before I was allowed to finish :-P.

Wednesday, March 20, 2013

Lonely

I'm tired of being alone.  Finally, maybe, over it.  I don't necessarily mean that I'm tired of being single. I've been dating people for years but lately I haven't felt much of a connection with the people I've been with.  Certainly I'm at least partially to blame.  Not all of the people I've dated recently have really been right for me.  I've known that beforehand and jumped into the relationships anyways... just cause there was nothing else going on.  For that I have no one to blame but myself.

I want to open myself up to the universe and all the possibilities that exist for me on that front, but honestly it's also just painful.  There's just this dull ache in my chest that's been there forever and sometimes feels like it will never leave.  Opening myself up to the world also means feeling that pain all the time... again.  I'm not sure how exactly I escaped it, but as I think about it I've not thought of our felt that pain in a long time.

Each time I date someone, thinking that maybe they are the one I become a little bit more closed when that turns out to not be the case.  The end result being all kinds of scar tissue around my heart these days, and while it means that breakups hurt a lot less, it also means I feel a lot less for the person up until that point.  I think it may just be an issue of not picking the right women.  I don't think that I'm incapable of feeling strongly for someone, nor do I think I'm incapable of trusting someone.  I hope it's just because I haven't found someone (recently) who was worth loving and trusting.  ....and boy does saying that out loud make me sound twisted.  It is what it is though.

I'm honestly not sure where to search for quality people.  I don't think I'll find them at clubs even though I think going to clubs is still useful for other reasons.  I haven't been finding anyone worthwhile by hanging around UCI, everyone I seem to interact with from the college is really young.  Starting to have more parties/hangouts where there are new women around... maybe something will come of that.  I've been doing online dating for a while too... but that's just made me even more depressed.  There are SO many women... and yet... on most of the sites none of them are interesting to me.  It's like I've just seen the same profile over and over again.  Some of the details change but the person never does.

Maybe geek 2 geek will eventually yield something.  Maybe there is where I'll find some oddballs.  Some kindred spirits.  I guess time will tell.  It's not as though I'm giving up.  I am relentless.  Giving up isn't something I do very often.  I'm just grieving I guess.  Yearning.

Today is one day in a struggle for the future I want to have, the one I need to earn and this is just a milestone, a marker of that time, a piece of that future that I don't have right now that I'm explicitly calling out.  There will come a time when I look back on this and check it off, mark it as completed just have to find out how long that will take.

Thursday, March 14, 2013

Reflections on my existence

I always try to take a moment and reflect on my birthday.  It would be really easy to just let that time pass by, but that wouldn't be living consciously.  I turned 28 this year.  I'm not going through any kind of mid-life crisis though, and I don't think I will when I hit 30 either.

The thing about being a belegarth fighter is that I'm already pushing myself to what limits I have whenever I fight.  I train to try and become faster, to improve my shot placement, to just generally become better.  One of the things that I've been getting worse at though, is both my speed and my ability to recover.  Back in college I fought 4 times a week, didn't get a real amount of sleep and often missed meals.  I never had any trouble going out the next day and fighting.  Now after an event or a more extreme fight session it's hard for me to get up and move the next day, let alone go out there and push myself.I'm by no means down on myself though.  There are plenty of younger fighters that I am both still better than, faster than, and have more stamina/endurance than.  Just 'cause I feel old and broken doesn't really mean I act that way.

So my reflection on my birthday is more about what I've done in the last year and where I'm going.  My reflection is also about the balance of pleasure and pain I've sown in the world.  I've always felt like, I started my life  in this world owing a debt to it, because the way I was born sowed such pain.  Sometimes I think I've believed I can never make that balance positive... but maybe that's not the case.  The parents that adopted me have probably benefited as much from my existence, as my birth mother has suffered for it and at this point, even her life seems to be okay now, seems like those old scars are healed.  For all the women's hearts that I've broken I like to think that the time I spent with them in love was worth it.  I don't know if that's the case or not.  For all the friends I've let down over and over again by being late or not showing up to things... I still must be doing something right.  My friends have always been good friends to me, and I seem to be pretty generally loved.  So maybe it's time to forgive my past, and not worry so much about the damage done, but to instead shift focus on all the lives I've touched and changed.  That would probably be a good thing for my psyche.  Might even help fix me... cause I think I've still got some more fixing to do.

As far as my current trajectory (where I was->where I am->where I'm going) I'm actually a bit worried.  I think that where I was (at Sendgrid, as a QA, not really writing code) wasn't a good place to be, and I'm glad that I've left that place.  I think that the woman I was dating wasn't right for me either, that they weren't quite on my level.  I don't regret leaving the job or the woman... but where I am right now sucks.  I am unemployed and single after months of trying to fix both of those things.  Now I worry how long I'll remain unemployed.  I feel like, fixing that is more of a concern for me, because my life is in limbo until it's taken care of.  I feel better about being alone, since that's something I'm kind of accustomed to... but at this point, I start to yearn for my soulmate, my other, my equal.  For the last several years I keep settling for whoever is there, just because I'm so lonely so it's no surprise that those relationships haven't ended well.  I keep thinking that I'm a real catch, and that women would be glad to have me... but I guess something about how I present myself doesn't convey that.  Or maybe the issue is that I'm just not approaching enough women... although that's a skill I'm trying to learn still.

Chalk up under ways in which I still need to improve myself "learning to approach women/people".  Perhaps it's time to make a new list of those things.  My success at improving myself to where I don't have so many obvious flaws has made me complacent.  There are still plenty of areas where I think I could improve myself.  I guess it's time to start improving myself again.  To become more then I am now.

Some of that will be programming skills, which will also keep my current skills sharp, and some of those will be interpersonal skills.  Then perhaps I can actually reflect on where I am, and where I want to go because I think, if only a little bit, I've started to let time blur.

Tuesday, January 29, 2013

New Years Resolutions

I think long and hard about new years resolutions.  The reason for this is that I only ever commit to one thing at a time.  I pick something simple, that is very difficult, something that I think will take me around a year to get through.  So after thinking about it for 2 months I have my new years resolution.  It echoes in my head as "make the water run clean".  I think an easier way to put it would be to term it as "develop a sense of Grace".

[an aside]
Grace is one of the 4 tenants I have for living well.  They go in order as harmony, agency, bliss and grace.  Harmony is about finding your place in the world, living in such a way that your own existence isn't destructive to yourself or the people around you.  Agency is about fixing your life when it reaches a point where you become destructive to yourself or the world around you.  But agency is also how you move from harmony to bliss, the transition between simply existing well and being happy.  Bliss is about finding the thing that you truly want or truly love, and following that.  Whether that's a career goal, some hobby or another person.  In the end bliss is about being extremely happy, about it being bone deep, not just about existing.  Grace is about... being humble after locking all that other stuff in, you can alternately look at it as not taking shit from other people once you've gotten your own life in order.  There is a certain kind of person who gravitates towards happiness only to try and destroy it... so, gotta watch out for that kind of person.
[onto what I was talking about before...]

So... grace.  I feel like I need to get comfortable in my own skin again.  Pick one identity that I'm happy with and just be that.  Not try to sell myself as some other random thing.  Back in college I had a pretty clear identity.  Back when I was in Marin I had a pretty clear identity.  Here... I'm not so sure I've gotten that figured out.  The infamy I enjoyed in college as a womanizer is pretty much gone.  These days I'm not at the parties where I'd find them.  I have a reputation now for making excellent drinks... which isn't so bad.  Also a reputation as an excellent florentine fighter, and I've no qualms with that one either.  The thing is both of those reputations are really more facets of who I am now, rather then some kind of real identity.

So, to make the water run clean again I need to pull out all the toxic things in my life.  Trim the weeds as it were.  I have a lot of junk that I've got laying around my place, and inside my head from past identities.  I feel the need to just start letting things go, whether they are objects or memories and have the who I am now identity take shape from whatever is left over.  Kind of like an artist shaping granite.  Making a figure appear from a slab of rock by chipping away everything that isn't part of the final shape.

So we'll see how that goes.  Some of it will just be me taking the time to invest in spiritual practices, try and open my mind again, and re-attune.

Thursday, January 24, 2013

Unemployment and Depression

At a certain point in being unemployed, the hardest part is fighting of depression.  If your needs are met (you've got a place to sleep, and you won't go hungry) then you really don't have much to worry about.  In the initial period of time for unemployment it's even almost like a vacation.

You get to sleep in if you like, you don't answer to anybody, and you get to do all the things you didn't have time for when you were working before.  But as time drags on, you start to realize that waking up in the afternoon everyday really isn't healthy, and while you don't answer to anybody, you also don't have anything that you're required to do (aside from job hunt).  That means that your day is without purpose (aside from what you can give it) and that tends to make a person lazy.

When the extraordinary becomes the everyday it stops being special... it starts to be mundane instead.  So all that initial thrill just sort of fades away.  At a certain point you realize that you liked the structure of having something to wake up for and times where you had to be.  That the schedule you'd constructed your life around actually meant something to you.  Suddenly all the things that you get to do now that you couldn't do before don't seem that interesting... because you miss the scheduled activities that are now out of sync with your current life.

Eventually you even realize that you have more time then you know what to do with, or that you can be productive with because eventually the place is clean and the upkeep on it isn't too bad.  Eventually you've seen all the movies and shows you wanted to catch up on and there's nothing left to watch.  Eventually you've played your share of every game you own and are stuck searching for something new, because let's face it, you can only play one game for so long before you want to do something else.  Even if you're being productive and visiting places to try to find a job, there's probably a finite number of jobs that are in your area you can apply to.  Even keeping on top of new opportunities burns a trivial amount of time.

After long enough depression sets in, and everything you do seems pointless.  I am glad to say I haven't quite reached that point yet.  Having job interviews helps.  But eventually I'll probably get there too.  The longer you stay unemployed the more acute it becomes as you start to ask yourself how you haven't managed to land a job yet.  The thought eventually occurs to you that the reason why you're unemployed is not because you were looking for something new, but because you were or are incompetent, and are incapable of doing the work required of you by your chosen profession.  And once that thought has gotten into your head, every time you don't get a job, or don't get an interview that thought is just going to get stronger and stronger.  That thought (or some permutation of "I'm not good enough") is why unemployment tends to go with depression.

It's not real though.  Your first instinct in leaving that job was correct and in almost every case the next job you have will be better then your last one, because you have more experience and more skills then you did the last time you applied for a job.  So even when it takes some time... it's probably best to keep one's head up.  A better future is one worth striving for, even if it means a little bit of pain and sorrow in the interim.  Better to suffer now and take a good job later, then get a job right now and hate it for every day you work there.  I've had those jobs and I'm not dying to do that again.  So for now, I suffer, I wonder, and I strive.  I will put my hope towards a job that I actually want to have instead of a job that just pays the bills.

Because facebook is toxic

A long time ago I wrote my thoughts in a journal.  Now that seems too time consuming.  I'm sure there's some redeeming value in actually writing with pen and paper some place where your thoughts are safe... but I'm more a product of the digital era.  I'm stepping away from facebook in an effort to avoid trolling... I guess we'll see how well that goes.  So, lo and behold a new blog.