Getting your first “real” job: 0 – Introduction
Having recently finished a job search that has taken waaay too long, I will probably have some advice in the next few months for recent grads which I will want to share while it’s still fresh. So I’ll probably kick off a series on this topic and touch on a few different areas.

(Image source: http://s0.geograph.org.uk/photos/29/83/298363_f4ceabc2.jpg)
I’ll try to not reiterate things that are already out there and probably better presented (such as resume samples), but instead focus on more “high-level” and personal advice.
Also, this will probably be more helpful to computer science (and related) grads than to the rest of the world, but I think some advice may be worth taking away regardless. We can always build up based on questions from the “audience”.
To start you off, if you are or were a CS student, you need to read this article. Now.
Still here? Okay, here’s a few points to get started.
Grades aren’t really that important.
I had two CS degrees, some research experience and a published paper; I was first in my class with the highest GPA that year, best senior design project, magna cum laude, Dean’s List, ACM president and quite a few other academic distinctions, awards and latin words to feel smug about at Christmas parties.
While these are all good and they do say some things about me (things that some – read a few – companies do care about), I must stress that your grades will not get you a job.
There are two take-home messages here.
* First, if you have really good grades, good for you, they will give you a slight boost, but will not be even close to enough to get you a job. I’m sorry, but that’s the truth.
* Second, if you don’t have really good grades, don’t worry about it for one minute, it doesn’t matter (or rather, it doesn’t matter as much as the other things you may have done).
The economy you say? What economy?
If you’re looking for a job now (as in around the time that this post is published), you need to face the fact that the world kind of sucks. I can’t help you with that. Companies don’t have much money to throw around and whatever money they have will rarely be used on hiring entry-level developers, which are always a bit of a gamble (an entry-level dev could be a really good, yet-unknown talent and you get yourself a great deal, but more often than not they are not good at all, and you’re losing money on bringing them up to speed).
You’re also more expensive to your employer than you think. Sure there’s your salary, but they also need to invest in your training, in the time that other people will spend helping you out in the beginning and in the fact that you are probably not as efficient as people with at least one year of experience behind them. So if your salary is disappointing, keep that in mind.
If you don’t think you can take it, go get a PhD if you want and hope that 6 years from now things will be better. Otherwise man-up (or woman-up) and deal with the fact that getting a job will be very difficult and you may not land the opportunity that you were dreaming about in freshmen years.
I just can’t get a job!
Don’t allow yourself to become desperate! At some point an opportunity will come your way and you will be tempted to hug it immediately because it’s the first one to come out of a potentially long period of silence. Don’t rush into it and think about it first!
It may not be what you wanted to do and that’s not necessarily a disaster, as long as it’s in line with how you see your career going in the next few years. If you want to be a developer, will this position involve coding or interacting with code? If you want to be a consultant, will this position let you interact with the businesses? How will this job help you get trained? What’s the possibility for growth? If you’re in the kind of work that needs certifications, will this job help you get them? etc.
Again, yes money is important, but money is short-term and just one part of the picture. You’re just starting out, make sure you’re going in the right direction and in the long-run you’ll get more satisfaction and more money. Don’t sell your future for a few extra thousand.
You can ask these questions during the interview, if anything they will show that you know what you’re looking for and are genuinely interested in understanding the offer. You can also negotiate some of these things.
At the very least, make sure you will like what you’re doing. Otherwise, as stressful as it may be, keep looking.
I bombed that interview!
Keep growing even while you already involved in the job search process. If you get a technical question on an interview that you can’t answer, look up the answer later. If it shows an entire area that you’re not as strong on as you should be, read into it before you schedule your next interview. Be prepared for “soft” questions such as what is your strength/weakness. If you find that you seem to be lacking on an area of experience and have some time to spare, try to get on that (this could be anything from learning about design patterns to getting involved in an open-source project etc.) More on that when we get to the interview part.
Next up, I’ll give you some points about resumes and getting started.
NaNoWriMo is here!
November 1st is here! A good month for moustaches, getting out your winter coats, preparing for preparations for Christmas and … WRITING!
NaNoWriMo starts today and as I wrote previously, I’m all about that.

One of the things that strikes me about how genius this idea is, is how I felt about it in the last few days. I’m already balancing a lot of “extra” things on top of my regular life. I’m working on an Android app with Marco (while learning Android as well since this is the first app that will hit the market), I’m doing the Stanford online classes and a lot of other smaller things sitting in the “to-do” list as well. Where in the world will I find the time to write a novel?
But if you sit down and think about it… truth is, there isn’t a better time than now. I will never have more time, I will never find myself involved in fewer activities. If I can’t find the time now, quite simply, I will never be able to, which means that I would never write a book, fictional or otherwise. Now this thought I don’t like at all since it’s been a dream of mine since I was very young to write books so clearly I have to find the time! That’s why NaNoWriMo is so great… if one day I have a book published, it’s very possible that I may trace it back to this one moment as that time when it all got started!
The challenge forces me to focus on the pleasant part of writing, which is spewing out my ideas and pretty much completely prevents me from getting writer’s block since I will never stop to edit or worry about quality until the month is over. If I have 50k words on December 1st… that’s a novel ready for editing and that is simply incredible.

It’s only been one day, but so far I’m well on track. I’ll keep updating as the month goes through and I will try to keep a high pace in the beginning, since I expect my “normal” life to get busier towards the second half of the month, so I would rather get more out in the beginning.
So thanks again to NaNoWriMo and to everyone who’s supporting me through this! Now let me get back to writing, I have a kingdom to save!
Online courses
As I have mentioned at some point the past, Stanford is offering some online classes. As far as I know, there are three such classes: artificial intelligence, machine learning and databases.
I joined up the AI and the ML one. This is the third week of classes now, so it’s perhaps time to draw up some initial thoughts.
Both classes are challenging, they put out a lot of material to go through and there are weekly assignments. There seems to be a stronger emphasis on work “in class” or more precisely while watching the lecture videos than in regular classroom courses, but this may depend on your experience (I actually took one or two classes with a similar amount of in-class work). The homeworks so far have seemed rather light (meaning short, not necessarily easy or difficult). I’m guessing it will pick up as we move forward.
I think that the machine learning course is much better in terms of logistics. I can check the progress easier, there’s a discussion forum up on the website, I can watch videos at different speeds and the idea of using slides and a tablet for presentation notes seems much better than hand-writing on paper slides. Also the sound quality is better, but this is just being picky about details, the content is very good from both and well presented.
So I’m quite happy with the classes so far, but it’s a very different experience from a real class (as you may expect). The biggest issue I’m finding is with asking questions. One of the things that I thought was really exciting about these classes was that they were trying to design a system for answering questions that was suppose to push up the most voted/popular questions (since they can’t possibly answer questions from all the students enrolled). Unfortunately, it doesn’t seem to have happened yet and I think that’s a very important thing that needs to be solved.
I’m looking forward to see how this will work out. Fun fun
Sad October
This has been a very sad October for the tech world. After Steve Jobs passed away earlier this month, we lost two more tech giants in the following weeks.

Dennis Ritchie, known best as the creator of C and a key person in the development of Unix, died this month. With all the credit given to companies like Apple and Google for their innovation, it is important to say that without people like Ritchie, none of what we use right now would be around.

And if that wasn’t enough of a hit to the tech world, John McCarthy – the inventor of LISP and a pioneer in artificial intelligence – also died this October. Both Ritchie and McCarthy were Turing Award winners and I would say influenced the world of computing at least as much as Steve Jobs did, if in a different way and not so much in the spotlight.
If you take the most recent iPhone, this influence is easy to trace. The operating system is a “unix-like” OS. The programming language for building apps is based on C. The new Siri “talk-to-your-phone” functionality is just a modern example of the progress in artificial intelligence. So while we pay our respects to Jobs for his dedication to usability and aesthetics, we mustn’t forget the people working behind the scenes to make these technologies possible. All of these are essential to the progress of the tech world and they are all deserving of our respect, love and gratitude.





