2013 Things to Get Done

I love writing these “State of the Union” blog posts. It’s always fun to take a look at what I was feeling during a different point in my life.

2011 End of the Year Update

So let’s recap on what did in 2011.

Nope didn’t do this.

  • Write 18 blog posts and improve my online presence

Negative.

  • Save $5000 by the end of 2011

Accomplished!

  • Complete the marathon

Accomplished!

  • Skydiving

I didn’t do this on my birthday, however I accomplished this in 2012!

  • Average 7 hours a week about something I’m passionate about

This was a funny goal now thinking about what happened in 2012. The majority of my time was spent focusing on the Hawaii tech scene and building up HI Capacity. 7 hours a week huh? 364 hours of working on something I’m passionate about. I think I hit that goal before the middle of the year. Doing things like:

  • Working with The Box Jelly to get HI Capacity a physical space
  • Participating in Node Knockout
  • Participating in Startup Weekend
  • Organzing meetups and nerdy things

What happened in 2012

And then there was 2012. What. a. year.

2012 was about firsts. The craziest thing was buying a one way ticket to Washington D.C. for Hungry Acadmey. It was 5 months of intensive Ruby and Rails training. I learned so much and pushed my self so hard. It was such an amazing and life changing experience. My work there enabled me to be hired as a web developer at LivingSocial.

Living in a completely different city changed my outlook on how I live now. Having a car isn’t the best thing in the world. Driving is terrible. Walking to work, riding a train (which is where I’m writing this blog), hopping on a metro is the best way to travel. I love being in an urban environment. My trip to New York City was amazing! I’m going to live there.

Among other things I did, here’s the random breakdown:

  • Rode a train for the first time
  • Sky diving
  • Moved into a terrible smelling apartment, then upgraded to an great place in walking distance to work.
  • Went to a ton of baseball games including games 4 and 5 of the NLDS where I witnessed a walk-off home run and a crushing collapse.
  • Tubing in a river!
  • Attended a Code Retreat in Floyd, Virginia.
  • Visted Quinn and Sue in Lusby, Maryland in a Mini Cooper (Go ZipCar!)
  • Experienced my first white Christmas in Baltimore. Snowball fight included.

What’s coming up in 2013?

As the years go by as a developer, I find myself focusing less on software and more on my life. There are things I want to do this year besides hack on all the things. And while I’m still hacking on all the things, I don’t want it to compeletely take over my life.

I had an interesting conversation with my roommate the other day. We talked about the movie Looper. (Spoiler Alert) In the movie there is a point where the “loop is closed” on a looper. Basically you know you’re going to die in 30 years. What would do if you knew the exact date when you would die? I’m sure you would live your life completely different. What’s odd is when you think about it, we know with an approximation of when we’re going to die. In the best case we’ll live till we’re 80. In the worst case, the next minute or so might not be so good. If I know with a reasonable expection when the end is coming, why don’t I live like I’m going to die young? (Yes Kesha is great)

So what am I doing this year? How am I going to push myself to be proud of the way I spend my days.

I’m going to be 30 in 2013. Here’s a list of 20 things I want do:

  1. Eat at Sushi Taro
  2. Smithsonian Aerospace Museum
  3. NFL Game
  4. NHL Game
  5. NBA game
  6. MLS game
  7. Black Friday Shopping
  8. Trout fly fishing
  9. Camping in the mountains
  10. Watch the fireworks on the Mall
  11. Snowboading
  12. Visit the National Zoo
  13. Visit the Newseum
  14. FRENCH LAUNDRY OMG
  15. Add physical photos and cards to an album
  16. Read 3 wine books
  17. Flavor Profiling
  18. Eat at Ray’s Hell Burger
  19. Participate in an introductory online French course
  20. Watch a baseball game at Fenway.

Over the course of the year I’m going to complete these activities. I’m to trading my days for something I’ve never experienced before.

Now onto my technical goals. That’s a little bit harder. I never thought I would say that.

Here’s what I want to do.

  • Re-write Playlistdio with Rails and a relational database.
  • Finish a super secret game clone.
  • Contribute to an open source library.
  • Go to DC tech meetups
  • Volunteer at CodeNow
  • Compete in hackathons!

Onward into 2013!

