Wednesday, February 22, 2012

Job applicants and archiectural skills



This time we are hiring. The skillset is quite simple: problem-solving, architecture, c# and some client side javascripting.

You know what?

One of four developers Is problem-solving type and can describe a solution for given task from scratch (last time i've asked to provide sample plugin architecture for .net windows forms).

But I still believe that my next candidate will be ok :)

I know that some interviewers concentrate on c#/javascript language knowledge.

Some interviewers prefer to test architecturing and problem solving skills barelly touching language related issues.

I prefer to follow the last approach because often i see developers who do really know language syntax but their code was awful: lack of abstractions, pure testability, and almost all s.o.l.i.d. principles are not taken into account.

Today a couple of my collegues and me conducted an interview with a candidate. He has more than 3 years in development and seems quite smart, but has lack of architecturing and problem solving skills.

So my answer on question 'are we going to hire him?' was 'no'.

Hope next candidate on friday will be much better (looking at his cv i can hope)

Friday, February 17, 2012

Test-Driven JavaScript Development


I was suggested to have a look at this book:



I revised it.

I believe that this book is worth to read, especially by developers who has a deal with  tons of javascript code on daily basis.

Description:

For JavaScript developers working on increasingly large and complex projects, effective automated testing is crucial to success. Test-Driven JavaScript Development is a complete, best-practice guide to agile JavaScript testing and quality assurance with the test-driven development (TDD) methodology. Leading agile JavaScript developer Christian Johansen covers all aspects of applying state-of-the-art automated testing in JavaScript environments, walking readers through the entire development lifecycle, from project launch to application deployment, and beyond.

Using real-life examples driven by unit tests, Johansen shows how to use TDD to gain greater confidence in your code base, so you can fearlessly refactor and build more robust, maintainable, and reliable JavaScript code at lower cost. Throughout, he addresses crucial issues ranging from code design to performance optimization, offering realistic solutions for developers, QA specialists, and testers.