Install MongoDB service on Windows 8

Development, How-To

MongoDB (from “humongous”) is an open-source document database, and the leading NoSQL database. Written in C++.

MongoDB is great for modeling many of the entities that back most modern web-apps, either consumer or enterprise:

  • Account and user profiles: can store arrays of addresses with ease
  • CMS: the flexible schema of MongoDB is great for heterogeneous collections of content types
  • Form data: MongoDB makes it easy to evolve structure of form data over time
  • Blogs / user-generated content: can keep data with complex relationships together in one object
  • Messaging: vary message meta-data easily per message or message type without needing to maintain separate collections or schemas
  • System configuration: just a nice object graph of configuration values, which is very natural in MongoDB
  • Log data of any kind: structured log data is the future
  • Graphs: just objects and pointers – a perfect fit
  • Location based data: MongoDB understands geo-spatial coordinates and natively supports geo-spatial indexing

However, if you are installing it on Windows 8, there is a little problem. In the MongoDB website they offer instructions on how to create a Windows service for MongoDB manually but unfortunately it doesn’t work. If you follow the instructions mentioned in their website, you’ll soon find out that the service won’t start and you’ll be very frustrated.

Here are the steps that you really need to follow to create a Windows service for MongoDB in Windows 8:

Installing MongoDB on Windows 8

  1. Download and install MongoDB. You can download the 32 or 64-bit version from here.
  2. Make sure you install MongoDB in a folder that you can easily remember, for example: c:\mongodb\
  3. Add directories c:\mongodb\log and c:\mongodb\data
  4. Add log file c:\mongodb\log\mongo.log

Creating a Windows service for MongoDB

  1. Open your command window and type the following:
    cd c:\mongodb\bin\mongod.exe --install --rest -master -logpath=c:\mongodb\log\mongo.log
  2. Open the registry settings, press the Windows key and R at the same time and then type regedit in the Run command window.
  3. Go to HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> services
  4. Find out MongoDB directory & edit ImagePath key
  5. Set key value as:
    C:\mongodb\bin\mongod --service  --rest  --master  --logpath=C:\mongodb\logs\mongo.log  --dbpath=C:\mongodb\data
  6. Save and exit registry editor.
  7. Open Services by pressing the Windows key and R at the same time and then type services.msc in the Run command window and click OK.
  8. Find the MongoDB service and right-click on it, select Properties
  9. Make sure the service is set to start automatically and start the service as shown below.mongodb windows service
  10. Open your browser and go to http://localhost:28017/ to see if MongoDB is running correctly, you should see a page full of MongoDB details.






Turning 40

Life, Opinion

Today I am turning 40 years old. What does that mean? that I am old? that I am about to go into mid-life crisis? that I should give up all of my dreams? that I am entering into one of life’s most dangerous ages for men? The truth is that most of the things I mentioned above can only be true if you allow it.

I still remember when I was in my teenage years and I wanted to reach 20 years of age, I was frustrated that I couldn’t reach that age fast enough. When I was around 16 or 17 the idea of being a 20-year-old opened all sorts of opportunities and freedom, or so I thought. By the time I was about to reach 30 years of age I felt stressed, I knew I was reaching an important part of my life where every time you make a decision regardless of being good or bad, you know it would affect you down the road. It also meant that every decision I made would affect not only me but my wife and kids, I was no longer a unit of one.

It wasn’t until about 3 years ago that I started feeling worried and a bit sad that I was approaching 40. I remember thinking of people who age when I was in my early 20s as I looked at teachers, my parents, uncles, etc… to me it meant that if you were a 40-year-old person, you were a super old person. How naïve I was.

Recently I started to realize how our core and our mind doesn’t really change that much with age after you reach your 20s. You do start seeing wrinkles in your face and you notice how your body starts to change but inside, you are still you; The same person who thought a 40-year-old person was super old and this, this is exactly what made me and so many others feel sad about getting older.

I have respect for people of all ages, and sympathy for those who are trapped in an older body when their mind and spirit is still the same, young and full of joy. However, it isn’t easy to accept that your body is just a wrapper and that you are what’s inside of it. You must remember that your feelings, memories, experiences and thoughts are what makes you, the person.