Comments

Nginx Rewrites

Our current project at Hungry Academy is to create a service-oriented architecture around live chat. This means having a service storing data, a message queue service, etc. Another requirement of the our current project is we are neck-deep in the operational side of things. I’ve taken the role of neck-bearding dev ops person, which means a ton of headaches with nginx.

One issue that arose was routing requests from nginx to one specific rails app in our service architecture. After much headache and searching I discovered nginx rewrite directives, which allows nginx to route requests to another URI.

My problem:

I have a rails app being served at /fooapp. Whenever requests are forwarded to fooapp by nginx, the request will have ‘fooapp’ appended to the request. For example, fooapp will recieve requests with the route ‘fooapp/api/v1/data’. To fix this issue I added the following to my nginx config:

1
2
3
4
5
location /fooapp {
  rewrite ^(.*)(fooapp)(.*)$ $3 break;
  root /home/vagrant/foo/apps/fooapp/current/public;
  passenger_enabled on;
}

What this does is “rewrites” the request that is forwarded to my rails app. I use regex to match the URI received by nginx and only take the part I care about, which is the $3 pattern match. This allows me to rewrite the URI passed to fooapp. Essentially I’m stripping off the fooapp namespace.

Nifty.

Comments

Moving to Octopress

I’ve finally moved my blog over to Jekyll. I’ve decided to use Octopress because me and @athal’s current open source project is mr-hyde. mr-hyde is a nifty little script allowing your Octopress blog to be auto-deployed to Heroku.

This is great for several reasons:

  1. No committing your /public folder.

  2. No need to push to both Github and Heroku.

All that’s needed is to create a new post and push to Github. A post-receive hook will be triggered and a tiny sinatra app running on Heroku will pull your blog’s latest changes and redeploy.

Simple.

To help ease the transition from Blogger to Jekyll, I created a command-line utility called Html2Markdown-Cli. I exported my Blogger posts to Html and used the CLI tool to covert the HTML to markdown. The transition wasn’t as smooth as I had hoped because the export process didn’t preserve my CSS.

Comments

A Smart Plan

Just when I thought my goals for 2011 were set, I listened to the Smart Passive Income podcast. Pat Flynn talked about having SMART goals, that is specific, measurable, attainable, relevant, and time bound goals. After taking a look at what I wrote in my goals for 2011 , I realize that I didn’t really think though what I want to accomplish.

Learn Django

Learning Django is some vague goal that I might get done. Who knows when and how well I’ll get I’ll do it. So to make a realistic goal, I’ll change my goal to run through the entire Writing your first Django app tutorial. If I want to continue along Django, I can add another goal to this list.

Improve my online presence

Vague goal #2. What? How am I going to improve my online presence? I just did a quick search on “Improving my online presence” and I see the same things:

  • write a blog
  • contribute to open source projects
  • participate in online help forums, i.e. Stack Overflow

I already have some technical goals in regards to open source projects and hacking, but blogging is once again a weak point. So how about I quantify my blogging? I want to have 18 posts by the end of this year not including this post. That’s 1.5 posts a month. That’s sounds like such a small number of posts, but I bet by the end of year I’ll be struggling to get this goal in. A nice timely, achievable goal.

Personal Finance

Using cash only for non-recurring purchases is a great goal. I like that goal a lot. I’m already on my way to saving. I also wanted to quantify my savings goals. I need to put a monetary number on how much I want to save. My emergency fund is a weak point I need to address. I want to have $5000 by the end of 2011. With what I have saved, that turns out to be $400 a month. Ouch. A lofty goal, but I worked it out and I can get it done. Totally attainable.

I also have an addendum to my goals. These are things that I’ve thought of in the past week.

Do the marathon

I’m going to be in the 1% that does the marathon in their lifetime. Training starts at the end of January!

Sky Diving on my birthday

I’m going to make it happen!

iPhone Hacking

I’ve spent some time working on an iphone application that’s really fun. My brain hurts, but I’m going to continue working on it. This part is measurable with the next item.

Average 7 hours a week on something I’m passionate about

