On TDD side, the best way to learn how it works is to do. I like something like http://codewars.com/ to get a feel for it. If you are just starting out, TDD is a little intimidating. Something like Code Wars put it in a less scary framework.
TDD is so important because it helps a developer build code that is easily refactored and maintainable. It also lets a dev test ideas out so that when they have their working code, it actually does what it says on the box. The tests do a number of things, they reveal dependencies (i.e. you change one part in this section and another section breaks), they help you think through a problem systematically, they give you confidence you have solved the issue, they do help improve code quality and to a degree they document what the hell you were thinking when you wrote your code.
The alternative is often coding by coincidence. “Let’s change this bit, it should work” then see what happens. And then when the code is “working” the tests are added (if at all).
I have found every single time I have strayed from doing TDD, the code has come back and bit me in the butt later. It costs a little time, but saves so much more.
If you want to learn the basics of a number of technology stuff related to web, I’d probably suggest http://www.codeschool.com. The courses are simple and interactive, egghead.io is another one I’ve had suggested. For a deeper dive, I like pluralsight.com which covers not only the language side of things but also things like Kanban, TDD and a host of things that face developers. Some courses are amazing, others are just so so, but the breadth is pretty good.
I think that there are others here who might be more qualified on this one. Here are some of my red flags. They talk about a long design phase, they talk about projects not product, they focus on control/reporting structures and line managers more that what is being built. Anything that talks about “rigorous documentation” or “enterprise experience” or “project management” declares a focus I might not be interested in.
Other things might be 12 month contract that will deliver “xyz” at its conclusion would be worth investigating further, places that focus on continual deployments don’t focus on the tail end of a contract.
Something along the lines of you will be coordinating and managing several offshore teams might also be a worry depending on the context, but that one varies.