I’d like to think that I still have a long way to go, that I am still in the beginning of my journey, that there are still many awesome things out there to be discovered and that makes me feel young and happy. I think of all the joy that my kids have brought me so far and that this is just the beginning. I imagine myself being a grand father and walking with my grandkids on the beach or a small street somewhere in Europe. I imagine holding hands with my wife and laugh at our ourselves and our old bodies. Sitting somewhere contemplating the horizon and thinking about all the things we’ve done together.

So I have come to the conclusion that age is nothing but a number, it means nothing really and it only helps humanity to divide people by “age” so we can create rules and laws around that.

Perhaps the fact that we acknowledge age and see it as something important is what causes all of us to become old and feel like it. Think about it, we could be convincing ourselves to feel and behave differently just because we are older. How naïve.

What have I done these years since my 20s? here some of the most important things I have done since then:

  • Said bye to my family in Mexico and moved to the United States, undocumented.
  • Got a job and helped my family back in Mexico.
  • Fell in love with my wife.
  • Got married after dating my wife for 3 months.
  • Got my first apartment, for me and my wife.
  • Got my first real job, working at a factory and earning minimum wage.
  • Became a citizen of the Unites States.
  • Went to College in Minnesota.
  • Had our first child, our beautiful Jennifer Lee.
  • Kept working fulltime and going to college in the evenings.
  • Found a job as tech support in a small company.
  • Learned to code and started doing some websites and consulting.
  • Started a Tax preparation company which my wife runs today.
  • Graduated.
  • Got promoted at my job, I was no longer making a minimum wage.
  • Had our second child, our handsome Ricardo Ervey.
  • Moved to another city in Minnesota.
  • Things improve professionally, and the Tax preparation business takes off.
  • Got tired of the cold winters and the snow.
  • Moved to Texas.
  • Bought our first house.
  • Found a job as a software developer.
  • Traveled to Europe for the first time.
  • Had our third child, our handsome and energized Mauricio Dioni.
  • Things improve professionally, my wife takes over the Tax business.
  • Travel a lot.
  • More travel.
  • Move to another job.
  • Start another business.
  • Sell our first home and move into our second home.
  • Kids are growing. Jennifer is in High School now.
  • My brothers and sisters are growing, and so are their kids.
  • By now my wife and I have traveled to almost 10 different countries, and have drank and ate more food that you can imagine.
  • Turned 40.

Today I am 40 years old and I am very happy. If you are into history and would like to know what “other” famous people are turning 40 this year, click here.


Meet Tokio, new member of the family and a gift for my 40th birthday from my wife.


Until next time, I’ll write something similar when I get to 50 :)

How to add a full page background image to your landing page


I recently decided to update the landing page of one of my projects. I wanted to have a full-page background image and change this background image every time a user landed in this page or refreshed it. Here is what I ended up doing:

The <html> tag

Since we are replacing the entire background of your page, let’s add the background image to your html tag. We are going to do this by using some JavaScript that will update the <html> style when the page loads. The reason I am doing this instead of using CSS is because I want to be able to change the background image every time the page loads or it is refreshed.

The first step is to add an id to the <html> tag as shown below:

<html lang="en" id="landing">

Adding an id to the <html> tag allows us to identify it when doing the image background change in JavaScript.

The JavaScript

