Conduct Coding Interview using Nitrous.IO and tmux

Hiring decisions are often the hardest ones a software company has to make. A pressure-filled 45-minute interview is often an insufficient assessment of a candidate’s true potential. The hiring process is further encumbered by the pervasive usage of whiteboard interviews for technical assessments. While the whiteboard is excellent for determining candidates’ knowledge on software architecture, it is limited when it comes to assessing their practical ability to write clean and elegant code.

Developers write code on the keyboard, yet they are more often than not denied this during interviews and forced into using the whiteboard - a very different medium from the one they code in. This interview format hasn’t been changed for years -- popular books like ‘Cracking the Coding Interview’ even emphasize to candidates the importance of practising writing code on a whiteboard or on paper. Put in such a foreign environment, there’s often a disparity between candidates’ performance using a whiteboard as compared to a familiar development environment.

Assess your Candidate's Coding Ability in Realtime

Nitrous.IO + tmux makes it possible for candidates to stick to tools they are most comfortable with - a terminal shell and IDE editor. This will result in a more accurate representation of a candidate’s true potential. Typically used for pair programming, Nitrous.IO in Collab Mode extends to interviews since interviewers can upload coding problems and view how the candidates solve them in realtime - Google-Docs style. Terminals can be shared using a tmux session that can be re-attached to and continued where they left off. Code written can be compiled, tested and subsequently saved for review by the relevant team a candidate is hoping to join. Instead of working through hypothetical situations, interviewers can see first-hand the exact workflow and problem-solving process candidates adopt when writing and executing real code.

Discuss Architecture using the Whiteboard

So, should interviewers continue to adopt the whiteboard method? Certainly, there ought to be a reason why leading tech companies have been using it for years. A valuable benefit is that a whiteboard is handy for candidates to conjure diagrams and data structures to simulate the thinking that goes behind it. Software architecture and principles can be better explained on a whiteboard than with a keyboard.

Best of Both

Ideally, interviewers should optimize their hiring process with these two complementary tools that assess different capabilities of a candidate. It makes perfect sense to discuss architecture using a whiteboard instead of a keyboard. At the same time, collaborative IDEs like Nitrous.IO can plug the gap where a whiteboard interview falls short by enabling the actual writing and testing of code.

For starters, hiring managers can begin by using Nitrous.IO’s collaborative editor as a form of live programming screening on top of phone screening. This helps them to decide which candidates to bring in for an in-person whiteboard/coding interview (saving costs), or even base their hiring decisions off that remote coding interview. What sets us apart from products dedicated entirely for coding interviews is our full-fledged web development environment that hobbyists and professionals alike use in their everyday development. Besides, you can already perform unlimited coding interviews with just a free plan on Nitrous.IO.

Experience for yourself

Try it out by creating a free account, you’ll be provisioned with a powerful development box within a minute. Next, follow our Coding Interview Tutorial to get started with using Nitrous.IO in ‘Collab Mode’ and tmux. And if you’re interested to work in Nitrous.IO, you know what tools to practise with.


Coding on iPad - The Possibilities of Nitrous.IO

Nitrous.IO on iPad

Many developers dreamt of turning their iPad into a full-fledged development machine. It’s the promise of freedom to work on the go and not being chained to a primary machine that’s too heavy to carry along. No doubt, coding on iPad has also been a facet of Nitrous.IO’s vision. Pete, our CTO, had always wanted to develop on his iPad before Bluetooth keyboards were even sold on the market.

While the iPad itself is still in its infancy as a dev machine, it is a viable option when coupled with cloud IDE platforms like Nitrous.IO. In a way, we have fast-forwarded into the future as our cloud IDE transforms iPads (and Chromebooks, for that matter) into powerful software development tools. This translates into workspace accessibility, as you can work across devices while using the same, consistent development environment, maintained in the cloud.

Benefits of Coding on iPad

Be that as it may, do note that Nitrous.IO’s support for iPad is still experimental i.e. things might still break. However, it is more than sufficient for small edits and bug fixes. Here are some of the benefits we find coding on iPad provides –

Caveats

Alright, that’s enough self-plugging. Here comes the trade-offs.

All things considered, if you think you can’t live with these shortcomings, there are great choices out there such as Textastic, Diet Coda, iOS Vim + Firebug Lite. Check out our tutorial post on using Diet Coda with Nitrous.IO. However, these options might be costly and take time to install and set up.

Go Mobile

So, yes, it’s not perfect, but it’s pretty great if you’re looking for a simple, fast and free solution to coding on iPad. Sign up for a free account and follow our iPad tutorial to experience the benefits of developing on iPad for yourself. Share with us your experiences, we’ll send you some swag (hoodie & stickers) if your story happens to be published on our blog!

Now the question is, whose iPad are you going to filch if you didn’t even bring that on vacation? And if you have children or teenagers, try not to start a family drama.


Pair Programming - Boon or Bane?

Pair Programming, an element of Extreme Programming, remains a controversial Agile Development practice that developers tend to love or loathe. Experiences vary drastically upon the various combinations of developer proficiency, personality and habits. For the uninitiated, pair programming can be described as something akin to continuous code review - the overarching theme is that an extra pair of eyes ensures improved software quality and fewer defects.

Pair programming isn't all pixie dust and fairy tales however. The additional set of eyes comes with an opportunity cost since developers spend on average 15% more time during the initial development phase. This additional time sink is likely due to differences in developer proficiencies and general working styles.

Incredible benefits, when done right

