Showing posts with label jobs. Show all posts
Showing posts with label jobs. Show all posts

Saturday, February 15, 2014

Principles of seeking employment

Educate! Network! Present!

“It is interesting that the first recorded instruction given to Adam after the Fall, dealt with the eternal principle of work. The Lord said: ‘In the sweat of thy face shalt thou eat bread.’ (Gen. 3:19.) Our Heavenly Father loves us so completely that he has given us a commandment to work. This is one of the keys to eternal life. He knows that we will learn more, grow more, achieve more, serve more, and benefit more from a life of industry than from a life of ease.”
- Howard W. Hunter
https://www.ldsjobs.org - Tools for unemployed, underemployed, employers, self-employed, and employed. Excellent resource. Open to other faiths. Create an account and check it out!
“Education provides understanding and skills that can help people develop self-reliance. . . Work is the foundation upon which self-reliance and temporal well-being rest.”
- Handbook 2

Educate!

Here are some sites that offer MOOCs.

Network!



“This is your phone call” - Richard C. Edgley

Present!

Have three resume formats:
  • Everything (including kitchen sink)
  • Text only (for online forms)
  • One page (for handing out)

Find creative ways to leverage non-work experiences!
Search for more recommendations on

http://xkcd.com/192/


http://xkcd.com/1037/

Link to the original document: http://bit.ly/LYPWUB

Monday, August 27, 2012

Why it's awesome to work at Bit9


I recently had the pleasure of attending some instruction from retired four-star General Bruce Carlson. The material covered a number of things, including some important life lessons. He emphasized the importance of making sure you love what you do, saying something along the lines of: “my wife tells me I had a job, but I don’t remember doing a single day of work. I got to fly planes for a living.” I suspect some degree of hyperbole, but it still made me think about where I currently choose to earn my living. Not only do I enjoy working at Bit9 (CrunchBase Profile), but I feel others should know that so they will join the company if given the opportunity.

Saturday, June 2, 2012

A quick note about Flame

Maybe you've heard about the Flame malware in the news lately and how it evades all known antivirus. Turns out that Bit9's Parity software stops it. Nice to work for a company with such a great product. More information to come on Monday!

Thursday, August 25, 2011

The Bit9 race car team

Sorry for the kerfuffle over the last set of Bit9 race car pictures. I should have that squared away now. If you took a look at them, you might have wondered if they were legitimate. I'll admit that even I thought they were photoshopped. I am now certain that there really is a Brazilian Bit9 race car team. Our partner in Brazil, FreeDivision, seems to be pulling out all the stops! Ka-chow!




Monday, July 25, 2011

Interviewing with BAE

Here is a description of the process I went through when interviewing for my first real job out of grad school. I interviewed with BAE-AIT specifically. The whole process started because I posted on Facebook that I needed a job. One of the employees in that office found that and sent me in as a referral. I had never met the guy or heard of the office, but it got things rolling and they kept rolling until I had a job! It has been three and a half years since I went through this process, so my memory fails me at some points.

  1. I had my first interview over the phone with a section lead (manager of half-a-dozen people). He asked me about my history and my interests. No real technical questions, although we did talk intelligently about my school work up to that point. Whatever I said must have been good because they then decided to bring me across the country (from Utah to Massachusetts) for a full day of interviews.
  2. I spent a solid day interviewing.
    1. My first interviewer gave me an overview of the company (with slides) and described the main product, ATIF. The technology was not directly related to my academic experience, but it looked cool and she claimed to like the questions I asked.
    2. Next, I gave my presentation. I essentially gave a combination of my LCTES and PLDI talks. It went really well. This, more than anything else, landed me the job (I think). My future manager asked me some fairly specific technical questions that I fielded well. One audience member asked me a question to make sure he understood what I had done. When I answered that he had it right, he leaned back in the chair with his hands on his head and said "wow."
    3. My first real interview did not go so hot. The interviewer asked me about object oriented design. I had known this was coming and had studied on the plane, but I still thought too much like a C programmer. I was glad to be done with this one.
    4. Second up was my future manager, although I did not know it at the time. He had asked some tough questions during my presentation, but the technical question he asked me during the interview was about bit manipulation. He wanted me to reverse the order of the bits in an int. Not a problem.
    5. I had one more interview before lunch. This one had a technical question about developing a protocol for communication between two processes. I did not think I handled it too well, but I also do not think I bombed it.
    6. For lunch I went with two section leads. They both spoke in glowing terms about the company, and their enthusiasm was contagious.
    7. The final technical interview that I remember went over a home grown data structure for managing search trees. The engineer I talked with and I just walked through the white paper and discussed the pieces. He did not seem to be trying to judge me as much as showing me what kinds of problems they dealt with.
    8. My last interview of the day was with the director (manager of a handful of sections). Unfortunately, my brain was fried by this point and I do not think I put up my best performance. I must not have done too bad, though. . .