Whether it be iPhone hacking or blogging, I want to average 7 hours a week doing something I love. 7 hours a week isn’t that much. It’s one hour a night. Totally achievable. I’m going to keep a log on google docs that keeps track of what I’m doing and when. Reading blogs and things online doesn’t count because I’m only consuming information. I want to be a producer, one night at a time.

Phew. Now that sounds like a goal list. Time to get to work!

Comments

Personal Update: The End of 2010

One of the great things about having a blog is being able to look back at what you decided to do about your life and and measure how far you’ve come.  I dusted off my previous update,  2010 Things to Get Done  to determine if I executed on my action item list.  And with that, here is how I did.

Financial Goals - Total, complete, epic fail.  Well almost.  I didn’t stick to my budget, but I did manage to save for a couple of vacations.

Paying Myself First - Going to the gym in the morning before work lasted for about 4 months.  Then I had a week of going to sleep late and that killed the early morning gym fests.  I still go to the gym 5 times a week, but they are at the end of my day instead of the start.

Read One Library Book A Month - Sigh.  Fail again.

Play with Python - Nailed it.  I learned a bunch of Python by playing with the YouTube Rest API and the last.fm API.

Complete 2 Resume Updates - Half credit.  I did one.

Increase StackOverflow Reputation to 1000 - Fail.  I got to 172. I also stopped frequenting SO unless I needed a question answered.

Rails Development - Failed.  I did some Rails hacking this year, but I didn’t deploy my app.  I also canceled the domain I bought to deploy the app.

How depressing.  My action item score is:

Completed: 1 Half Credit: 2 Failed: 4

On the surface, it appears that I had a horrible year.  I only completed one thing that I set out to do, made some progress on others, and totally dropped the ball on the rest.  But to prepare for this post, I did a resume update and found that the majority of my time was dedicated to work:

  • Worked on a bunch of interesting things like: GWT, Client/Server architectures,  Performance improvements.
  • Mentored an intern during the summer.  I learned a lot from him and I hopefully taught him a bunch of stuff.
  • Used a bunch of frameworks, technologies and tools like: ActiveMQ, Camel, JMS, Tomcat, Derby, Git, Mercurial

Some things that I’ve learned and along the way, but aren’t resume material are: - Making a conscious effort to listening to my team’s suggestions and recommendations - Revisiting my software design and ideas the next day to double-check if it was actually a good idea - Being more open to new ways of accomplishing tasks - Read world news in the NY Times in addition to reading a lot of personal improvement, finance, and technology blogs. - I’ve become an avid yelper at aus.yelp.com

So maybe I didn’t do so bad this year.  I may not have accomplished my action items I set at the beginning of the year, but I definitely didn’t stagnate.  I feel like I should have done more, but at least I made some progress.

So where do I go from here?

This year I’m going to try something new.  I’m going to create two lists, an “Action item” list and a “Maybe do it this year” list.

Action Items

Learn Django - To continue my software learning, I want to learn some Django.  I’ve done some Python work so now it’s time to move my learning to the web.  I’m thinking of looking for an OSS Python web based project to contribute to.

Improve my online presence - My online image needs to improve.  I need to contribute to online technology forums, work on my linked in profile, and anything else that will increase my visibility.

Personal Finance - My yearly struggle with sticking to budget has made the action item list once again. This time I’m going to try paying with cash for everything except for gas and my monthly bills that are automatically charged.  It’s sort of like the Envelope System , but I’m not going to bother with sorting my cash into physical envelopes.

Read More Books - I really love reading.  I just need to get off my butt and use the library more.

Visit Japan - I need to get to the homeland.  In order to go, I’m going to have to save, save, save.The Maybe ListTake a side job - I really want to try working a part-time job on the side for fun.  Something like working at Starbucks or at a wine store.  I’m not sure it fits into my work schedule, but I have been toying with the idea.

Andddd go!

Comments

Getting Technically Started

Where do I begin?  This question scared the crap out of me when I forayed into the job space straight out of the university. Everything was wild and unknown. I needed a tour guide yesterday.

As a new grad, I tried a lot of things. I read books and blogs. Listened to podcasts. Worked on open source projects like Hackystat  and personal projects like an Open Microblogging Plaform  and a ping pong score tracker. I tried a bunch of different approaches to improving my technical life. This blog’s aim is to help you filter out the noise.  I’ll write what worked for me with the hope that it can bootstrap your improvement outside of college.

