Would you hire an actor without an audition? You wouldn’t last long as a director if you did. But this is exactly what almost all companies who hire software developers do today. Usually the process involves talking through an applicant’s experience with them. And that’s all. Imagine asking an aspiring actor if they enjoyed their role as Hamlet. Did you play him well? Good. You’re hired! Many famous software companies propose brainteasers for their applicants. Some top companies even give candidates an IQ test. The best of them run candidates through a simulated software problem on a whiteboard. This is a sorry state of affairs. I’m going to state (what should be) the obvious: the only way to hire good programmers reliably is to program with them. I run programmers though a one-hour, rapid-fire, pair programming interview – and that’s just the start. Having done it over a thousand times, I can score developers relative to each other on a 100-point scale. What do I look for? Mental quickness, ability to think abstractly, algorithmic facility, problem-solving ability. And most importantly, empathy. Because collaboration is the most important thing we do, and it doesn’t matter how smart you are if you can’t relate to how other people think. – source
- Login to the AWS Management Console
- Switch to EC2 tab
- Click on AMIs
- Select EBS image and Launch it
- Do not select micro or small instance at this step to avoid long running configuration
- Click on Instances
- Wait ~5 minutes and try to Get Windows Admin Password of your started instance
- RDP to your instance by using Public DNS (you can find it at the description tab for the running instance)
- Install latest Windows updates
- Make your additional changes
- Create Image (EBS AMI). Don’t worry about running state of the instance. It will be stopped automatically while making the new AMI.
- Click on AMIs
- Wait. You should get the new image Owned By Me
- Terminate running instance. You don’t need it anymore
AT – Acceptance Testing
For the first try I decided to build the following very simple Windows lab:
- Domain Controller with DNS
- Application Server
Here are some questions that you must have the answer before moving forward:
- Which amazon images (AMI) to use for the virtual machines? How to create AMI for VMs?
Actually had no any chance to create the AMI from scratch. Could not argue with anything here…but it is possible. I chose the easiest and fastest option to create AMI by modifying the one from the Amazon Machine Images library.
- What is the difference between Instance-Store and EBS root devices?
When you launch your Amazon EC2 instances you have the ability to store your root device data on Amazon EBS or the local instance store. By using Amazon EBS, data on the root device will persist independently from the lifetime of the instance. This enables you to stop and restart the instance at a subsequent time, which similar to shutting down your laptop and restarting it when you need it again.
Alternatively, the local instance store only persists during the life of the instance. This is an inexpensive way to launch instances where data is not stored to the root device. For example, some customers use this option to run large web sites where each instance is a clone to handle web traffic.
- In which Amazon Region you are going to implement your testing environment?
Amazon EC2 provides the ability to place instances in multiple locations. Amazon EC2 locations are composed of Regions and Availability Zones. Availability Zones are distinct locations that are engineered to be insulated from failures in other Availability Zones and provide inexpensive, low latency network connectivity to other Availability Zones in the same Region. By launching instances in separate Availability Zones, you can protect your applications from failure of a single location. Regions consist of one or more Availability Zones, are geographically dispersed, and will be in separate geographic areas or countries. The Amazon EC2 Service Level Agreement commitment is 99.95% availability for each Amazon EC2 Region. Amazon EC2 is currently available in five regions: US East (Northern Virginia), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), and Asia Pacific (Tokyo). – http://aws.amazon.com/ec2/
I am personally decided to use US East region while my work place is in Russia. The price for instance here is the cheapest!
AT – Acceptance Testing
You need to have RDP (3389) and SSH (22) access to the IP addresses from the Amazon EC2 Public IP Ranges to manage your testing environment. Ask your administrator to open this access in case you don’t have it. Don’t try to run an EC2 instance before you will have this access (it will be just the waste of money). Please keep in mind that you will be billed for 2 instance-hours if you start instance, stop it and start it again in scope of one hour.
Also you need to enable RDP (3389) and SSH (22) in your Default Security Group.