Friday, June 24, 2011

Unemployed

Yesterday was my last day of work at BAE Systems. I am now unemployed!

Not really. New job starts on Monday with bit9

Wednesday, January 26, 2011

Technical phone interview

Eventually I had the technical phone interview with Facebook. It went pretty well, I think, but did not result in further interviews. The interviewer was a relatively new engineer there that got a PhD doing distributed systems work.

The interviewer started out by asking me to say some more about my background. I mentioned briefly what I am currently doing and then went into more detail about my graduate work. The interviewer asked follow up questions that required me to go into more detail than I normally need to when answering this type of question. At one point the interviewer asked me to explain the unique contribution of my dissertation and I floundered a bit. Oh well.

I got asked "Why are you interested in Facebook?" I was honest here and said that basically "you guys came to me" and "Facebook is cool." I think this, more than anything else, is what deterred a future interview. If you are interviewing with a company, have some good reasons why you want to work there!

The interviewer shared a little about their background.

We also discussed hip-hop. Alright, so it is really HPPHP, High Performance PHP. It is a tool they use at Facebook to enable web designers to code in PHP and still get the performance of C++. The interviewer did some rough math on a hypothetical situation. Suppose we have 100,000 servers. Each of those servers costs $5000 for the hardware and then another $5000 for maintenance over three years. That's $1,000,000,000. HPPHP results in a 50% savings. Instead of 100,000 servers, we can get away with 50,000 servers. That's $500,000,000 in savings. Now consider if it is just 1% savings. That's still $10,000,000! One of the interviewer's points was that in academics, 1% is nothing. In the real world, it matters.

Of course, there was also a technical question. The interviewer had me go to a website which opened up a shared notepad-type interface. We could both type on this interface, although there was some lag. Once I got a strange pop-up come up because I tried to use an Emacs shortcut (fingers were on autopilot).

The interviewer listed some numbers in a sequence. My job was to figure out the next element in the sequence and then write some code that would print out the for n elements of the sequence. The sequence started at 1 and then each next number was the previous number read out loud. So 1, then 11 (one 1), then 21 (two 1s), and so on. Not too bad.

At first I tried to reason out the mathematical relationship between the numbers, but the interviewer quickly intercepted me and indicated there was not one to be found. The interviewer suggest I just code it up like I did it in my mind. So I did.
             1
            11
            21
          1211
        111221
        312211
      13112221
    1113213211
31131211131221

// Prints first n numbers in the sequence
void seq(string n)
{
    cout << 1;
    string last_number = "1";

    for( int num = 1 ; num < n ; num ++ )
    {
    
    
  // Last char
  char last_char = 'x'; 
  unsigned count = 0;
  string new_number = "";
  for( int x = 0; x < strlen(last_number) ; x++)
  {
    //character
    char c = last_number[x]; 
    if( c == last_char )
    {
        count++;
    }
    
    if(( c != last_char) ) 
    {
        if( count > 0)
        {
            new_number+=(itoa(count));
            new_number+=last_char; 
        }
        last_char = c;
        count = 1;
    } 
  }
     new_number+=(itoa(count));
     new_number+=last_char; 
  
    cout << new_number;
    last_number = new_number;
    
    //int y = atoi( c );
  }
}
The formatting is awful but the interviewer seemed satisfied with my response. Here is a version that I spent a few minutes getting to actually compile:
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <sstream>
#include <cassert>