First things first

There are two articles are forever part of my hacker livelihood. Having read these two articles in Philip Johnson’s software engineering class helped me define who I am and to understand what I need to do to contribute. These two webpages.  Yes I said webpages not blogs.  It’s crazy how old these articles are.  Notice the manual revision history at the top?  Crazy.  Nonetheless, the content is the stuff of legends.

How to Become a Hacker Defines who we are and how we get there.  We are hackers.  Be proud and proclaim it.

How to Ask Smart Questions Asking dumb questions makes you dead weight. Hackers hate dead weight. We want to spend time having fun chatting about the latest tech news, making paper airplanes, having Nerf gun fights, and if it’s in the project plan, write some code.  We don’t have the time or patience to answer stupid questions.  Remember the “There is no such thing as a stupid question” line doesn’t apply to our world.  There are stupid questions and it makes us angry.

With that said, we geeks get it.  No one knows the answer to everything.  It’s not humanly possible.  Robots, ninjas and zombies can do it, but not us lowly humans.  Geeks genuinely want to help people.  They want to explain a topic they’re familiar with not only flex their intellectual guns, but to help you out.

Ask a smart question, get a smart answer.  Respect +1. Ask a dumb question, lose respect.  Respect -100 

Respect is king amongst the Geeky.

Blogs

Blogs are an excellent knowledge resource.  StackOverflow has a thread on the best programming and development blogs  if you are interested, but here are the blogs that I’ve been following for quite some time:

I also follow the blogs of people I’ve met at the university or through work.  They are all interesting as well. - Engineering Log  - The maintainer of the jupiter-eclipse-plugin
- HackyHawaii For Life by AK  - Hasn’t been posting lately, but great advice for new grads. - PMJ Engineering Log  - Philip Johnson’s blog. - Seize the Moment of Excited Curiosity for the Acquisition of Knowledge
- SidSavara.com  - A personal improvement/life hacker blog.  Cool dude, cool blog.

Reading Code

As a hacker you want to get into the nitty gritty.  You want to jump into that source and show it who’s boss.  You’re going to write millions of lines of unit tested, bug free, elegant code.  But wait. 

Do you enjoy reading other people’s code?  No?  That’s too bad because reading code is about 90% of your hacker life.  Maybe more.  There’s API’s, javadocs, code examples, and source digging among the countless other ways to read lines of code.  Rockstar programmers that perform 10x better than others  rock at reading code.  For the rockstars, reading code should be like reading a book.  It needs to flow through your mind and paint a picture of what’s happening.  It’s said that you need to practice 10,000 hours to master something .  I think you’ll need even more to master code reading because everyone writes their code differently and most of it is bad.  You’ll need to be able to quickly pick up favored patterns and apply it to your overall understanding of the code structure and usage.

It might seem obvious, but you should get out there and read code.  It’s actually really easy:

Step 1: Find an interesting project on SourceForge or Github.   Step 2: Check out the source Step 3: Read the source.

Voila.  You are on your way to code reading mastery.  You could even take a step in your code writing mastery hour allotment by contributing to the project.

Writing Code

I don’t need to write much here.  Practice, practice, practice.  I would suggest immediately starting with a new language because it promotes new ways of thinking.  You’ll realize the importance of learning new languages once you apply a language design pattern from one language to another.

 I started with Ruby on Rails  because I was interested in web frameworks.  I’ve made a resolution  to work with Python this year.  Pick something you find interesting and do some Code Kata  or create yourself a side project.

Blogging

Blogging is an excellent tool.  I know that it’s not for everyone, but I find that it continually improves my thinking and writing skills.  I brainstorm during my commute to work, the walk to Starbucks, the lonely period in the bathroom.  I think about interesting blog topics and if my readers (all 5 of them) would get it.  Blogging puts your thoughts into written form.  Sometimes it’s hard to express what you mean until you try to explain it to someone else.

Another great thing about blogging is that it can help you with your Periodic Resume Updates .  You won’t be able to remember what you’ve done over the past year, but having an activity log will help figure out what you should add to your resume or tell you that you aren’t investing in yourself enough.

Hang out with Hackers

