Thursday, March 5, 2015

Meetings are not my favorite

We'll make this quick

No, you won't.  You'll drag me into a room, you'll hook up your computer to the AirPlay. You'll answer 'one quick email' before the presentation starts. Someone will go get coffee.  We'll sit there. What was a 10:00am meeting is now a 10:07am meeting.  10:12am. Okay great we're getting started. I think.  Right?  Okay yes it's ten fifteen and we're all here and now the meeting is starting.  Awesome.

One of my favorite things to do while I'm at work is to actually work.  I like it.  I'm good at it.  I enjoy using my hands (yeah, I'm a prick, I'm not doing anything particularly manly, I know) to actually build something.  In my case it's web applications.  Whatever it may be, I like to sit there, nose to the grindstone, and put my mind through it's paces. I get off on that.  It's my favorite.

My least favorite thing is a day when I don't feel like I've gotten anything accomplished.  A day when I feel like 'Damn it, I could have done so much more today' is a terrible day to me.  It's a loss.  As that repetitive ad on NPR keeps telling me every morning 'Steve Jobs said our most precious resource is obviously time,' I don't want to waste it.  I want to be able to sit down at the end of every day and have meaningful accomplishments I can look at.  Problems I solved.  Shit I got done.

Meeting Monsters

When the inevitable Meeting Monster sneaks up, he threatens to take that away from me.  Is this meeting critical to my job function?  Is this meeting going to improve what I'm doing?  And maybe this isn't all about me: maybe you need my help.  Is this meeting going to help you do your job better through something I can offer you?  Will I feel like I accomplished something by aiding you?  If the answer to these questions is 'Yes' then okay.  Swell.  Let me grab my mug and we'll do the damn thing.

If the answer to these questions is 'Well...' or 'I think so?' or 'Shut the hell up!'' then can I please, pretty please, skip this meeting? You don't need me, I don't need this meeting, let me do what I'm getting paid to do.

If I am sitting at my desk being productive, really killing it, pushing out work that would make Da Vinci cry tears of joy, then I don't want to get pulled into a meeting to discuss paperwork formatting or whether or not the copy is correct on the About Us page.  Someone just make a decision on that and we'll implement.  Never in the history of websites has there needed to be an All Hands meeting on which headshots we should use.

My John Mantra. Or Johntra.

On my team I try to keep my meeting style to this simple concept: "Is this meeting moving the business forward?" There can be no wheel-spinning, no jawing, no contemplating theoreticals. Are we making concrete important decisions or solving important problems? That's the goal. We should walk out of a meeting energized and smarter and ready to crush our next task.

Now, don't get me wrong.  Sometimes we just need to sit down and shoot the shit and chat about whatever.  Open forum-style.  The brain can't run at 100% for 8 hours a day every day.  It will literally, and I mean this in a very scientific way, melt out of your ears.  You need breaks in the monotony.  You need to hit the reset button.

But in my opinion and in my experience, scheduled meetings are almost never the way to do this.

Saturday, February 28, 2015

Read books. Feel like shit. Repeat.

They are those things made out of sheets of paper

I've been reading a hell of a lot lately and it made me want to write. I guess much in the same way that you watch people play sports on TV and so you go outside and throw a ball around. Except in this case it can be done from the comfort of a chair I bought at Ikea.

This reading tear I've been on has run the gauntlet from Oscar Wilde to Charles Bukowski to Jhumpa Lahiri.  One of which is one of the most important thinkers of the late 1800's (according to me) and one of them is the filthy version of Kurt Vonnegut and one of them is named Jhumpa.  It's always a good idea in my opinion to get your paws on whatever you can and read it.  50 Shades of Grey? Fine, whatever.  Hamlet?  Go get 'em, tiger.

When I'm reading, one thing that I love to do involuntarily is to assume that the writer is speaking directly to me or about me.  Oscar Wilde is talking about how when we're young we are beautiful and incorruptible and have the world by the balls.  That's great! That's me!  Bukowski is telling me that no matter how much of a miserable asshole I am, as long as I'm pretty good at something people will always be drawn to me. Excellent! Carte blanche!

Say goodbye to your ability to think

I think my generation and younger are losing our attention spans.  Especially for books.  We read tweets that are 140 characters or less (no exceptions!).  Facebook posts are often no more than Instagram posts: photos of something with a little blurb.  We have our faces glued to our cell phones.  Trivia Crack.  Candy Crush.  Goddam Snapchat.  How often do you see people on the bus or on the bench reading a book?  You actually probably remember those people because of how subtly out-of-place they seem.  Who the hell is this nerd reading a book?  Ding! You've been invited to play FarmVille!

When you're reading something interesting you're experiencing something interesting.  You're learning what it's like to be an older, alcoholic writer who is terrible with women but makes it to bed fairly often.  You're learning what it's like to be a spoiled dilettante in 1891 London.  When you're playing Trivia Crack you're learning that the Broncos won the Superbowl in 1999.  Neat.

So what?

