Tuesday 15 May 2012

Facebook.... Part 4..... The final part?

I think I've been avoiding the last part of my story.... it's all been really positive so far but the evening of the technical test came and I had a phone call from a software engineer in California.  The strong american accent booming over the phone and I felt like I was talking to a movie star.

He asked a few standard questions, like "why facebook?"  I, of course, had thought through this question, after all if I'm going through the process to work for them, then there has to be a good reason.  Well it's facebook for a start, it's changed the way we communicate with each other, it's become the centre of many social groups.  Not only that, I create software and then I don't often hear what the users themselves think or see how they use it.  Now with facebook, it would be something I actually use myself and see instant feedback from friends.  Something you see the benefit of straight away.

I heard myself saying this, and I could hear a wobble in my voice that I have never ever heard before.  The nervousness had caught me.  I tried to steady my voice, but then I just sounded arrogant, instead of my normal telephone interview voice, which I think comes across bubbly and confident.  I started to concentrate on trying to keep my voice even and then started to hear myself waffle.

I have never known nerves like it.  I'd built myself up to these nerves, it was something I desperately wanted and the sheer pressure was now playing on me.  I'd put myself under this pressure no-one else.

So we brought up a web page for us both to share and he put to me an algorithmic puzzle for me to solve.  The problem was clear enough and while I tried to buy some time thinking about my problem, I started by outlining some unit tests I would normally start with.  I was stopped in my tracks by the interviewer, as he said "I get what you're trying to do there, just move onto the algorithm".  I'm a test driven developer, I can't quite remember how to write code form scratch... I write it from a test!  Anyway I tried to move onto the algorithm, and started by putting in some boiler plate stuff.  Yes you've guessed it the interviewer stopped me in my tracks and asked me to carry on with the algorithm.

OK, so write the code.... write the code..... oh no my brain had stopped working and all that was going through my mind were tumble weeds.  Then "Think-Think-Think-Think" were the only words scattered through my mind, and my brain suddenly became incapable of thinking about this problem.  My cheeks flushed with embarrassment.  This is what I'm good at, I'm good at these kinds of algorithms.  My cheeks flushed more.  I'd just lost it.

The interviewer was kind enough to offer that I spend the next hour finishing off the algorithm and then email it, so he could include it in his feedback.  He then said I could ask him anything I liked about working at facebook and his experiences.  I asked some random questions, thanked him for his time and hung up.

My cheeks were still red with blushing.  I made a cup of coffee, calmed my nerves and finished the algorithm in 10 minutes.  I sent this on and didn't really await an answer.  I knew I hadn't got any further in the process.  (An hour later I could still feel the heat form my blushing cheeks!)

A week or so had passed, and I thought it would be worth getting some feedback in case there was anything I could learn about how to improve my interview performance for future reference.  So I emailed the recruiter, who phoned me back a few days later.  It was no surprise when the words she spoke was "we won't be taking it further at this stage."  She told me the algorithm was correct, but I just hadn't done it in the time.  However.....

She told me that they thought I was right for the culture and clearly smart, so they'd like to come back to me in 6 months time, to give me time to prepare and practise.  So there we have it, it was a no for now... but not forever.  So now I have a good few months to prepare and practise.

Keep your eyes peeled for part 5 in a few months........................................ xx

Thursday 10 May 2012

Facebook Part 3 - The Technical Test..... (Prep)

Back by popular demand, I am carrying on my exciting tale of trying out for a job at facebook!

Now how do I say this modestly?  Oh there is no way!  I think I impressed the recruiter, and she started to tell me about the next stage, which would be a technical test over skype with one of the Software Engineers in California.  She suggested as I wasn't used to their style of technical tests that I prepared and practise, she told me that the interview would involve me doing an algorithm.  Ohhhh a proper test, the kind of thing I do every day - writing code!  How exciting!  She told me another HR type person would be in touch with the details.