The last point I have to make isn’t really a skill, but rather something to help build on your hackerism. Find smart hackers and hang out with them.  In person would be best, whether it be your coworkers or people at other software companies.  It could even be online. It’s similar to pair programming  without any coding. Either of you can drive, but both learn from each other. Most geeks like to talk about geeky things like the latest and greatest tools. Find people that are on the bleeding edge and attach yourself to them. The bleeding edge is where you always want to be.

Comments

2010 Things to Get Done

In the spirit of new years I decided to do what everyone else is doing, create a list of things I want to accomplish this year, i.e., my New Year’s Resolution. I remember I created a List of Things I Want to Do way back in 2008. Let’s see how I matched up 2 years later:

  • Improve my writing skills
  • Ruby/Apache Wicket and Hackystat
  • Practice Puzzles
  • Play with Python
  • Give a speech to a group about something technology

The things I didn’t complete are in red. How sad. Two years later I still haven’t tried out Python. think I have improved my writing skills a bit, but I had a blog hiatus in 2009. Hopefully we will miss that episode this year. I tried implementing a Hackystat UI using Ruby on Rails in 2008. Other than mentoring a student for Google Summer of Code 2009, I haven’t done any new work on Hackystat. The Collaborative Software Development Laboratory has started new work in the smart grid energy field. It’s an interesting area with mounds of real-world application potential. I’m excited to see the direction they take their research. Perhaps I might find an opportunity to contribute to their work.

I didn’t create a list of things to get done in 2009, but I did have a Periodic Resume Update that talks about what I’ve done and where I’m headed. It seems that I believed that Openmbp was the direction I was headed in 2009. hat idea has passed and now it’s onto new things.

I’m a year older and starting to think about new things. In the past two years I was concerned with everything technology related. I wanted to improve my hacking skills and learn new technologies. earning new technical skills is important, but I now believe that other aspects of life that should receive attention. That’s what I want to accomplish this year in addition to continuing my technological advancement pilgrimage. I debated on creating a list by priority, but I decided that everything on this list should get done. I ended up categorizing the items into financial, personal, and technological goals.

Financial Things to Get Done

  • Stick to my budget
  • I’m a failure at sticking to budgets. I spend enormous amounts of time tracking where my money is going, set up a budget, and then buy a digital camera. or a snowboard. Or a wine fridge. Or some other thing that I probably should have saved up for first. My new strategy is paying myself financially and to use cash when possible. Paying myself first financially means that I put money away before I start paying my bills or buying frivolous things. Using cash helps me to be conscious of where my money is going. Credit cards are evil and they own me. (Hopefully not this year)
  • Save 10% of income
  • Paying myself first will allow me to accomplish the next two goals. There are things I want to save up for in the future. I can’t purchase them unless I start saving now. think 10% is a reasonable number.
  • Save 5% of income for life’s experiences
  • For the past three years I’ve never saved money to spend on vacations or things I’m passionate about. I was in the financial bias of saving as much as possible and would feel guilty if I decided to take a trip or spend some cash on something I took pleasure in. No more! Over the past year I’ve become extremely interested in personal finance. o like I always do when I want to find out more on a subject, I look for reading material, i.e. online blogs. A recurring theme that I found that struck a cord with me was: Spend money on things you value. After all, money is just a tool to live life. So this year I resolve to save money for that snowboarding trip or a trek to foreign country. I’m going to save and spend with no remorse. I’m going to live this time around.

Personal Things to Get Done

  • Continue to pay myself first
  • I recently wrote a blogpaying myself first . I want to continue to go to the gym in the morning.
  • Read one library book a month
  • I’ve been using the library for about a 1.5 months now and I’m going to say that I can’t imagine my life without it. I paid 10 dollars for a new library card and the first books I checked out were worth at least twice the library card fee! I’ve found that I won’t have the time to read, but I’m saving money instead of wasting it. I can always renew books I failed to read or just return them and check them out later. The goal here is to continue to read. One book a month is totally doable.