Although pair programming might not be the perfect solution for every team, the rewards are tremendous once you’ve found the right programming partner. The benefits of pair programming are numerous: A clean, well designed code base that facilitates maintainability, improved developer awareness of the code base, less time fixing bugs, as well as improved learning & communication. San Francisco’s Pivotal Labs and Toronto’s Xtreme Labs are successful examples of companies who have adopted and benefited from the pair programming methodology.

Collaborate in real-time using Nitrous.IO

Whether pair programming works for you or not, here’s how you can utilize Nitrous.IO to better your collaboration experience. Our real-time collaborative editor allows you and your colleagues to pair program in the cloud from anywhere. To pair program on Nitrous.IO, create a free account to begin if you haven’t got one. Next, simply follow the steps in this tutorial to kick start your pair programming experience.


HOUR OF CODE - What happens in the second hour?

Rails Girls

You might have heard of the Hour of Code movement recently - it’s a one-hour introduction to computer science targeted at demystifying code and showing that anybody can learn programming. It has gained tremendous traction since its launch and has already attracted 97 million participants. The organization behind the movement, Code.org, won the support of politicians (President Obama), major tech companies (Apple, Google), educators and students, signifying their commitment to the vision of inspiring students to learn coding.

But what happens after an Hour of introduction to programming? How are students going to continue their coding education? Educators need to continually feed students’ interest and excitement around learning to code.

Typically, the introduction to coding begins with setting up the developer environment on the student’s local machine. This isn’t as simple as you’d think and many novice students find it a bewildering and confusing process, ending up doubting their own abilities just because of failure to get the environmental variables correct, needless to say this process is fraught with frustration and they lose excitement before they even are able to write their first line of code. The typical “learn to code process”, where educators and student have to get through the painful setup process, is built to fail.

Cloud-based software development

This is exactly how cloud-based web IDEs like Nitrous.IO help promote continuous learning. Nitrous.IO obviates the need to setup local development environments, leading to immense time savings that can be better spent on teaching and learning coding. Working with a cloud-based IDE allows students to start coding immediately within a web browser in the classroom, and then continue where they left off at home by signing into the same development box from their home computer.

Teachers are able to log into the students’ boxes from time to time to troubleshoot or make necessary edits to facilitate the students’ learning progress. Remote coding lessons are even made possible with our collaboration feature. Students can preview their app in the cloud instead of localhost and share their work with friends and families using a simple url link of the preview site - a little something to take home from the lesson.

Check out how Rails Girls Auckland and Gaslight have utilized Nitrous.IO to conduct coding lessons!

Try Nitrous.IO, free to try and free to use

To get started, simply create a free account - Nitrous.IO offers free accounts with basic functionality, you can upgrade your plan anytime along the way if you find that you need more speed and a faster box with additional features. Follow the steps in this tutorial once you have your account set up.


Announcing Nitrous.IO Box Snapshots – For Backups, Classes and Teams

Nitrous.IO is the fastest and easiest way to setup and start working on a new web application. Our recent Meteor template launch is yet another example of our commitment to providing developers the latest versions of the hottest frameworks.

After creating a box with one of our public templates, developers often install additional services on top. Common installations include databases like MySQL, Postgres, or MongoDB. We make these services easy to install and configure with our Autoparts package manager. Some users will also customize their dotfiles to get their perfect development workflow in place.

Our mission at Nitrous.IO is to reduce the amount of setup and complexity when dealing with your development workflow. With that in mind, we're excited to announce the availability of Private Box Snapshots on all Shift and Turbo paid accounts.

With snapshots, you can set your own custom starting point for new boxes. If you're a consultant, this means you can start each new project with a clean environment pre-configured just the way you like it. If you teach a class, you can start with a master template and duplicate it for each of your students. And finally, if you're a fast growing startup making changes to the Dev stack regularly, you can keep your team happy and ship faster by capturing and sharing an entire Development Environment with the whole team at the click of a button.

If you're a large team or class who needs more boxes than the current plans allow please reach out to us: hello@nitrous.io

Snapshots

NitrousIO Box Snapshots are available on the Shift and Turbo plans!


Custom Meteor 1.0 Box Template

Congratulations to the Meteor team for reaching 1.0! It has been exciting to witness the amazing progress their team has made on the framework. We've supported many thousands of Meteor developers on Nitrous.IO and are only seeing those numbers skyrocket as Meteor approached its 1.0 release.

To celebrate the 1.0 milestone we've added a custom Meteor template to our box creation page. When creating a new box you will see an option to select a Meteor template.

» Click here to create an account and setup your first meteor app!

Meteor Template

Simply select the Meteor template to create a development environment with Meteor 1.0 installed. Take a look at Meteor's new guide to build your first Meteor app using 1.0.

For those whom haven't had the pleasure of trying it yet, Meteor is an open source platform for building web and mobile applications solely using JavaScript. Meteor applications have live-updating interfaces that let people see information and collaborate with each other in real time, and can run in a browser or be installed on any mobile device from the app store.

If you want to try out a sample application, you can start hacking on Discover Meteor's Microscope application by clicking the Hack button below.

Hack DiscoverMeteor/Microscope on
Nitrous.IO


Most Popular Hack on Nitrous Repos

We launched Hack on Nitrous.IO in April and were surprised by the groundswell of support and adoption from various partners and open source projects. Almost 3000 individual repos were cloned over 6000 times using an embedded hack button in the project repo on GitHub or the Bookmarklet.

Hack On Nitrous

So without further ado, here are the most popular projects that Nitrous.IO users cloned over the last six months:

Read More...