Showing posts with label web development. Show all posts
Showing posts with label web development. Show all posts

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.

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, 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:


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

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.