In order to display a different image every time the page loads or gets refreshed I wrote a function that randomly picks one image from an array. Basically I look at the length of the array (# of images) and then just pick a number from the array using both the Math.floor and Math.random methods from JavaScript.

The last step is to change the background image style of <html> to be the current selected image from JavaScript as shown below:

// <![CDATA[
  function Randomize() {
     var images = new Array("/images/journal1.jpg",
     var imageNum = Math.floor(Math.random() * images.length);
     document.getElementById("signup").style.backgroundImage = "url('" + images[imageNum] + "')";
  window.onload = Randomize;
// ]]>

If you haven’t already I suggest you place your images and any other static content in a CDN. If you have Azure, take a look at my previous post where I explain how to serve static files from Azure.

Please share your comments or feedback in the comments section below. Happy coding!


How to serve static files for your website using Azure

Azure, Microsoft

Killer features and a beautiful design are important things when developing a website. However, none of that matters if your site doesn’t perform well or is not able to scale when necessary. Serving static files such as CSS and images from your web server is not ideal.

These are some of the disadvantages of serving static files directly from your web server:

  • Unnecessary deployment of files that do not change often, potentially slowing the deployment process.
  • Increase the load of your web server, making it less responsive.
  • Increase of hosting costs
  • Etc…

Here are some of the advantages of not serving static content from your web server:

  • Distribute web server load.
  • Save bandwidth.
  • Boost performance and reduce your existing hosting costs.
  • Ability to update static files by replacing them in CDN without having to deploy entire website.
  • Etc…

In this blog post I will show you how to take advantage of Microsoft’s Azure CDN and Blob storage to make your website serve all of its static content from the Azure CDN. If you don’t have an Azure account and you are a web developer you are missing out. Azure supports a wide range of frameworks and technologies including but not limited to Python, MySQL, Oracle, Java, Linux, PHP, Ruby and of course all of Microsoft products such as .NET, MS SQL, etc… Also, they offer a program for startups called BizSpark where you get Azure services for free, you can sign up here if you like.

Create a Blob storage account and a container

First of all you need to create a blob storage account and then a container which you’ll use to store all of the static content. To do this open your Azure portal and then click on the + NEW button located at the bottom left corner of the portal and select Data Services > Storage > Quick Create > as shown below, then just type a URL to identify this new blob storage account. In this example I used the name “mystaticfiles”.

Create Blob Storage Account Image

It takes approximately 1 minute for the blob storage account to be created. Think about it, it takes a minute (or less) to deploy a blob storage account/instance capable of logging, monitoring and redundancy.

After that you’ll see your newly created storage account, click on the name of it, then on the Containers link and then on Create Container as shown below:

Create Storage Container Image

After the Create Container window opens, type the name of the new container and its access type. For this example we are going to select Public Blob which allow us to have a container where all files are available to the public. The other two options are Private which makes the container available to you only and Public Container which allows anyone to have access to the files, metadata and pretty much everything else in this container.

create container in Azure

Manage the blob storage account and container

Now that you have your new storage account and container, you can start transferring static files from your website to the container(s) you’ve created. To do this, you can either write a service that does this for you or use one of the programs available that help you manage your containers and files in an Azure storage account.

I found an open source application to help me manage my storage accounts and containers and so far it has worked out very well for me. If you are interested, you can download it here and even get the source code for it too:

Azure Storage Explorer

You can use this application to browse your files as well. Once you have all your static files in your Azure blob storage containers you can then update your static file’s path to point to the Azure containers. For example, here is a link to one of my images stored in Azure blob storage:

Are you using Azure blob storage? please share any tips or feedback in the comments below.

How to become a software developer

Career, Development

Originally posted on OnTechies:

How to become a developerA person looking to become a professional software developer would ideally have a bachelor’s degree in computer science or engineering. If that is you, then you can go ahead and skip to the next section below. However, if you don’t have such a degree and getting one is not feasible then you need to learn about programming and other related skills on your own. This is now easier than it was before due to the increase of online courses, programming bootcamps and coding schools which have made it easier to become a software developer today. While none of these approaches teaches you as much as a regular computer science curriculum, it does teaches you the necessary skills to get started by focusing strictly on what you need to learn to start coding efficiently. Some of these code school programs and online courses will go as far as helping you get a job by referring you to…

View original 860 more words

Error 0x80131902: Failed to create the managed bootstrapper application.

ASP.NET, Development, Microsoft, Tools

This error message has been giving me headaches for a while, I have seen it happen in different Windows computers when trying to install a Visual Studio update or a new version of Visual Studio. If you Google for the string “Error 0x80131902: Failed to create the managed bootstrapper application.” you’ll find some sites and forums where the following advice and tips are given:

The error in the log, 0x80131902, means that the .NET Framework could not be loaded (more specifically, an AppDomain could not be created).

Do you have at least .NET 3.5 installed/enabled on your machines? You might also connect to Windows Update and make sure you have all required updates installed. There may be some bugs that have been fixed in the .NET Framework.

Another possibility – though not for this specific error but in general – is that your graphics drivers our out of date or not appropriate for your card (mentioned to @TobiasUlm below in another thread). Setup uses WPF and sometimes bad graphics drivers can cause issues (happened with VS itself for some users).

Visit your graphics card’s manufacturer web site and make sure you have the newest driver available for your card and, on Windows 7, that you have the latest DirectX runtime installed. See for more information.

- Heath @; Visual Studio Professional Deployment


As you can install VS11 with the same ISO successfully on other machines, I think your VS11 ISO should be fine. And please follow the steps below to see if it helps you:

TemporarilyTurn off your anti-virus/antispyware software during installation;
Install the latest Windows updates from the Windows Update site: http://update.DataZX.CN;
Complete or dismiss Windows Update before installation. (And don’t forget to turn it on
Clean your %temp% folder (Start Menu >>Run >> Type “%temp% >> OK);
Then run the setup with Administrator privilege: right-click the installer -> Run as administrator.

Vicky Song [MSFT]
MSDN Community Support


Do you also install VS11 Developer Preview on that Windows7 machine? If so, I am afraid you need to first uninstall the VS11 DP and then install the VS11 Beta again.

In addition, please try to uninstall VS11 Beta completely from your machine and then try re-install it to see if you get the same result. And for the .NET application related issues, I think can consider reinstall .NET Framework 4.5 again. You can find it here:

If you still get the same result, please offer me the complete installation log files you get.

Of course I tried all of those suggestions but none of them worked for me. Every time I tried to install a VS update or a new version of VS – this is the entire log showing me the errors, the error messages were exactly the same for both updating or trying to install a new version of VS:


[0898:1304][2014-04-11T09:08:22]: Loading managed bootstrapper application.
[0898:1304][2014-04-11T09:08:22]: Error 0x80131902: Failed to create the managed bootstrapper application.
[0898:1304][2014-04-11T09:08:22]: Error 0x80131902: Failed to create UX.
[0898:1304][2014-04-11T09:08:22]: Error 0x80131902: Failed to load UX.
[0898:1304][2014-04-11T09:08:22]: Error 0x80131902: Failed while running


[0898:1304][2014-04-11T09:08:22]: Error 0x80131902: Failed to run per-user mode.
[0898:1304][2014-04-11T09:08:22]: Exit code: 0x80131902, restarting: No

As you can see the advice is very similar and while this might have helped some people, it did not help me. After looking around extensively and trying different approaches, I did the opposite of what most people suggested and actually turned off the Microsoft .NET Framework 3.5.1 Windows feature located under Programs and Features – Turn Windows features on or off – see screen shot below:

disable 3.5 .NET framework photo

After turning off Microsoft .NET Framework 3.5.1 I tried installing the updates for VS2012 and installing VS2013 and everything worked flawlessly. After the installations completed successfully, I opened back the Windows features on or off menu and enabled the Microsoft .NET Framework 3.5.1 once again.

This is what I got after my simple fix/change and I hope you can get to the following screen too!

VS install successful photo




Programming languages and work opportunities

Career, Development

What is the best programming language to learn these days? this is a question that I hear all the time and this question usually generates all sorts of responses, both good and bad. The reality is that when people ask that question they do it for different reasons and so there is no right answer. Programming languages are like people, they are all alike but yet unique. For someone new to programming I recommend learning about programming without picking a programming language, at least not from the start.

Programming in a hackathon

Learn about programming before picking a programming language

Learning about programming is much more than just learning a programming language. Programming is about finding solutions to a problem and you do this by performing tasks such as understanding and analyzing these problems to find the right solution for these problems. There are many things to be learned about programming that do not require the commitment to a programming language, start with that, learn about logic, computing, and start by playing with some programming languages once you understand the concept of programming.

When you are ready to learn your first programming language or are already a software developer and perhaps are looking to learn a new programming language just for fun, then I recommend you just start playing with a dynamic language and a static one.

Static or dynamic Languages

If you are new to programming, let me explain the difference between static and dynamically typed languages. In short, a statically typed language is where the type of a variable is known at compile time, this means that you as a programmer must specify the type of each of your variables as it is the case in static languages such as C, C++, C#, Java, etc… In dynamic languages the majority of its type checking occurs during runtime as opposed to compile-time. As a programmer, a dynamic language allows you to move a bit faster as you don’t have to specify the type of your variables, etc.

Marketability of programming languages

If instead you are looking to increase your marketability, then here is some data to help you decide. The numbers below are changing constantly, however the general position for all programming languages listed below is very consistent. All of the data from the chart below came from digging in the number of current job openings in the Unites States for the specified programming languages in the following job listing sites: Indeed, Dice, LinkedIn, StackOverflow Careers.

Number of Job openings by programming language in the U.S.

One programming language that has become popular in recent years is JavaScript. In the past, JavaScript was mostly used as a utility language and most programmers used it to compliment (and hack) their user interfaces. With the increase of HTML5 apps and the many JavaScript based frameworks, this programming language has become more relevant and the number of companies (and startups) looking for experienced JavaScript developers has increased, a lot.

Currently, JavaScript is the second most popular requested skill in programming jobs posted in the largest job search engines out there in the United States.


If you are looking to learn a programming language to increase your chances of being hired, look at the chart above, keep monitoring the demand as it might change in the future AND learn at least one static programming language such as C# or Java and one dynamic language such as JavaScript, Python or Ruby.

A good programmer is the type of person who is always learning, and enjoys doing it. Most programmers I know are highly skilled with one programming language but familiar with most. Knowing a bit about multiple programming languages gives you the flexibility to learn and become more experienced with certain languages when you have the need. For example, for many years I was a Visual Basic developer until the day came when most job openings from companies working with .NET technologies where looking for C# developers, I started looking at the language, tried to create a few simple programs and eventually got a job as a C# developer.
After getting into C# I started to learn PHP and JavaScript as I ran across a few projects that needed that expertise. Learning these programming languages wasn’t hard, it was mostly teaching myself to do things differently, discovering and taking advantage of each of these languages’ capabilities and features instead of complaining or getting stuck on its differences.

Today, I try to keep myself current with some of the newer programming languages and frameworks, it is our duty as professionals to stay current and as challenging as this is, learning is always enjoyable. If you have any thoughts or questions about the chart above please leave a comment below.

Review: Samsung ATIV Book 9 Plus (13.3″ QHD+ Touch / Core™ i7), my new laptop

Hardware, Reviews

After 3 years and a half of using a MacBook Air 13 inch as my personal laptop I finally decided to upgrade and went with an Ultrabook and Windows 8. After using a Surface Pro as a tablet I really started to like Windows 8 a lot. This new Ultrabook has  an Intel Core i7 4500U with a speed of 1.80 GHz and with a Turbo Boost of 3 GHz.

ATIV book 9 Plus

Look and feel

Yes, this laptop feels and looks a lot like the MacBook Air, and that is not a bad thing. I owned a MacBook Air for over 3 years and it definitely shaped my way of thinking about laptops. The first time I saw the ATIV Book 9 Plus it caught my attention, without even looking at the specs it made me want one, yes it is that good-looking. I’ve never owned a Samsung computer but the design and overall build quality of this Ultrabook is outstanding. The ATIV Book 9 Plus is only 0.54 inches tick and weights only 3.06 lbs (including the standard battery) and everything is wrapped in a sturdy yet sleek aluminum body. It feels solid and it looks great, the only thing I did not like about it were the stickers which I removed right after getting it out of the box. This Samsung Ultrabook is extremely light and much more powerful than my previous MacBook Air, it was an easy decision for me.


The ATIV Book 9 Plus is thinner than the MacBook Air. Its width, depth and height are 12.58″ x 8.78″ x 0.54” while the MacBook Air is 12.68″ x 8.94″ x 0.68“. However, the MacBook Air is slightly lighter weighting only 2.96 lbs while the ATIV Book 9 Plus weights 3.06lbs. If you have a MacBook Air you won’t notice the difference. This IS the Ultrabook that you want to carry with you at all times. It feels like carrying a magazine and it fits perfectly (if not loosely) in your messenger bag or backpack. I took this laptop with me a few weeks ago to a Hackathon in San Francisco and my backpack was so light that sometimes I had to open it just to make sure my laptop was still there.

Battery life is really good, I have been able to go without plugin it to an outlet for about 7 hours with programs like Visual Studio, the browser, email and a few other applications running. I am sure I could get it to 8 hours if I lowered the brightness and closed some of my applications.

ATIV Book 9 Plus thin

The sleek aluminum body is also really sturdy and I have proof of that. While at the hackathon, I left this laptop on my chair for a moment then I sat down on it by mistake for about a minute until I jumped from the chair terrified remembering I have left the computer on this same chair. While nothing happened to it, I do not recommend you do this.


The ATIV Book 9 Plus comes with a 13.3″ LED QHD+ 3200×1800 screen. And it is a touch screen. This is one of the best features of this laptop, right after the portability of it. It is true that once you are introduced to touch-enabled devices is hard to go back to devices that don’t have touch-enabled screens. I am sure all laptops will have touch-enabled screens in the near future. The ATIV Book 9 Plus packes 275 pixels per inch into its stunning 3200 x 1800 high-resolution display. The Quad HD+ touchscreen is 2.8 times sharper than Full HD and with true-to-life color SuperBright technology, it’s a 13.3″ eye-opening experience. The resolution of this Samsung Ultrabook is incredible and I don’t miss the 1440 x 900 resolution of the MacBook Air.

ATIV Book 9 Plus QHD screen

The Good

It is very fast, very light. The ATIV Book 9 Plus I’ve got comes with an Intel i7 processor, 256GB SSD, 8GB RAM, 2 x USB 3.0 ports (one of them is a sleep-and-charge), micro HDMI, headphone/mic combo, 3- in-1 (SD/SDHC/SDXC) multi card slot, backlit keyboard, a 720p HD camera, and Bluetooth 4.0! Needless to say, it is certainly a lot of power in a very sleek and light package.

Some of the applications I use the most in this computer are gimp and Visual Studio and they both run great. Visual Studio starts in just a few seconds cold and that to me is impressive.

The  Bad

The touch pad and the mineral ash black finish. Don’t get me wrong, I love the color and finish of this laptop but my fingerprints are all over it, they are very visible and it bothers me. I know, first world problems. Also, the touch pad seems to always get in the way as I type, I have made some adjustments and it will take some time for me to adjust to it but that is just me. Some people complain that with such high-resolution in this laptop some programs in Windows 8 end up looking very small, with very tiny fonts and menus but that has not bother me a bit and there are ways around it.

ATIV Book 9 Plus touch pad

I bought this laptop at the Microsoft store as they had a $200 discount for a while and I couldn’t resist. Another great benefit of buying from the Microsoft store is that it comes with the Microsoft Signature Experience which means that all junkware, trialware and any other pre-installed manufacturer’s software is removed before you take it home. I recommend to uninstall any Samsung software if you end up buying this laptop from any other place.


If you are shopping for a new laptop and have considered an Ultrabook but are afraid about loosing some of the power and performance that you are used to with your big laptop or desktop, think no more. This Ultrabook is as powerful and fast as it is light. Also, the smaller screen is not an issue for me as I was used to it with the MacBook Air, but trust me when I tell you that you do get used to the smaller screen and is not an issue at all. My daughter was very happy to get my MacBook Air and I am very happy with this Ultrabook. The ATIV Book 9 Plus has become both my personal and development machine and it comes with me everywhere.

Phone Screen Interview

Career, Development

When you are hiring a developer and start looking at resumes or LinkedIn profiles it is very common to find people with a great resume or professional profile – but be careful because having a great looking resume or awesome LinkedIn profile doesn’t always translates into greatness - this guy must be great, it has tons of LinkedIn recommendations and many connections!

A phone screen interview is a very common filter used when hiring for a tech position. As a software developer myself I’ve participated in a fair amount of phone screen interviews both as the candidate and as the interviewer. The phone screen interview is what the name implies, it is a relatively quick way to screen candidates and filter out the best candidates from the group of people who look good on paper (or LinkedIn). A phone screen interview can be very useful to determine if a candidate is truly a great candidate that you want to invite to a face-to-face interview with your team or just someone with a good resume.

When done right, the phone screen can save you and your team from spending hours interviewing the wrong person for the job.

The first rule of thumb is to try to talk as little as possible, just ask a few key questions and let the candidate do the talking. Listen carefully and notice how they respond to questions they know and pay special attention to how they answer and elaborate on things they are not too familiar with. This will tell you a lot about their personality and how they behave when they are under a bit of pressure. The phone screen interview should not take more than 30 minutes and ideally, it should be split into two basic sections: personality and technical skills. Remember that the goal is to decide if you want to invite this person to a face-to-face interview and not making a hiring decision over the phone.

Here are some tips that can help you get started.

The agenda

  • The phone screen interview should be kept at about 30 minutes.
  • Ask questions, listen and thank the candidate for their time.

The personality part

  • Communication skills and story telling. Ask about their decision to be in the technical field. This usually helps to tell how good are they at story telling and it also helps to know how much they love (or not) what they do.
  • Ask about their opinion about a certain framework. Most technical people, specifically developers are very opinionated and passionate about their craft and the tools and frameworks they use.
  • Ask about the reasons they want to join your company, and if they are open to it ask them if they want to share the reason they are leaving their current employer.

The technical part

  • Ask about what technology stack they have more experience with and let them go into details.
  • Once they tell you what technology stack they prefer ask a few more in-depth questions about it, this will help you figure out how much experience they really have about it.
  • Ask if they can explain how the architecture of a website or application like yours work (if applicable).
  • Ask a plain technical question such as how to reverse items in a list or characters in a string. You can also ask something more generic, for example how to handle errors in a web application.

The above has worked very well for me, I have used it more than a few times in the past with really good results. If you are the one being interviewed, my suggestion is to offer to answer some of these questions even if the interviewer does not ask you this; unfortunately many times the one person doing the phone screen interview is someone from an HR department and it might be beneficial to you if you drive the interview by offering to talk about the things mentioned above. If you are hiring for a technical position other than a web developer then you might want to change the technical questions around, just keep in mind that the goal here is to get the best candidates for a face-to-face interview that will and should contain more in-depth technical and personality questions.



Discovering creative ideas in San Francisco – CapitalOne 360 Cafe


capitalone360 3This is the 4th time I come to San Francisco this year, I just love this city and the weather (yes I love Summer in San Francisco!). I was lucky enough to get invited to Y Combinator’s Startup School this year, it was great and I had the opportunity to learn insights from founders from many companies, you can learn more about that here. However, the part that I really like about traveling is to discover cool places in cities I visit. This time a quick search in Yelp brought me to Capital One 360 San Francisco Cafe (it used to be ING Direct Cafe), it is a very interesting concept that Capital One has launched in about 8 cities including San Francisco – and yes I asked one of the Capital One employees why not in Austin and he told me that they are actually working on it at the moment, so brace yourselves as we might get one of these electronic-only transaction bank/Cafe/Coworking space in Austin, this will rock big time!

capitalone360 1This creative concept for a bank branch is awesome, there are no lines, no counter, no “numbers” to talk to a representative, etc.. and instead they have created a very cool open space filled with desks, power outlets, beanbags and an excellent WiFi and coffee drinks – oh, there is also good background music like nothing you have ever experience in your local bank. Also, if you have a CapitalOne card and you pay your coffee with it, they only charge you half of the price so in other words you can get a regular size latte (and very good!) for about $1.50 – this is pure genius.

I have never thought that a bank such as Capital One would do something this creative and out of the norm, but they are and apparently I am not the only one who loves the concept of a bank branch that also serves as a coffee shop and free co-working space as the place was filled with people working with their laptops and drinking coffee and I am sure someone was also doing some electronic banking as well… It might be hard to rate the success of such a concept but if what they want is to bring people to the place and raise awareness about their brand, this is a great idea that probably costs much less than other not so creative marketing efforts.

capitalone3602So there it is, this last trip to San Francisco allowed me to discover and actually work from this place called CapitalOne 360 Cafe which is on 101 Post St. San Francisco, CA 94108 (Post St and Kearny St) and it is the place from where I wrote this post and did some work for At some point I would love to have places like this pop in every city branded as The TechMap work spaces, it would be awesome, perhaps in the future. Until next time.