So you want, if you've read this far, for me to give you a moral of the story.  The moral of the story is - predictably - pick up a book.  Shut off your television.  Give Netflix a break.  Take a breather.  Let your mind do some of the work for you.  You'll thank me later.

Here, read these:

  1. Fourth of July Creek by Smith Henderson
  2. The sun also rises by Ernest Hemingway
  3. The Picture of Dorian Gray by Oscar Wilde
  4. Women by Charles Bukowski - Don't tell your mom you read this
  5. The Godfather by Mario Puzo - It's better than the movie(s)
Read two books and call me in the morning.  I personally am going to go watch Season 3 of House of Cards. Peace.

Wednesday, May 8, 2013

Alarm Clocks


An article about alarm clocks and my need to post an article about any topic right about now

The alarm clock. The mortal enemy of all that is good in the world.  The worst thing to happen yet, every single day of the week. The thing about alarm clocks is that if you're 'doing it right' you don't even need one. But we all do. Everyone.  It's terrible.

I digress.  Which, if you think about it, is a term used way too loosely.  I didn't actually digress.  What did I even digress from? Nothing, at all.  I started talking about alarm clocks and ended talking about alarm clocks. There was no digression there. Well, I did start talking about 'doing it right', which I guess could be considered a vague digression, but not really. Maybe I just say things.

Maybe this entire piece is me just saying things for the sake of saying things. Who knows? Not this guy.

An actual digression, I think

I always thought that people who really knew wine were kind of pretentious when they talked about it. I mean, it is pretty pretentious. I don't know a situation where you can talk about wine and not sound like a dick. Unless you really are just obsessed with wine and you really want to bore people with the details. Then it seems like you just love the hell out of it and you're just a little kooky. That's not disingenuous.  That's cool with me. But still, be careful about it. You don't want to be a dick.

Same thing with beer. I always thought it was a bit clownish to get into it like that. Now, shameless plug, brewing beer has really opened my eyes (and nose and mouth) to beer in a new way. I was in love with beer before, but now I'm really into beer. You know? You begin to really be able to pick out the smells and flavors and feelings in your mouth that matter. It's very strange the first time you taste a beer and say 'this is way too grainy'.  And you know what the hell you're talking about.  It's still a 'good' beer, but there's an aspect of it that drives you a little crazy. Like, how did they not realize this was so unbalanced before they shipped a billion bottles of it?  See, this is me sounding like a dick.

This article has absolutely no cohesive elements, and I think that's why I'm going to post it.

Obama bless us, everyone.

Tuesday, April 23, 2013

I just gotta be me


Intro that I added later on


The morning time is the best time for writing.  Without a doubt.  I'll pop open the laptop and open the text editor, and things will just start coming out.  Most of it is garbage and I'd never post it anywhere, but some of it's not bad, especially when I have an idea that moves me.  Like this one, for example. It calmed me while exciting me, and I think that's a killer combination. Whether or not I translated that into something that makes sense, you can decide, I guess.  Probably not, though. I tend to ramble.

You gotta play to win


I think I've just had an epiphany about myself. I need to figure out the handful of things that I really enjoy and can really excel at, and build my position and career around those things. I thinks it's silly to spend a god awful amount of time scrabbling to better myself at something that I hate just so I can say I'm good at it, when I can easily surround myself with people who balance out those things and can do them instead.

For example: sales. I'm never going to be a veteran salesman. I just don't have the tenacity and good natured communication skills to cold call people to drum up business. I don't have the patience or the stomach to continually check in on leads and make contact with people who hate hearing from me. So I'm not going to. I'll be a salesman for my work in another way, by building awesome and easy to use products that help the people who do sales sell them to our customers.

I need to focus on feature ideas, product, and the road map. Those are my core competencies. I'm also good at public speaking, for whatever reason, so I think I can be a good voice for the company. And by this, I don't necessarily mean in a board room or in a meeting room, showing a product to a flock of stakeholders.  I mean giving a talk to other tech people as part of an event or standing on a milk crate on Fountain Square preaching the pitfalls of premature optimization to random citizens.

That last one was a joke.

Never date yourself, I don't think


In seriousness though, this goes beyond work. I know I normally talk about professional topics, but complementing your situation with other people personally is just as important. Dating specifically: you don't want to be dating a female (or male) version of yourself. You need someone who can be strong when you are weak. Who can be thoughtful when you're acting stupid. Who can make breakfast when you're hungover. If you find that person, marry them. Or at least pretend you're charming so they stay for a while.

I'll probably never win an award for my design work and I doubt I'll land any huge accounts. And that's okay with me. My personal desire to be better than everyone at everything doesn't help anyone. In fact, I'd say it hurts. I need to let people who want to excel at those things do it, and push myself to be the best at what I love.  And then we all win.

Monday, April 8, 2013

Side Project Hell


Languishing.

That's a prime word I would use if I was held at gun point and told to describe how my side projects are going. Normally, sans the threat if imminent death, I would say my side projects are growing organically and on the verge if completion.  Not really accurate. Full of shit, mostly.