using namespace std;

// Prints first n numbers in the sequence
void seq(int n)
{
  if(n < 1) return;
  cout << 1 << endl;
  string last_number = "1";
  
  for( int num = 1 ; num < n ; num ++ )
  {
    // Last char
    char last_char = 'x'; 
    unsigned count = 0;
    string new_number = "";
    for( int x = 0; x < last_number.length() ; x++)
    {
      //character
      char c = last_number[x]; 
      if( c == last_char )
      {
        count++;
      }
      if(( c != last_char) ) 
      {
        if( count > 0)
        {
          ostringstream tmp;
          tmp << count;
          new_number+= tmp.str();
          new_number+=last_char; 
        }
        last_char = c;
        count = 1;
      } 
  }
    ostringstream tmp;
    tmp << count;
    new_number+= tmp.str();
    new_number+=last_char; 
    
    cout << new_number << endl;
    last_number = new_number;
  }
}

main(int argc, char** argv)
{
  assert(argc==2);
  seq(atoi(argv[1]));
} 
That compiles with g++ in cygwin and it appears to work correctly. I noticed a few mistakes in making the version that actually compiles and did things a bit differently in some places. Might be one of the reasons they didn't want another interview.

As I have written this up I recall the problem was posed as a basis case and an inductive case. That seems to indicate that a recursive function could also solve it. That would have been clever. Might have been what the interviewer hoping to see.

After writing the code the interviewer had to leave for another meeting. I got to ask one question, so I asked what Facebook was doing to maintain its culture as it became larger. He gave a semi-generic answer, which is about all I should have expected. Then that was all.

A few days later I emailed the recruiter to follow up, and the recruiter let me know they would not be pursuing further interviews with me at this time. It was actually a relief to not have to decide between a sweet job and our #1 location.

Monday, January 24, 2011

Facebook technical phone interview prep

After my initial Facebook interview the recruiter told me they wanted to have a technical phone interview with me. The recruiter then passed me on to somebody else who arranged the interview. Meanwhile, the recruiter sent me some tips on how to prepare.
Please research any recent news about Facebook for talking points and more information about the company. You may be asked questions as to what your favorite features of the site are, and how you might improve those features. It will be helpful to take some time to think about this beforehand.

Be prepared for technical questions involving coding or algorithms in your best language, design patterns, and more specific questions to your background. It may also help to review core CS concepts (data structures, binary trees, link lists, object oriented analysis/design) as well as subjects pertaining to the scale of our environment. Please be near a computer with internet access as you will be coding over a web application.

It will help to look at the puzzles on our careers page for some ideas on the types of problems they will potentially ask. For coding questions, you will be asked to produce clean, efficient code in a reasonable amount of time. You have 45 minutes on the call. If the interviewer gives you hints to improve your code, take them and run with them. It is good to adjust and work through the problems with the interviewer to show your thought process and problem solving ability.
Simple and straightforward enough. The recruiter also sent me a bunch of links to review. I had heard most of the news through TWiT and TWiG, but the list still provided a nice review.
In preparation I also set up Chrome to have bookmarks ready while I interviewed. That ended up not mattering much, but I will tell that story later.

Friday, January 21, 2011

Facebook phone interview

I recently had a preliminary phone interview with Facebook. The recruiter contacted me out of the blue saying they were looking for "rockstars." I almost marked it as spam, but then actually read it. Facebook is the kind of company that I can't at least consider should they choose to pursue me. Plus it is good to try and sharpen the saw every once in a while.