Technical Things To Get Done

  • Play with Python (Really)
  • It’s time to get off my ass off my crappy chair (My home chair. My work chair rocks!) and learn a new language. I wouldn’t say I’m stagnating since I’m still absorbing Ruby and Rails, but I need to get some new code perspectives into my brain this year. ython will be welcomed.
  • Complete 2 resume updates this year
  • The periodic resume updates are a good indicator of my current technical and personal development progress. Stagnation equals Fail.
  • Increase my stackoverflow reputation to 1000!
  • I think I’m the most excited about this thing to get done. I’ve been frequenting Stack Overflow (SO)or the past couple of weeks and have decided to join the game. I want to raise my reputation points to a certain level before the end of the year. Since it’s a game with rules and points, my progress can be measured. I want to have a goal of 1000 reputation points before 2011. I’m at 96 right now. An idea I had to use SO as a learning tool was to try to answer questions in unfamiliar areas. For example, I’m not a pro Rails hacker, but I want to be. So my task is to try to answer Rails questions even if they already have answers. At the end of the day, reputation points don’t matter, what I learn does.
  • Practice developing with Ruby on Rails
  • It’s still here. Rails hacking. It’s fun, but I really need to get a move on. I have a side project that I wanted to deploy by the end of 2009, but I failed.

Let’s shoot for the end of 2010.

Phew. That’s a lot to accomplish. Onward!

Comments

Paying Myself First

Wow. My last post was back in May. It’s been a while since I’ve made time for this blog thing, but it’s been a good sabbatical.  I’m reemerging on the interweb for the third time and hopefully here to stay.  I want to stay committed and vigilant, as we all know how difficult it is to be an active blogger.  My plan of posting twice a week turned into posting once a week, which then turned into not posting.  Plan failure.  But I have a new and improved plan!

One day I had a 6 AM gym session with a friend.  It changed my life.  My schedule used to look like this:

  • 9:00 AM   Wake up
  • 9:05 AM   Go to Work
  • 7:00 PM    Read blogs, Side Project Work
  • 10:00 PM  Hit the Gym

By the time I started working on my personal improvement tasks I would be tired and unfocused. I was amazed at how one morning gym session would make the rest of my day was incredible.  I felt great.  I didn’t need to have 6 cups of coffee or some sugar to get through the day.  My metabolism was in overdrive.  I couldn’t believe how awesome it was to start your day off with a workout.

So I changed my schedule: - 5:45 AM  Hit the Gym - 7:45 AM  Read blogs, Learn some cool stuff - 7:00 PM   Watch video blogs, listen to podcasts, take a break - 10:30 PM Sleep

Then one morning I found a blog that talked about Paying Yourself First .  What an excellent idea.  I’ve always struggled with spending too much at the beginning of the month or when I get my paycheck.  This is a great idea.  Pay myself first.

Light Bulb.

My updated scheduled: - 5:45 AM  Hit the Gym - 7:45 AM  Write a blog - 7:00 PM   Read blogs, Learn some cool stuff, Work on side projects, Watch video blogs, Listen to podcasts, Take a Break - 10:30 PM Sleep

So my new goal is to do some writing before I head to work.  I don’t have to write a complete blog or always try to finish existing blog.  My goal is to jot down my ideas.  If I can write down what I’m thinking about I should be able to get a blog out every week.

I honestly rather do my side project hacking in the morning when I’m the freshest, but I don’t have enough time between my gym session and when I need to leave for the job.  Once the tasking at work calms down a bit, I should be able to resume my Rails hacking.

A while ago I read an article by Sid Savara, Paying Myself First With My Time .  I didn’t buy into it then.  How could I wake up early and start my day like that?  Crazy Talk.

Best Idea Ever.

Comments

Periodic Resume Updates

Rands says that you should update your resume every 6 months regardless if you are looking for a new job or not. I haven’t updated my resume in a couple of years, so this was a pretty interesting exercise. Updating your resume let’s you figure out what you’ve done and where you are heading. So that’s what I did tonight. Let’s see what I learned…

What I did:

I spent a lot of time working on Hackystat. This is a good thing since I learned about Java, Ant, XML, JAXB, Postgres, and SQL.

I had one line about my work project. I’m not sure if that’s a good thing, but I have learned quite a bit from my work experience.

I worked A LOT on the software development platform at work. My work experience section for my job is mostly about setting up out continious integration build server, working on our Ant build scripts, code reviews and mentoring interns. I was debating if I should put some information on trying to start a Wiki usage movement at work, but I decided against it since it didn’t really pan out.