I've preached again and again how vital it is to a web developer to have side projects, to flex your mental muscles. And it's true, that stuff is critical. And it makes you awesome. But it seems like I get 80% of the way through a project, get sidetracked with work or something else, and never finish. Damn it.

I always say to myself, "John, you're so damn good looking."  And that's a topic for another post. But then I say, "Johnny, what if you had 500 bucks coming in every month in passive income?" And I think, well damn you, me, why don't you have that?? I feel like I start a new ambitious side project every 2 months with grand intentions of seeing it through. Arg.

So, what then do we do?

So, what's the answer to this perplexing dilemma?  I know I ain't the only web dev who has a graveyard of near-towards-completed projects out there, shaming me. Taunting me. Giving me the finger.

Part of the problem, I think, is that we work on side projects to try something new and exciting.  Like Node + Express.  Or Angular + Rails.  WHATEVER it may be.  And you realize, after say, 3/4 of the work is done, that you either love the tech and want to use it at work, or you decide you really don't love it and don't want to use it.  Either way, you've lost the 'newness' of the whole experience.  It just becomes either an extension of your regular work, or it becomes a pain in the ass.

So, the answer, I think, is to either A) be a grownup and finish a project.  Get pretty goddam serious about it and just bear through it. The feeling of newness is great, but the feeling of getting your first customer on your own is 20x greater.  And, B) work on some of your side projects in your favorite language/framework/tech.  Like Django.  If we all did our side projects in Django, I think we'd have a 100% conversion rate.

Think about it.

Wednesday, April 3, 2013

Drive Yourself Crazy


I couldn’t find my car this morning.  I got up for my 5:30am workout, headed out to the parking garage, and my car was not where I normally park it.  It was gone.  I pressed the lock button a few times on the key fob and mildly scanned the level where I expected my car to be.  It wasn’t there.  My mind, still mostly asleep at 5:05 in the morning, started to pick up speed.  ‘Oh, shit.’

That’s when I realized, I haven’t been in or even seen my car in over 60 hours.

I had come home later in the afternoon on Easter Sunday and decided to play it safe and park in the basement level of the garage.  Sometimes the top level, reserved for residents in my building, gets full and you have to exit the garage and circle the block to try again.  Not wanting to mess with that scenario, I went burrowing.  I was initially confused, thinking my car was towed. But then I was thrilled.  I realized that I never worry about my commute ever.  I live downtown and I work downtown.  I have a bunch of friends and coworkers that live downtown.  I can shop, drink, eat, work, exercise, get accosted by bums, and everything else you would want to do.  All within 15 blocks of my apartment.

The number one complaint I hear from my suburban dwelling compatriots is the commute to work.  An hour each way.  HOLY SHIT.  If I spent 2 hours of my day in a car 5 days a week, I’d go crazy.  Do you know how much more stuff you can get done with TWO EXTRA HOURS IN YOUR DAY? I can waltz home from work, make and eat dinner, and watch an episode of Psych on Netflix, and you’re still in your car. Driving.

Terrible.

If not for a handful of things, I could live without a car.

Living in an urban core is an adjustment at first. There are no yards. I do not have an entire house to myself. If I want to lay in the grass I have to seek it out.  I don’t get the privilege of mowing my lawn, shoveling my driveway, cleaning my gutters, or yelling at neighborhood kids for riding their bikes on my lawn.

But then living downtown becomes ridiculously awesome. If you can focus on living your life all the time, instead of traveling from one place to the next, life changes pretty dramatically.

I realize that where you live is a highly personal and highly opinionated choice.  You like lawns and minivans and the illusion of home ownership (the bank owns your house, btw). I hope you enjoy it! I’ll be downtown, spending $20 on gas a month, sitting at my rooftop pool, drinking a beer, never worrying about carpools or DD’s or traffic.

Plus, you should see these calves from my daily walk.

Wednesday, March 20, 2013

Teach a gal (or guy) to fish


One of the more rewarding parts about being a not-even-slightly renowned web developer is getting to share that skill.  For the past few months, I’ve been an instructor with the organization Girl Develop It Cincinnati.  I’ve been teaching classes of mostly women intro courses in HTML/CSS and JavaScript/jQuery.  It’s been awesome as hell.

I got into it through this wild child named Erin Kidwell, who runs the chapter here in Cincy.  She could see that I was loudmouthed, boastful, and cocky. Or, perfectly suited for molding young minds in the fine art of web dev.  I TA'd for another instructor first, then she took the muzzle off me and I went at it.

What they get, those lucky ducks.

Web development is a tough nut to crack. And if you’re a women, it’s a tougher nut.  I’m not going to tiptoe around the fact that we do sort of run a boys club.  No one thinks it’s because we don’t want women around, it’s just seen as 'a guy thing' for the most part.  I don’t know why that is.  I could speculate, but I don’t feel like it.  That is also not to say that there aren’t plenty of female engineers, programmers, coders, and widget-wielders.  There are.  But that number pales in comparison to how many dudes are in the club. It’s a little musky in here, is all I can say.