So that very evening I started googling and I found an interesting book about cracking the Silicon Valley interview.  This is where it all went wrong for me... the book scared me!  Oh did this book scare me!!  It started off by saying that it takes a year to prepare for a Silicon Valley interview.  A YEAR?  I had 2 weeks, at best!  OK, so time to knuckle down and read this book.  As I started to read about linked lists, binary trees and the like, it all started to come back to me from uni, but I was getting through the book slowly as these things were quite rusty in my brain.  I didn't get round to practising many of the exercises and I kept going off on tangents when I came across something that interested me and spent time researching it on line.

A week has passed and I still didn't have a date for the technical test and I eased off the studying for fear of wasting my time.  I gave a gentle nudge to the recruiter, who asked me to contact her again if in a couple of days I hadn't heard anything.  Those couple of days passed and I sent her an email to tell her that I still hadn't heard anything and was starting to think that they'd changed their mind and didn't want to take the process any further.  However that evening I received my date for the technical test.  Just 3 days away.

By this point, I was extremely nervous, felt vastly unprepared - by a total of 50 weeks worth of under prepared-ness.  I'd got myself tremendously excited, this was an opportunity to be taken seriously.  It had gone from a good experience that would also look fabulous on my CV and would open further doors for me in the future, to this company is amazing and I'd like to work for them for the rest of my life.  It wasn't just the free canteen for breakfast, lunch and dinner or the fact that you can drop off your laundry in the morning and have it delivered to your desk.  But the whole ethos of the place.

I was reading about them moving into Sun's old offices (which on another level is kind of sad, as it really brought home to me that Sun are no more and not coming back - RIP Sun!  We all now hate Oracle for what they did to you!)   Anyway when facebook moved into the offices they knocked down all the walls, removed all the offices and had a nice open plan space, to innovate and communicate.  They pulled down one wall to reveal the pipes behind it, to remind everyone that their work is never done and there is always room for improvement.  Everything they seem to do, is to enthuse and try and bring a natural creativity to the organisation.  Black boards coat the corridors with every employee given a box of chalk.

Maybe not everyone's cup of tea, but it seems the right colour and temperature for me to want to take a sip and see if it tastes as good as it looks.

I had hoped to get to the technical interview in this blog.... seems I'll have to leave that for part 4!!

Wednesday 2 May 2012

Facebook (Part 2)

I had arranged for one lunch time for the facebook recruiter to phone.  I headed out to my car and sat waiting for the call.  I waited..... I waited..... I waited..... I sent an email from my phone asking if he had my mobile number (which I knew he did!) and went to get myself a sandwich.  My phone did not ring that day.

I came home and looked at linked in and checked out the recruiters page.  Interestingly it stated that he worked at facebook from September 2011 - March 2012, not to present.  Had I been head-hunted by someone that no longer worked for the company?  Was that the dream over before I even had chance to mess up my own interview?  A little disappointing!

I emailed my friend at facebook to find out what had happened, and he in his professional way being true to facebook, yet giving me the details I needed, he told me it was an internal matter and someone else would contact me.  Sure enough, another facebook recruiter contacted me via email and I arranged another phone call during my lunch hour.

I nervously waited for the phone call and I almost jumped out of my seat when the phone did actually ring!  The recruiter I spoke to apologised for the mix up, and she put me at ease right away as she was the kind of person you find in my group of friends.  We spoke in detail about every job that I've ever had.  Now if you've seen my CV you know that isn't a quick task.  I'm quite amazed these days about how positive I am about every simple one of my previous employers where I would pull out what I gained from the job and what I enjoyed.  Maybe I am just grateful for the vast experience I've had, and without everyone one of those jobs I wouldn't be in the position I am now (there I go again on the positivity malarkey!)

She asked me where I saw myself working at facebook.  A difficult question to answer, and I waffled something about team work.  She then went on to describe a job that couldn't have matched me better.  A role where they needed someone who could see the whole process from end to end, as while they need people to specialise in one area they also need people who are able to see the whole picture.  Someone who could pick up a new technology quickly and constantly moving from different areas, improving quality of code, and from the sounds of it sometimes just refactoring so it was readable clean code.  (I'm jumping up and down at this point with a hand raised saying "Me, me, look at me here, this is me").