Here are the questions I was asked and some of the answers I gave:
  1. This position is in Palo Alto. Are you willing to relocate?
    Probably. I was being honest here. I think I would be more willing to consider moving than my wife, but working for Facebook is a singularly unique opportunity.
  2. Can you tell me a little bit about the work you are doing right now?
    Blah blah blah. I probably rambled a bit too much here. Oh well. I was out of practice and forgot the preparation that good interviewing requires.
  3. Do you use Facebook?
    Yes. I then told the interviewer that I landed my current job through networking on Facebook. The interviewer asked me to explain that, so I did (probably rambling too much again).
  4. How familiar are you with the technologies we use here at Facebook? Do you follow
    Not very. I know the features Facebook puts out, but not the underlying technologies.
  5. How comfortable are you with technical phone interviews?
    It's hit or miss. I'm out of practice. My actual answer was much more verbose. The straight answer is "I normally stink and do horribly at any technical interview," but that doesn't seem like a good thing to say. Plus, I do occasionally do well.
  6. How many guesses would it take you to find a number between 1 and 1000 if I tell you "high" or "low" after each guess?
    10. I figured they were getting at a binary search, which is O(log n).
  7. What is the run time complexity of inserting into a heap?
    I have no idea. I'll guess n*log(n). I could have tried to figure this out, but I was having a brain fart and decided it was pointless to try and brazen it out. The actual answer is O(log n). Okay, okay. Really it depends on the implementation.
  8. How many direct children can a node have in a binary tree?
    0, 1, or 2.
The interviewer then told me she would pass on my answers and my resume to a hiring manager and that I would hear back in the next few days. The next morning she emailed me to set up a 45 minute technical interview.

Trying to get a job at Facebook? You do have an up-to-date profile on Facebook, right? After that, I would start by poking around at their careers site. I noticed they have a intriguing puzzles section that it probably wouldn't hurt to solve. Facebook has several recruiters on LinkedIn, so just do a search for "facebook recruiter" to get some contact information for a real person.

Monday, December 13, 2010

Online profiles

I played around with my online profiles a bit.

To begin with, I created a "profile graveyard" on this site and moved a bunch of links from my Google Profile. My Google Profile had gotten fairly ridiculous. Alright, fine. It started out ridiculous and it still is ridiculous, but it is less ridiculous than it was a few days ago. All my rarely/never used profiles are now linked from the graveyard and not from the profile.

Once I got going, I then moved on to my LinkedIn profile. My resume and my LinkedIn profile are a bit stale. They still are a bit stale, but my LinkedIn profile is less stale than it was a few days ago. I added a few sections and noted some volunteer work I am doing with the PDMA-CDMA Educational Foundation.

Please go check out my profile graveyard, Google profile, and updated LinkedIn profile. Feedback is welcome, more or less.

Monday, October 11, 2010

Social networking for finding a job

Cool Blog Sociale - 10 July 2008 - I Heart Job Offers Resume T-shirt by BlackBirdTees A One of my former roommates is currently looking for a job. Not exactly something one wants to be doing with the economy barely starting to come out of a steep dive (or so they tell us). On top of the lousy climate, his chosen field is fiercely competitive and volatile.

I am by no means a job-finding expert. However, it has worked really well for me a few times. By the end of my undergraduate degree and then by the end of my graduate degree I could pretty much get an interview with almost anybody I wanted. Of course, about half the time (or more) I then proceeded to bomb the interview, but that is a separate post.

This roommate has been searching for a little over a year, and he asked me for a bit of help with the social networking aspect of things. I got my current job through Facebook and am a big believer in the power of social networking. I think it applies better to some fields (like mine) than others, but it can help everybody.

Just a few quick thoughts on social networking:
  • Don't overlook your family and friend connections. Let everybody you know keep an eye out for you and help you. It may take some humility to open up and ask for help, but if you don't ask you'll never know
  • Always collect contacts. Even if you have a job, collect contacts. Put it in a file somewhere so that you can pull it out when you need it. Cool jobs you see, recruiters that contact you, people who move on from your company. Everyone. Keep email, addresses, and web pages.
  • LinkedIn and Facebook are your new BFFs. Learn to use them and love them.
  • Spend an afternoon or so one day bolstering your web presence. You can make an on-line resume that includes everything you've ever done. It does not need to be limited to a page. Update your profiles to be resumes and portfolios. Make sure some contact information is available (get a Google Voice number if nothing else).
  • Think creatively about jobs and your experience. Some jobs just need smart people who can get trained to do something well. Some jobs just need trusted people. Some jobs just need creative people. Not every job needs 5+ years experience programming in C++.
The advise I gave my roommate was a little more specific to him, but those were the main points. Finding a job is a job itself. Don't use a pistol when you can use a howitzer.