Anyway, the benefit comes in a couple of ways.  One, it’s inclusive of women. It gets them into a place where they can ask questions, learn in their own style, and be surrounded for the most part by other women doing the same thing. From my own limited perspective, this works great for women. They are great collaborators and sharers.

Two, it’s cheap as shit.  $80 for four 2-hour sessions and one supplemental session on a Sunday morning.  Plus, as long as you’re a student you can email me any time with questions that I try to answer as promptly as possible.

Three, it’s just a great way to get out of the house, get out of the ordinary, and do something fun and useful. Tons of the gals tell me they are in the class to beef up their resume, or to work on their blog, or to help with the company website, or they are designers looking to move to the web.  It’s great. They are taking the reins.

Note: I have no idea what women are thinking about anything.

What I get out of all this

From my experience, teaching is ironically the best learning tool.  You might think you need to be an expert in the field to be a great teacher, and I think the converse is true.  As someone who spends 95% of my time on back-end web dev, teaching specifically for the front-end has taught me a ton.  I have to actually think about how and why something works well enough to be able to explain it to complete novices.

It’s not any easier for me to explain python to a beginner than it is to explain some CSS that I just learned that same day.  Actually, with new concepts still fresh in my mind, it’s a bit easier to verbalize.  Make sense? No? Good!

It's also a great social tool.  I really believe that we build our lives on experiences, meeting new people, and learning new crap.  That's exactly what this is.  I learn every week from these gals. I meet people with different perspectives, lives, views, hairstyles, etc. It's rad.

All in all, teaching has been a great thing for me.  I recommend anyone and everyone with the inclination to be the center of attention for a couple of hours at a time to stand up there and teach some people about web dev.  There’s been a huge push for people to learn programming, and for most people it’s a lot easier to learn in an interactive environment than it is to learn on their computer in their basement.  I don’t know if that’s actually statistically true, but it sounds accurate.

So, get your ass out there and teach.  Or, if you need to learn, get your ass out there and learn.  Here are some links to help you get started:


Monday, March 11, 2013

Cincinnati Startup Scene: An Epiphany


I had an epiphany about working on a startup in Cincinnati.

There is a much different tempo, culture, talent base, and overall timbre in Cincinnati than there is on the ‘coasts’.  Things are a bit slower, less electric, and a hell of a lot smaller.  This rant could probably be applied to many cities across the midwest where the startup scene is trying to explode, but for my own selfish reasons I am going to apply it only to Cincinnati, which is the only place I’m interested in seeing actually explode.

This epiphany I had was started by reading one of those blog article/profiles of some guys who started a checkin app that debuted at SXSW a couple of years ago. You can probably guess it.  There were pictures of the founders head shots.  One of the guys had this smug, shit-eating grin that drove me crazy while I was reading the article.  I wanted to grab him by the front of his shirt and shake him.  Not really professional, but something about that cocky grin was driving me crazy.

And that’s when I realized that’s exactly what we need: swagger.  Please note: I do not under any circumstances approve the use of the word ‘swag’.  If you say ‘swag’ in normal conversation we can never be friends.  Anyhow.  We need some good old fashioned ball-busting boasting, gloating, obnoxious self-aggrandizing.  Someone in Cincinnati needs to be shouting our names from the rooftops.  We should be smiling smugly at chumps reading blog articles about us.

Oh, and we also need to build shit that people want to shout about.  Yes, we have plenty of great startups here, some really brilliant people are working on them.  And that’s awesome.  It’s a beautiful thing.  We need better than that.  We need game-changing, SXSW rattling nonsense.  Who cares if it’s a flare-up and burn out?  A couple of jackasses need to whip up something intense and insane to show off.  The guys at CrowdHall seem like a good combo.

How about Lisnr?  Use that sonic beacon technology to organize a flash mob or Harlem shake at city hall or in the casino.  Piss off someone.

Once we get some excellent, shallow, loud, explosive PR surrounding stuff and pointing it all back to Cincinnati, we’ll start getting the attention we deserve.  I’m getting sick and tired of telling this underdog story.  We have one of the top accelerators in the country, ... and all that other crap people always tout.  But do you think people really see us as a viable option to the coasts?  Come on.
We have the potential here to be ridiculous and eccentric and gravitational in the startup world, let’s just goddam do it.

Our next Startup Weekend should have the theme: “Balls to the Walls: Shake Shit Up.”

Wednesday, March 6, 2013

Open Letter to Rockfish


Dear Rockfish,

You have given me more in the last 18 months than I have given you.  You have been a kind and loving companion.  I will never forget that.  You picked me up when I was down, you carried me on your shoulders when I was drunk, and you overall lifted me up to the level I am today. I hope in some small way I left you in a better place than you have left me. I love you.

The day I started at Rockfish, I knew I was in over my head.  I was a little fish in a big pond surrounded by scary other fish who seemed to know what the hell they were doing.  I had no idea what I was doing.  I think I was the living, breathing incarnation of ‘fake it ’til you make it’.  But I faked it, and I buckled down, and I copied smarter people’s work, and I become a 10x better developer because of it.

