I have recently been updating and freshening up my resume, and thought I would do something different… something to stand out. Having interviewed many people, from software engineers to product managers and CTOs, I have had the opportunity to see many resumes. Most of the resumes I see are quite bland and boring – as if written for a machine. They have no personality, no passion and no creativity. I wanted my resume to have personality, passion and creativity.
Since I am a well rounded engineer, I thought I would be able to cover more of my skills in a skills-based resume, instead of a chronological list of my work experience. I went through and split my skills into areas (Coding, Data, Operations, Communication, etc) and listed a few points under each. At the end, I added my work experience, but only with a short paragraph of what I did there.
While I thought this style made a good resume, recruiters hate it, and so do people trying to hire.
After getting some advice, I wanted to share it with the rest of the world. Here are the things people want to see in software engineering/technical resume:
Technical Skills: After your object at the top (if you want to display passion), make a clear section describing your technical skills – languages, databases, environments.
Summary: Recruiters give your resumes only seconds when determining its fit for a role, so help them out by having a small summary easily telling the reader how many years of experience you have, your last role, and perhaps your education. From this, they can deduce.
Accomplishments: When you do list the companies you have worked for, make sure to include some of your notable accomplishments and things you are proud of. If possible, try and quantify them (revenue generated, queries per second, amount of data).
Your Role: Let the reader know what your role and responsibilities were at each position you have held
Resume writing is a complex task, and something a lot of people dread. I have definitely not covered everything, but I did want to make clear a skills resume is not a good idea. Also be aware that many recruiting companies load resumes through a computer before even looking at them. Try to have keywords a search engine could pick up on (like SEO for resumes).
Perhaps resumes written for machines is a good thing after all?
I have successfully unlocked my T-Mobile G1 for free? How you ask? After 90-days, T-Mobile allows you to unlock almost any phone you have purchased from them with the T-Mobile branding, and all for FREE. The process can take about 2 weeks (as it did for me), but it worked. Here is how:
Call T-Mobile on 1-877-453-1304 from another phone (not your G1). I got that number from their Contact page
Its the standard voice prompt thing, so say English, enter your G1’s phone number, then when they ask what you want help with, say the magic word “Agent”
Then they ask what you would like to talk about, and say “SIM Unlock Request”
My experience with T-Mobile has been pretty good, within a minute I was talking to the real person. At this point, you verify your identity, and explain to them you want to unlock you phone because you are going overseas and want to use another SIM card.
They will ask you for you phone’s IMEI number. This is a sacred number, so be careful who you give it to, as you can report the phone stolen, give them the IMEI number, and have the phone permanently disabled. You will find the number:
on the side of the box your phone came in,
on the G1 itself under Settings –> About phone –> Status, or
by dialing *#06#
Give them your email address, and within 14-days, you will get an email from T-Mobile with your unlock code.
To unlock the phone, power it off, insert a non-t-mobile SIM card, and power it back on
At the prompt, enter the unlock code from the email and you’re done!
The reason for writing this post is I had no idea this could be done for free with any T-Mobile phone after 90-days has past. There is no need to pay $25 to any scam site, just do it legit, for free, and without issue.
Both Django and GAE are being developed as I write this, so although these instructions are kind of recent, they are already out of date, or rely on you having knowledge of Django. Since there are a lot of others with no Python or Django experince wanting to learn, I thought I would make a tutorial that works as of today, but who knows a month from now or even tomorrow.
Note: This tutorial is written for Linux. Mac/Windows users will have to translate :–)
Django comes as a .tar.gz file, but we want a zip file to take advantage of the Zipimport library, so some conversion is needed.
Create the zip file, but without the admin section since App Enging supplies it’s own
zip -r ~/django.zip django -x 'django/contrib/admin*'
Get the Helper
The App Engine Helper or Django is an open source bootstrapper for getting Django started on App Engine. Downloading it from the website will currently give you quite an old version (r52) which will not work in this tutorial. Instead, use subversion to get the latest (r74).
svn export http://google-app-engine-django.googlecode.com/svn/trunk/ gae-django-tutorial
mv ~/django.zip .
Setup App Engine
As you would with any GAE application, edit the app.yaml file to refer to your application ID. The Helper also needs to know where your Google App Engine SDK is, since it is going to change how you start the development server, so create a link to it:
ln -s /path/to/google_appengine .google_appengine
Start the development server
Django has a different way of running the development server. Instead of using dev_appserver.py to start the dev server, do the following:
python manage.py runserver
If everything is running correctly, you should see something like:
INFO:root:Checking for updates to the SDK.
INFO:root:The SDK is up to date.
INFO:root:Running application google-app-engine-django on port 8000: http://localhost:8000
However, if you are like me and saw an error like the following:
ImportError: No module named antlr3
Then you will need to install the antlr3 python module. Luckily this is easy.
Lets see the site! When you go to http://localhost:8000/ you should see a page saying “It worked! Congratulations on your first Django-powered page.”
Pretty (un)impressive huh?
Ok, now lets start doing something. Kill the server by pressing Ctrl-C. The Django tutorial is the next stop, which involves creating the Polls Django app. You can read through there to get a full understanding. For simplicity, I am only what I did to get it working.
python manage.py startapp polls
Well, this is my first blog post, so what should I write about? Why not have a little rant about something I discovered recently (at least on Ubuntu).
sudo depends on DNS
WTF? Why does something like local privilege escalation, which does not leave the machine I am on, have anything to do with networking. Further, why the hell should a network configuration issue stop sudo from working. And even further still, why would Ubuntu (which as part of the normal install process does not set a root password) allow something as essential and necessary as sudo to be depended on a functioning network configuration?
Amazingly though, a Google search showed this is a known issue. I really like the title of this bug: Manually Configuring Network Causes Massive, Unreversable, Failure.
I believe this will be the first of many rants this blog will see, so readers (yes all 1 of you… thanks honey), check back soon. I’ll try and keep it G rated, but no guarantees :–)