JV: You're talking about seeing kids out of college and this is actually I think very fascinating. Are these developers being trained right to enter today’s work? Are they getting the fundamentals down? .
SB: You see I don’t even know if that's even a good question because … I mean it was a good question, but I don’t know if it was the right question.
SB: The main thing I see as a problem sometimes is—the difference between, say a good beginning programmer and a less, good’s not the right word to use, is knowing what they don’t know.
SB: I have come across people who would insist that this is the way they do it because that's what they learned in class. This was involving even say C++ programing where it was a very idiomatic language.
A lot of times what you're learning in academic exercises there's certain things that have evolved in terms of practices; idioms that everyone does it that way. The books all say to do it this way, but on one does it that way. Again, that's more true of C++ than something like Java.
JV: The harsh reality of the work.
SB: Not knowing it is fine; it’s knowing that you don’t know it or being aware of having a bit of understanding and some humbleness about what, understanding your ignorance.
SB: That to me is the big difference. I think there's always going to be a mix of people who have come at it from both sides.
JV: Got you, so let's shift gears a little bit about testing. You're talking about agile; you're obviously trying to test often, test early. In what other ways have you seen testing involved over the years in regards to agile?
SB: Like I say, one of the interesting things is I think there's been a new thing. There's also DevOps.
JV: Yeah. We see several webinars on that each week.
SB: Yeah, it sort of comes along with agile because that's the next step, right? You can test things then you get into the deployment environment which is of necessity often a little bit different than your development environment, particularly for certain types of products.
There's a bunch of tools around testing in DevOps. There's a company called ScriptRock that does a bunch of things, a bunch of tools that allow you to test that your environment is configured correctly. I mean other tools do this too. I just happen to know a little bit about ScriptRock.
There are tools … you can use CM to deploy the same thing. I have this version of Tomcat, this version of that, but validating that I can connect from this server to that server things like that. Tools that provide a framework for that I think are very promising and that's probably the next thing to get adopted.
I mean a number of people probably have their own home-grown tools to do this and it's intrinsically not a hard thing. Like anything else having products and tools that do that make it easier to adopt.
JV:Right, so you see a lot more tools that are more useful in today’s world than they were in the past? I was talking to Joe Townsend the other day and he was saying how in the ‘90’s there was a real failing on the tools from what the marketing was explaining that they could do. He's finding that tools are a little bit more advanced today.
SB:Yeah, I think part of it is also a lot of open source tools are because they're tools people use who use such as development tools. People used them so they are actually very useful if you're using them for what they're for.
The other thing I was realizing, and I'm just thinking about what we talk about, is there are a lot of good commercial configuration management tools and for a while the open source tools … the difference was people used things like Subversion. Often because they just thought they were, because that's what they wanted to pay for.
There were other tools that were really better, but there's people that didn’t want to spend money. I think now a lot of the commercial tools, and a lot of the open source tools, like, for example, Git solves a lot of problems. There's problems around using Git, around work flow. I think the successful tools are going to be the ones that support the use of open source tools.
SB: For Git there's a couple. I mean Git has something. Atlassian has Stash for managing the repositories, the permissions; providing some default work flows; integration with your IDE and things like that.