I would not be the greatest developer in the world were it not for you.

Actually, there’s a 14 year old kid in South Korea who is a little bit better than me, but I’m a damn close second.  And it’s because of you.

We have shared a hell of a lot of laughs, tears, and everything in between.  We’ve been thrilled together, sad together, and utterly furious together.  We’ve seen friends, clients, and people we don’t really know very well come and go.  Alison has scolded each and every one of us at some point, and it hurt us all the same.

I really, truly, and plainly will miss you, Rockfishers.  All of you.  Every last person in the office is special to me in some way, big and small, and it really does break my heart to think I won’t be around to shout unnecessarily at some of you from the length of the office, or to accost you for eating meat (which is gross, by the way).  And who is going to sneeze without covering their mouth, abruptly and as loudly as possible? I feel like I’m actually on good terms with everyone in the entire office.  Yes, even you.  Now that I think about it, I think I’m generally on good terms with everyone in the company. Now that’s a hell of a track record!

If there are any take aways that I want to keep for myself, they’d be along the lines of ‘always strive for perfection’ or ‘good enough is never good enough’ or some such thing.  In a company this highly regarded there is always someone better than you.  And by you I mean me.  You can’t be a joker at Rockfish.  If you strive to become the best possible at what you do at a company like Rockfish, you will be in an elite group if you ever make it there, trust me. There are people who don’t even have my same job who are better than me at it.

If there is anything I wish I could leave for my coworkers, it would be (appropriately) “Never be afraid to be silly”.  Work is serious business, I know that, but you always have to take the time to laugh at yourself and laugh at everyone else. You get one shot on this big blue rock, and you should laugh about it every day. Work will be there in the morning when you wake up, I promise you that.  If you’re not having fun, you’re doing it wrong.

Last thing: Someone call me, goddammit.  Invite me up for happy hour. Now that I can’t be fired for drinking too much, let’s see what the keg is up to.  I’ll finally let my hair down and be my real self.


Yours forever.

John David Back

Tuesday, February 26, 2013

Standing Desk, 4 months in review


Preamble


First off, I want to say that I was the first person in Rockfish to get a standing desk. There has been some conjecture, but I’m the clear winner.  No more discussion on that.  Anyway, it’s definitely been interesting.  There seems to be a big difference between standing for 8 hours a day vs sitting for 8 hours a day.  Weird, huh?

How I did it


How I actually constructed the standing desk is almost comically easy.  I bought two LACK tables from Ikea (7.99/ea), a shelf (1 dollar), and two brackets (like 49 cents each?).  For total of really effing cheap.  I just set them up on my desk and that’s it.  I am now better than everyone.



I drilled the brackets into the legs of one of the tables, the leftmost one, and put the shelf on it.  I also duck-taped the brackets to the leg because they are hollow and I knew that one ill-placed elbow was going to send my forehead straight to the corner of the desk. That would suck.

John, how has it been?


Thanks for asking!  It’s actually been very good.  The first week or two are the most noticeable.  You don’t get as tired after lunch.  You don’t find yourself being lazy or closing your eyes early in the morning.  You focus more.  I get more excited and exclamatory as I’m coding... I wave my arms and stomp my feet and generally irritate my deskmates much more than I did when I was slumped in my chair pretending to be awake. (Just kidding, Rockfish, I was always awake)

Secondly, it makes you a hell of a lot more sociable.  You walk around more.  You talk to your neighbors more.  You’re generally more likely to walk around to see someone else’s screen.  I don’t know about every work place, but here we often IM when we could talk.  That’s often because we’re  complaining about some bug we can’t fix and our diatribe is laced with profanity, but still.  Now I can curse from a standing position vocally.  It feels better.

Overall, it’s just been a great experience.  I’d recommend it to anyone.  I also got a tall stool that I can sit on if my knees get tired, which they do sometimes.  I also walk to work about a mile so sometimes my feet are hurting.  I do need one of those anti-fatigue pads.  But I’m too lazy after standing around all day to get my ass in the car and buy one.

Anyway, let me know what you think about standing desks!

Edit: People are saying the image of the desk is too small.  So, here is the largest one I have.  You'll also notice I bought a 'TALLASS" chair from Ikea, it was 4.99 or some such nonsense.

Thursday, February 21, 2013

Which tools should you use? Don't ask me.


These questions bug me.  Not from newbies, but from experienced developers.

Note: When I say tools, I mean anything: language, framework, IDE, OS, whatever.

Stop worrying so much about which tool you think is going to be the best for any given project.  It’s ridiculous.  Just pick something and use it.  If you love it, that’s awesome, keep using it.  If you don’t love it, stop using it and try something else.  These spirited debates are always kind of funny to read, but they are completely impractical and pointless.  Someone is always going to think that Rails is for posers (I think that), and that Django is for solid devs (this is actually a fact, not an opinion). 

Why the hell do you care what I think?