For this jack-of-all-trades-master-of-none-geek-girl over here it sounded wonderful!  Forever wondering if I was hindering my career by never specialising in one area, and always jumping around from technology to technology, from language to language, here was not only the proof that it hadn't hindered but here was a job tailor made for me.

She then started to tell me about the rest of the process would go..... and of course I'm going to leave that for part 3......


Wednesday 25 April 2012

Asked To Work For Facebook? (Part One)

No blog for a while, I'm getting lax.  Maybe because I just don't know how to tell my exciting story!!

I finally decided to join the world of linked in, which in itself isn't anything exciting.  However a few days later I received an email entitled "Work For Facebook", and the email talked about wanting to discussion an opportunity they have with me to work at facebook in the USA.  The obvious thoughts then flashed through my mind... "wow facebook!", "have I just been head hunted by facebook?", "but it's America", "Oh it could be a scam." and "Oh I'd better check this out as it's probably a scam of some kind."

So first things first, I checked out the guy on Linked in, OK so far so good it said he works for facebook as a recruiter.  Next step message (on facebook of course), contact an ex-work colleague who now works for them.  Turns out it had been him that had recommended me!  Bless!  That in itself is such a good compliment - this guy has the brain the size of a planet, and not a small planet at that, and he recommended me... me(!)... to work for one of the biggest organisations in the world.

OK, so now I know it's for real, we have another bridge to cross it's the other side of the world.  Would I really pick up my life and move to somewhere new?  Would I really do something that would mean experiencing something new and exciting, something that is also easily reversible if I didn't like it (after a good try of course!)

So the excitement and day dreaming began.

I replied to the facebook recruiter to tell him I was interested and left my mobile number with him.    He asked for my cv, which I promptly sent..... after having to update it as I'm quite happy where I currently am and would only move for something amazing..... like facebook!

Next stage, arranged a telephone interview with the recruiter.  Now here's where it gets a bit strange. .....


To be continued...........................................................

Wednesday 22 February 2012

Girly and Geeky and Proud!

After trying to think up new ideas for an android app, the thought of "learning to program for girly girls" crossed my mind.  Of course that then begs the question of whether there is a market out there.  How many girly geeks are out there.  I'm sure I'm not unique. Sadly I'm in a minority and found half started blogs and pages, where clearly their audience wasn't very big so they lost interest.  How very tragic is that!

One thing is sure and what was clear from every one I came across was that they had a reoccurring theme: they are a girly geek and proud!  I know in my late teens and early twenties I tried to hide my girliness, as I thought that was right.  I would always try and show all the kinds of things I like that aren't girly, such as football and computer games.  Let's face it though these days most girly girls, whether geeky or not, like football.  So there is nothing new there.

So what changed?  Why did I stop trying to hide the girliness within?  Yes I still like football, computer games, poker, etc.  I guess it's with age, you just decide to be yourself.  Although to be fair I have found out that I hid my girliness badly.... and was fooling no one.