I was actually surprised that I had enough “Volunteering” items to put on my resume. I have to thank Aaron for that one.

Where I’m going:

This one was a tough one. I’m looking at my resume and it isn’t clear where I’m headed. It seems that I’m interested in hacking for fun. Maybe mentor students and help developers grow or something. Looking at my resume I don’t get that “ah hah” that’s where he’s headed.

But there’s hope!Even though OpenMBP isn’t on my resume, I’m pretty sure it’s the direction I’m headed. I want to build software that’s useful to people. I want them to enjoy using software that I’ve been working on. Development on that project is starting to ramp up so I hopefully in the next resume revision I’ll be able to add a new OpenMBP resume item with Ruby on Rails, Git, and an URL to the released version of our software. I think that’s a good goal to have.

I really feel that I haven’t done enough in the past two years. Before I started updating my resume, I was thinking that I would have lots of things to add. It turns out that I didn’t really add all that much. I added some things about my work project, extra activities like Hackystat and volunteering, but it all felt a bit lacking. I couldn’t add anything about the books and blogs I’m reading, the blogs I’m writing. I guess resumes are a way for companies to weed through people and find who they really want to interview. It looks like I’m going to have to work harder in the next six months to put things on my reusme that make me stand out.

Revolutionary Improvement perhaps?

Comments

Counter-Blog: Path to Awesomeness

Jason is an intern at the company I work for and he wrote his take on the Path to Awesomeness .  As a mentor, I hope to be helping him along his awesome journey.  I decided to write a counter-blog that talks about how I’m helping him along the way.

  1. Learn bout real projects:  Requirements, customers, deadlines.  Ah the joy of real projects.  The classroom environment tries to provide these things, but it doesn’t compare to working on a real project.  We put our interns on existing projects that will expose them to all of stresses and fun times of a real world project.  Right now Jason is working on a real world project and doing quite well.

  2. Learn about research: The first day that Jason started, I gave him an article on How To Ask Questions The Smart Way .  Since that day he has never asked me another dumb question ;)  But as Aaron pointed out in his comment, the research skill that we want to impress on our interns is learning how to research.  My goal is to expose Jason to a wide variety of interesting science topics which may spark some interest and maybe some gradute research of his own.

  3. Learn about software development processes: I’m concentraing very hard in this area to teach him about the entire software process.  On his journey, I want to him to be fluent in software tools such as Eclipse, JUnit, Checkstyle, Findbugs, and other static analysis tools.   I’m focusing on his code quality and implementation with frequent code reviews using Jupiter . I’m trying to get him to start off with good habits by commiting early and often.  He got familiar with Hudson, our continous integration build server, by adding his own module to the integration build.  My goal is for Jason to absorb as much as possible by working closely with the developers on the project team.

  4. Learn how to learn: Figuring out problems on your own is a very important skill to have.  As everyone knows, Google is your friend.  This might be the most important skill for to learn because it will help you throughout your entire career.  Basically, learning how to learn means trying to figure out a problem on your own.  If you still don’t understand what is going on, think of some educated questions and ask your peers.  They will be more than happy to help if you have invested some time on the problem.  This item is a must for all interns to understand.  Luckily, Jason picked this one up on his first day.

  5. Learn how to increase marketability: Jason wasn’t too sure on this item.  We want our interns to be wanted by companies in the high-tech industry.  Our goal is to increase the skills of our interns for their benefit rather than our own company interests.  By increasing our interns value, they in turn increase our company’s value.  Marketability means having something other companies want, like your l33t skillz.  We want everyone to see that you outperform everyone else at the same level.  We want you to stand out and be awesome amongst your peers.  How we want to accomplish this is by exposing our interns to as wide array of work experiences that they can’t get in school, but also focusing on key areas that we believe will help them succeed and stand out.

  6. Learn about the industry:  Finally, we want to our interns to know what’s out there.  What other types of work is out their in the government and private sectors.  By showing them what type of work is available, they can make a choice on their career path.  Hopefully that career path involves our company, but we want our interns to enjoy their career.  We want to help them succeed in their career and life even if that means saying goodbye.

Comments