Even though I may do this for a living, that doesn’t make me righter than you about which tool you should use.  If you know at a basic level that the tool you’re looking at can, in fact, accomplish the task you are trying to accomplish, then it’s simply a matter of what tool feels good in your hand.  What can you see yourself hammering away with for all of eternity?

Just kidding, you're going to die in like 40 years.

But seriously, quit being a whiney crybaby and asking strangers on the internet to tell you which tools to use.  Get your slender, feminine little hands dirty.  I’m embarrassed for you.

A great way to get those soft, delicate hands dirty is to just do the tutorial on the website.  Looking for a javascript MVMM or MVVM or whatever the hell it is?  Try knockoutjs.  They have some of the best formatted tutorials on the web.  Give them a shot.  Looking for a crappy tutorial that isn’t helpful at all?  Try nodejs.

That brings me to another point: GET SOME BETTER DOCUMENTATION! Jesus it’s not a herculean effort to spend 2 hours writing up a really good tutorial for potentially thousands of people who use your shit.  You have to cater to the lowest common denominator if you want to get people through the learning curve unscathed.

Damn, buddy. You’re killing me.

TL;DR

This took a weird turn.  Anyway: Just jump right in and use things. That's the only way to figure out what you like.

Wednesday, February 13, 2013

Ship first, ask questions later.


"If it fits, it ships."

That’s a hell of a tagline used by the USPS to describe their flat rate boxes.  The USPS, by the way, is the best shipper in the country, hands down, but that’s a topic for another post.  Full disclosure: I do think the government can get it right some times.

Anyway, that’s not what this is about.  When I hear the phrase “If it fits, it ships,” I don’t think about red white and blue boxes, I think about MVPs.  MVP is such a loose term these days, everyone uses it to describe their product, and their product is never a true MVP.  I believe in a militant style of minimum viable product development.  It should be small in scope, and then cut out 25% of that.  Then ship it.  Whatever you can fit into that iteration is what you ship.  Make the original timeline you set out for yourself.  Timelines always get pushed.  What you think will take 8 weeks takes 12.  Or 14.  

My theory is: Ship whatever the hell you have finished in those first 8 weeks.  Then keep working.

You’ll have 100% more customers with a half-finished product that's actually on the market than you will with something that only lives in development on your laptop.  I promise.

[Redacted Yoda quote about 'doing' and 'trying']

In this modern web world, it’s those that can ship products that will win the race.  The race is to market.  People get confused and think that their idea is their baby, and they don’t want to be the mother with the ugly baby.  I promise you, by the time you’ve built a gorgeous baby, someone with an ugly baby is already getting paid for their ugly baby.  Sorry, you just missed the baby boat.  It sailed.

I treat writing the same way.  You don’t know it, but I just deleted 50 words I didn’t like.  This article is an MVP of it's own.  A crappy one, I admit.

The Takeaway

You might be asking yourself, “What the hell has this guy shipped?”  And to that, I would like to say: “Shit, I work for an agency.  Do as I say, not as I half-assedly do.”

Friday, August 31, 2012

Make the Work Awesome

Or just be good at kicking ass

Working full time and working as a part time CTO has drawbacks, which I've covered. That's played out.  A lot of blogs talk about how hard it is to work all these hours and how you give up this and that.  Those people are chumps.  There's a hell of a lot of exciting stuff that goes on, too.  For example: Dinner meetings (read: get drunk and scribble notes on napkins).  Yeah, you still go out to dinner and yes, you probably wouldn't be taking any notes, but it feels like I'm getting paid to have my CEO buy me dinner and drown me in beer.  It could be worse.

Get autographs

Second, and this one is important, you meet all kinds of seriously interesting and awesome people.  A lot of people on the scene are jokers, but there are some seriously insanely smart, driven, attractive (less important), successful people.  Cincinnati alone is crammed with the varsity squad of the midwest.  Just being able to brush shoulders with people who are not only smarter, but a hell of a lot more accomplished than me (and sometimes younger), is humbling and exhilarating.  Side note: one day people are going to say that about me.

John the Builder

Thirdly, I create some ridiculous shit.  When I'm working crazy hours and just fall into that weird zone of productivity, I impress myself.  I've spent a few thousand hours developing in Python/Django and it definitely gets easier, trust me.  I plan on open sourcing a lot of cool functionality once everything is launched and cleaned up.  I think being a lead developer on any large-scale project takes just as much creativity as designing it.  Plus more logic!  Less women though, sadly.

In closing

Working on any side project, especially a startup with a raging deadline and a crazy CEO, will lead you down avenues you never imagined to meet people you never thought you'd know and to create things you never thought you would.  It's just awesome.  I grow every day.  I think expanding your skills, building strong ideas and opinions, and forging new relationships are what it's all about.  Oh, and the hope that one day you'll get a big fat check doesn't hurt either.

Tuesday, August 21, 2012

Just Say... Yes?

Saying No All the Time is for Chumps

