Random thoughts from a middle aged guy starting a new career

Am I the Smart One or The Dumb One?

09-30-2013

I got started on a new project at work today. We picked up a rails app that was developed by someone else. The client is looking to make some changes and improvements. I began browsing through some of the code over the weekend and that's when I started to worry. There was a whole bunch of stuff going on that made no sense to me. The more I browsed the more confusing it seemed.

As you know I haven't been at this for too long. At Launch Academy they showed us common mistakes to avoid and things not to do, but we didn't spend a whole lot of time looking at file after file of confusing and unnecessarily complicated code. (except of course some of my own stuff!) If I had understood everything in this codebase then I think we'd have an even bigger problem.

Nate and Adam just kind of chuckled - well mostly Adam - as I was going through some of this on the office monitor and trying to figure some things out. I'm not sure if they're smiling because they've been there before and can identify. For all I know they're smiling because they're happy it's me and not them.

What they do have is lots of experience. I have learned quite a bit in a short period of time, but I am not yet a confident programmer. I think that'll take a while. Nate astutely pointed out that every time he gets into a new project with an existing codebase he has to figure out if he's the smart one or the dumb one. There is so much I don't know that I just assume that when I read code I don't understand I'm the dumb one. That's probably a dumb way to look at things.

Full Circle

09-16-2013

Things always seem to come full circle. When I had my interview for Launch Academy one of the more unusual questions they asked me was about IKEA. They wanted me to walk them through the process of buying something, bringing it home and putting it together. I thought I answered the question OK, but as is often the case you think of a thing or two later that you may have left out. In my case I didn't really go into much detail about actually assembling anything. Who knew that assembling something from IKEA would be a necessary skill in my first post Launch Academy position.

That's my boss Adam assembling a drawer which was purchased from IKEA. That's our new office space in lovely downtown Natick. Day one for Barbershop Labs in our new spot. It really was an exciting day. Which is why it really didn't matter much when that drawer fell apart a few minutes later. It should be noted that Adam handled most of the assembly. I stuck to unpacking. My only insightful observation consisted of, "It's not usually a good thing if there are a bunch of screws left over."

I'm going to miss the mall. At least so far the music hasn't been as good, but in fairness the bar was set pretty high. All in all though I think the positives far outweigh the negatives. I have my own key. I don't have to worry about not having a place to sit when I get back from lunch or the bathroom. We have our own internet with solid upload and download speeds. No more mooching off the free wi-fi. Once Adam gets the beer fridge in place we'll be all set!

We didn't get much actual work done today, but that's beside the point. We'll make up for it tomorrow. As for the app. I think it's getting pretty close to MVP status. Now I actually have to get set up to record and produce custom highlights. The app will likely be good to go before I'm ready to actually voice anything. While 'You Make the Call' is getting closer I'm already thinking about another idea. I probably should finish this one first. No details to share yet, just a thought really, but maybe a more ambitious one at that.

Another New Office

09-10-2013

One of the nice things about being a developer is flexability. You can work at the mall. You can work at home. You can even work at a hockey rink.

That's my office tonight. My son skates and I write a blog post. Not too bad. Development seems to be a pretty results oriented business. If you do things well and get things done then when and where you do them doesn't matter quite as much. My old business was pretty much a bottom line proposition as well. You either produced or you didn't, but there wasn't a lot of flexibility. Most of the time games were scheduled when the majority of people are off. Now I can go to hockey practice, football games, soccer practice, etc ...

The app is still coming along. Right now the title is still: 'You Make The Play!' Not in love with it, but it has grown on me a little and I have yet to come up with anything better. For the most part I now have a bare bones functioning app. You can pick a highlight. Customize it with all of your personal info. Pay me. (the most important seems to work) It sends out emails as the highlight order moves through the processing, accepted, in production and completed states. I can upload an audio file and the user can download it.

There are still a ton of loose ends and holes to fill. I haven't gotten too far on styling, so it's awful to look at. I have a few navigational issues from page to page and just some basic info that seems fairly obvious to me, but may not be for every user. I also need to produce a sample highlight so potential customers have an idea of what they'd be getting.

Today I decided to push a staging version to Heroku. I'm not giving the address out here, at least not yet. It isn't really a staging version, but it was functional enough and I was curious. I had a couple issues, but for the most part pushing to Heroku went pretty well. It's a rails 4 app. At first the push failed because the assets wouldn't compile. I used the figaro gem for all of my environment variables. It seems like I basically had two choices. I could compile the assets locally and then push, but I decided to try something from Heroku Labs called user-env-compile, and that did the trick. The only other little glitch so far was rendering background images from from stylesheets. This worked fine in development locally:

  background: url('bat_background.png');

But for it to work on Heroku I had to add and image_path:

  background: url(image_path('bat_background.png'));

That's it, two glitches. All things considered that's a good day for me!