Has this ever caused me any problems in my career?  No.  Have I ever been perceived that I can't do my job?  Perhaps sometimes when flustering and not using technical terms, or waffling.  Or indeed during the lazy days when I used to flutter my eye lashes and get someone to do my work for me.  I don't advise you do that by the way (and I haven't for many years!).... work gets very boring when you're not doing your job and after all I enjoy coding, so why get someone else to do something that I actually do enjoy!!

So now I'm confident in what I know to be right, and confident to say when I just don't know the answer, or sometimes add the phrase "I'm guessing", I think intelligent people respect me.  I say intelligent people, as they quickly see through the bubbliness, and the perfect nails, and see that I too know what I'm on about. 

I'm going to have to add, that sometimes it's how you deal with people, and that goes for whether you are male or female.  Us programmers have egos.  In this industry you have to know how to talk to people, how to suggest things, how to fight for what you think is the right way to do something and sometimes I get it wrong.  Sometimes "Miss Bossy-Boots" comes out, and then it might as well be game over, as no-one likes her when she shows her face.

I've tried different approaches at every company I've worked at, and while the stern no nonsense side of me gets the job done and gains respect from the managers, it becomes a lonely and unrewarding place to be.  It's only recently that I've learnt that bubbly friendly, working hard girl still gets the recognition, and not only that, it makes for a much more enjoyable day at the office!

It is interesting that during my early days as a programmer, I look back and don't think that I worked to the best of my ability.  However interesting enough I've been chatting to work colleagues from that time and they remember a different picture to me.  They remember me as being good at my job, or bringing something new to the team.  Someone recently even told me I was a breath of fresh air.  

I can only conclude, that I'm girlie, geeky and proud, and how nice it is that I'm not alone in feeling like that! xx




Wednesday 8 February 2012

Agile?


This is my third attempt at writing about agile and why I like it!  I find myself going on while explaining, and not in the best way.... so I've decided to start this blog with a link to someone who can explain it all far better than I can.  Who better than Uncle Bob to tell us about it....


Be Inspired by Robert C Martin

When I first watched that video, it almost sounded space aged, now it's the world I live in.


I work in a 2 week iteration - I have a clear picture of what is expected of me, I know what my colleagues are doing.  I get quick feedback if what I'm doing is what the customer really wants.

I do TDD - my code is derived from my test, I don't write code without having a failing test.  I have confidence in anything I change.

I pair program - I keep focused by discussing and communicating what I'm doing and why I'm doing it, while I'm driving, I ask and learn from my colleague while they are driving, whilst I add any suggestions.

I keep my code clean - I try to write my code so the next person to read it can understand it quickly and easily.  We read code 10 times more often than we write it.

I refactor - with the confidence of tests I feel I can improve the code without damaging it, sometimes only in a very very minor way.  Leaving it in a better state than when I found it.  The boy scout rule - leave the camp site cleaner than when I found it.

I'm improving - working in short iterations I can quickly learn from any mistakes and improve.

In summary, I'm becoming proud of my profession and any work I produce.  It's a very rewarding feeling, and I don't want to work any other way.... well not until they have found a better way... and isn't that the agile way anyway?  Keep improving and finding better ways that work for you, for your team and inevitably for the project.








Saturday 4 February 2012

Off Topic... Tattoos (& XML)

For the geeks out there you will instantly see why this bit of XML doesn't parse: XML Wrist Tattoo Straight after posting a mocking comment with the picture on my facebook page, I then quickly realised that maybe he wasn't trying to be "correct" maybe it was what the meaning of <love> </hate> actually meant to the owner.  Were they saying "don't let the love end, and stop hating before it's begun."  Anyway what does it matter, it probably means something to the person who was prepared to have the commitment of them inked upon their skin.

It only comes down to first impressions, and my first one was unfortunately a bad one.

Whilst watching a show with Davina McCall and Fearne Cotton, I was admiring their wrist tattoos.  I've always said I wouldn't get one; they are just the trend at the moment and will show your age in years to come just as tribal bands do now.  Many people are getting them just because celebs have them, but it got me to thinking about them none the less.  Don't they quickly give a glimpse of who you are, and they are sociably acceptable due to the popularity, (unlike for example a face tattoo) and a nice chunky bracelet or watch can quickly cover them up.

I've also said I would never have a tattoo that is visible while at work, just because of the preconceptions that people have of tattoos.  That said I'm never shy to tell people I have 3 on my back or show them to people who are interested, so what difference does it make?

Anyway perhaps something to think about after my next tattoo.  I have my next hidden tattoo planned, and I'm so lucky to be on the waiting list of one of the countries most talented artist who can pick and choose the work she does.... and I can't wait to show it off to who ever I choose!