By working on new products and working with people who are building new products you hear a ton problems/ideas a day.  These are wanted, unwanted, good, bad, awful, (say yes to oxford commas) and everything in between.  A lot of thinkers and bloggers and talking heads want you to say 'No' by default and only begrudgingly say 'Yes'.  To hell with all that garbage.  I say 'Okay' should be your modus operandi.

Now, don't get me wrong.  You can't do all the ideas you hear or have all the time.  It's impossible and stupid to try.  Finishing projects (well, at least MVP-ing them) is 100x better than starting them.  Remember our mantra: "Good now is better than perfect later."  However, stop being such a goddam naysayer.  Come up with a solution and a path for ideas rather than simply saying 'no, that's idiotic.'  This is not only for people who come to you with problems and ideas, but for your own problems.

This does a couple of things:

  1. You will start having a more open mind.
  2. People will continue to come to you with ideas and suggestions.
  3. You'll have generally a more positive outlook on things.
  4. You'll get to hear some pretty awesome ideas mixed in with all that nonsense.

Ergo

A CTO has to handle a lot of ideas and suggestions, both from within the team and without.  Especially if you have a non-technical CEO.  That's just the nature of the beast.  Everyone is a critic.  I've decided today that I will never say no again.  Instead of shooting ideas down, I will either give suggestions on how to keep them going, take them into serious consideration, or, if they are truly effing terrible, try to redirect them on a better course.

What's the worst that could happen?

Friday, August 17, 2012

Time To Get Ill

Hey, Johnny...

"What are you going to do after work today? Oh, more work?  Nice.  Well, we're going to the bar."

That's always a great final conversation of the day when leaving work or when a buddy calls.  The excitement of working on startup projects is definitely palpable, but let's face it, it's tempered by what it can do to your personal life.  I hate to say it, but I drink less now than I used to.  It's a problem.

In all seriousness though, coming up with a good balance can be hard, but it's definitely possible.  One thing I do is keep a strict calendar.  Well, as strict as it can be.  I put things on my g-cal as soon as they come up, and I obsessively reference it when planning out my days.  If I know I have something I want to do coming up, I will cram work into the days where nothing awesome is going on.  I do a hell of a lot better job getting work done in advance now than I ever did in school.  Maybe that's why my apps are a hell of a lot better than my grades.

Sunday Funday

One thing that I still try to keep religious - and by religious I mean in no way affiliated with any deity - is my Sundays.  That is my day of rest.  Don't get me wrong, I still go act like a badass commando in the woods on Sundays, but I don't usually do much work.  I'll work Saturday afternoons and sometimes Fridays if nothing of import is going on, but Sundays are my days to myself.  It's a good habit to keep.  I'm not trying to kill myself here, and I want to live long enough to use all this money I'm trying to make.

Oh, yeah, one thing I really like to do on Sundays is go to a matinee movie.  It's great.  I went to the Avengers a couple of weeks ago and the 7 year old next to me shared his popcorn.

The Takeaway

Everyone has a different life and job and expectations and relationships.  It's impossible to read an article and say 'Okay, I'm going to balance my life like this and it will work great!'  No, it never works that way.  You just have to see what fits.  And sometimes you have to look at the hard truths: you may not be able to swing work plus outside work.  That takes a big decision.  Do you quit your job and work for a startup or do you quit your startup and work on your career?  That's a scary proposition for a lot of people, myself included.

I want to be a millionaire just like everyone else, but it's a long hard road to get there, and there's a lot of bumps and detours on the way.  Cliches are fun.

Thursday, August 9, 2012

The Healthy CTO

Why I do it

One of the most important aspects - and I mean actually important - of my life working full time and for  a small company as a CTO is fitness.  It's super important and it can be one of those things that helps you move from being kind of awesome to goddam incredible.  The immediate benefits to having a active workout routine are:

  1. Confidence
  2. Energy
  3. Better sleep schedule
  4. Larger, more defined 'glamour' or 'beach' muscles to impress people.
  5. For whatever reason, and it's probably the sleep, but you'll have a sharper mind and a more extroverted personality.
So, I work out early as all hell in the morning at this thing called ELMNTL Fitness.  The guy, Kevin, has us running around in the woods in the dark carrying rocks and logs and doing a bunch of other crap.  Long story short: while our competition is still asleep in bed I am dragging a log down a gravel trail in the woods.  I'm home, showered, fed and reading the news by 7:30 AM and most other startups aren't even out of bed.  It's a definite advantage.

How I do it

It's not as easy as I'm making it sound, and it certainly takes a little bit of getting used to.  A huge part of it for me is working out with a group of people. I can't stress that enough.  Trying to get up and get on the treadmill in my building just never happens.  I always put it off.  Kevin, however, plans out the days exercises based on how many people and who they are.  If you skip, you screw up not only yourself, but everyone else scheduled.  You never want to be the asshole.

Sleep is another big thing. To wake up at 5am every day you have to start going to bed earlier.  I know a lot of devs and startups think they need to work until 4am, but that shit's out.  I like to work earlier when I'm the most productive, and use my late afternoon and evenings for leisure time and events.  No one ever plans a happy hour at 8am.  So instead of skipping events so that I can workout or do work, I just schedule that stuff earlier.  It's ridiculously simple if you think about it.

Oh yeah, eat well

Every morning I have a smoothie for breakfast.  This contains: a banana, strawberries, blackberries, blueberries, raspberries, peanut butter, protein powder, spinach and soymilk.  Every day.  That is the breakfast of champions.  It's delicious, it's easy, and it's healthier than anything you'll eat all day.  Not to mention the fiber.  I also try to eat one salad per day, either for lunch or for dinner, and I eat a crapload of nuts.  Pistachios, almonds, cashews, whatever.

Do not ever eat fastfood ever.  I'm telling you, don't do it.  Also, don't drink pop (or soda for you weird people).  Drink water and coffee and as much alcohol as you want.  Pizza is okay, because if you're in tech you can't give up pizza.  But never go to McDonald's, Burger King, Chick-fil-a, any of that stuff.  That stuff will kill you.

Do I need to say something about smoking?

TL;DR;

Exercising will make you a better CTO and a better person than your competition. Eating healthy makes you awesome.  Follow these instructions and you'll get rich. Or at least skinny.

Thursday, August 2, 2012

Preparing for Liftoff

Site launches.  They are whole other kind of thing.  There's a popular saying that goes something like '80% of the work happens in the last 20% of the project'.  I would say that's being kind, that sometimes the last 5% of the project feels like most of the work.  Add on being wholly responsible for all aspects of tech - because you have no team other than yourself - and you're suddenly responsible for hosting, DNS, the code itself, all media assets, caching, the database, and a litany of other things.  It's mayhem.

So, I am thinking now that I need some kind of plan for launching a site.

  1. Do we have hosting figured out for production?
  2. Do we have any cron jobs sorted out and tested?
  3. Is the database indexed and stable?
  4. Is the cache server running smoothly (and for chrissakes, is it actually caching?)?
  5. Since I'm still better than you and using Python/Django, is Debug == False and does the site work without it? Do you have your 404.html and 500.html?
  6. Oh yeah, what about the fav icon? That's an obnoxious thing to forget.
  7. Since you're obviously not using any sort of proper release technique with git, is your repo at least cleaned up with all extraneous files removed?
  8. HAVE YOU COMMENTED ANYTHING?
  9. Is the DNS sorted out?
  10. Did you forget the www. subdomain?
  11. Is email sending from the server?
  12. Is email being marked as spam?
  13. God, did you validate a single one of your pages? Your HTML looks like shit (this is not the FE devs fault, you're the one that hooked it up). W3C hates your guts.
  14. Have you load tested with more than yourself in two different browsers at the same time? No? Good.
This is just where my mind takes me off the top of my head.  It's mayhem.  Part of being a developer CTO is trying to step away from the nuts and bolts of the service to how it's going to fit into the world at large.  Your website is not an island.  In fact, you want it to be landlocked as all hell and getting as much throughput as possible.  You want tourists and locals and random bums to stop by and poke around.  Have you given SEO any consideration? Have you remembered robots.txt?  If you're using SSL, are you conscious of duplicate content and how Google will spank your ass like a bad child for that?

For these kinds of situations, I highly recommend setting up a Trello board with your checklist of things to do prior to launch.  It keeps you stable.  You can see, 'yes I still have 5 things to do'.  When your list on the left is empty and your list on the right is full, you can go get wasted.  Just keep your phone on Ring so when your CEO calls you screaming their head off that the site is caught in an infinite redirect because you jacked up the SSL middleware, you can drunkenly slur that you'll fix it.  And then go fix it.

Such is the life of an accidental CTO.

Monday, July 30, 2012

First Post. Ever.

First Post. Ever.

Ahh, feels good to do something other than development.  The life of a startup CTO with a regular full-time job is not quite as glamorous as Hollywood and Conan make it out to be.  It's a lot of laptops on the couch and unwatched Battlestar Galactica running in the background.  I actually need to rewatch a few of the episodes.  Boomer's a cylon?

This blog is how I'm going to share my experience joining a pre-capital startup on the site, and what it was like and how I kicked way too much ass at it. It's not really meant to be self-help or inspirational, though. You either work your ass off or you sit around reading people who do's articles about how they did it.  I will say this, though: I never really thought I could do it until I just jumped into it.

I'm a 27 year old developer in sunny Cincinnati, Ohio.  I write primarily Python/Django, and that makes me better than you.  I call this blog The Accidental CTO because I never intended on being a CTO.  I was happy with freelance gigs and doing client work at the agency where I'm employed.  The whole CTO thing kind of fell into my lap.  I'll get into that in a later post.

Right now, I just want to leave you with one sentiment: great things are not always built by great builders. Being the CTO and not the CEO means I report to someone and I have a team.  The team is everything.  I just happen to be the one who kicks ass at web development and gets to boss the dev contractors around.  That's definitely a perk.

I promise I'll have a post worth reading up soon.  This is kind of an ice breaker.

jdb