Win a copy of Testing JavaScript Applications this week in the HTML Pages with CSS and JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Test Driven Development - Is it just a money maker for its creators?

 
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
After reading a bit about TDD and trying it, TDD seems it could be useful in some situations (ex. make your own Stack data structure). Writing unit tests or any kind of tests is fine. But, using TDD to design your code, make the design testable and create tests seems like a bad idea. How do I even know that I am writing the right tests ? How do I know that I am not coupling my code to my tests ? Can individuals or any company figure that out only after getting expensive consulting/training by people like Kent Beck, Martin Fowler and Uncle Bob ?

I really wish that the creators and promoters of TDD would advertise TDD with solid, free examples on YouTube. First, I would like them to show us TDD solutions to popular, non-trivial coding exercises like euclid's gcd algorithm, merging intervals, two sum, three sum etc. At least 25 different examples like this, but with video.

The next thing would be to show us how to make realistic projects with TDD, say 10 examples. For example, develop utility libraries, maybe even small apps using TDD. Some of these courses could be free and some paid. All the books they write on TDD are too trivial and don't have much information. I'd like to see solid examples/case studies with evidence that TDD can work, before I decide to pay for expensive consulting/training sessions.

Without enough examples and evidence, TDD just feels like blood spatter analysis which is considered to be a dubious practice. However, it was quite useful to its creator who made a lot of money by doing consulting/training for police departments. TDD just feels like that to me, an unproven practice which is a money maker for its creators and promoters.

PS -
https://softwareengineering.stackexchange.com/questions/98485/tdd-negative-experience

I used to wonder if TDD will magically guide your hand into developing a decent, but not necessarily the most efficient solution, for interview coding problems. It seems like one needs to be of above average intellect to solve most of these problems. TDD will not magically guide you to a working solution. You don't need TDD as much or at all to solve such problems if you are highly intelligent.
 
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:You don't need TDD as much or at all to solve such problems if you are that smart.


Some of the smartest developers out there practice TDD regularly.

I've practiced TDD for several years now and sure, it has helped me in my career but I didn't learn to do it with the sole purpose of making money off of it. I think that's missing the point. It's an engineering discipline. I would compare it more to learning the kind of skills that SEAL team members need to do their jobs. Sure, combatants can go into war without those kind of skills but who is likely to get the job done more quickly and efficiently? A bunch of grunts right out of boot camp or a team of highly skilled and well-equipped operators? I'd put my money on the latter. Likewise, given a developer who knows how to do TDD well and a developer who claims to not need to do TDD because "he's smarter than that," well, I'd pick the former and show the latter the door.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:Can individuals or any company figure that out only after getting expensive consulting/training by people like Kent Beck, Martin Fowler and Uncle Bob?


I got a lot of advice from these people and some very valuable skills from learning what they preached. The price of admission? The cost of their books comes up to less than $200.00 over 20 years. The biggest investment I've had to make to really learn how to do TDD properly and effectively was the time I put into reading those books and the dozens of other books they lead you to read as well and most significantly, the time and effort I put into practicing how to do it well. You could certainly hire them to do direct coaching and that might radically shorten your learning curve but I think all it takes is some common sense, a desire to learn, an aptitude for figuring out what "code smells" and "good design" looks like, and the humility to realize that no matter how smart (you think) you are, there's always something you're going to screw up on any given moment that you're writing code.
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I really wish that promoters of TDD created plenty of free and non-trivial examples of TDD. They can make some of them paid to be fair to them. I think they forgot "try before you buy" and they are not advertising TDD properly. But, I think they don't really need to even advertise TDD if they are already making plenty of money in their regular jobs. Guys like me will try TDD, get frustrated and then go to jobs where there is no TDD and life is absolutely fine. But, we will never get to prove or disprove the usefulness of TDD. If it is truly useful, then we'd have missed the opportunity.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you're going to take anything away from that SO thread you cited, I hope it's this part (emphasis is mine):

The light came on for me - TDD is not a testing skill. It's a design skill. It can only lead you to good, simple, workable code with practice and a constant awareness of the design directions it leads you in. If you're writing tests for the sake of code coverage you're going to create brittle tests. If you're writing tests to help you design your abstractions then it's just a more rigorous way of writing top-down code. You get to see the code from the caller's perspective first, which encourages you to make his life easier, rather than mirroring a class's internals to its outside edge.


 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:I really wish that promoters of TDD created plenty of free and non-trivial examples of TDD. They can make some of them paid to be fair to them. I think they forgot "try before you buy" and they are not advertising TDD properly. But, I think they don't really need to even advertise TDD if they are already making plenty of money in their regular jobs. Guys like me will try TDD, get frustrated and then go to jobs where there is no TDD and life is absolutely fine. But, we will never get to prove or disprove the usefulness of TDD. If it is truly useful, then we'd have missed the opportunity.


I think you're looking at this with the wrong lens. As far as I know, TDD was not meant to be a "product" to be sold. It is a technique that some very good and smart developers found useful and decided to share with other developers. Why knock these people for writing books about a technique they feel more developers should know about? They saw a demand for books and articles on TDD so they did something to satisfy that demand, and make money off of it while they were at it. Are you going to knock chefs who write cookbooks because you can't create the kind of gourmet restaurant quality meals that they describe in their books? C'mon man, get real! If you're failing to see value in TDD and think it's a waste of time, don't do it. But just because you failed at learning it doesn't mean it's a bogus technique. It's a very valid and useful technique. Of course, it has its limitations, but I think for the most part, the limitations are on the person doing it.

It's just like how people say that Aikido is a useless martial art, that it's not practical for street fighting or whatever. Ok, fine, I'll grant that there are techniques in Aikido I wouldn't necessarily use outside the dojo but I'm pretty sure that if it ever comes down to it, my years of training and practice are going to give me a better chance of success on the street than say someone who's been to the dojo twice and knows how to say "Aikido".
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:I really wish that promoters of TDD created plenty of free and non-trivial examples of TDD. They can make some of them paid to be fair to them.


What? "to be fair to them"? I hope you're just trolling now. It just doesn't work like that here, nor with the people who champion and encourage TDD or whatever other good engineering technique they happen to think would be useful to share with the rest of the developer community. Despite some very high-quality posts, nobody who hangs out and posts frequently on this site gets paid for a single word they write and post up here. It's all free, as in beer. So maybe it would be fair to pay us, too, for some of the advice we give?
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:The next thing would be to show us how to make realistic projects with TDD, say 10 examples.


I'll see your 10 and raise you 126 more: https://awesomeopensource.com/projects/tdd
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:The next thing would be to show us how to make realistic projects with TDD, say 10 examples.


This is not as useful as you seem to think it would be though. It's like expecting to learn how to make good movies by watching 10 movies that won the Oscar for Picture of the Year. Without knowing what went on during the countless hours it took to make the movie and the effort that was put into it, watching the movie itself doesn't really do anything for your movie-making skills other than to give you a better appreciation of the craftsmanship and skill involved. To really appreciate why the movies turned out the way they did, you'd have to study the whole movie-making process, from inception, to writing the screenplay, scouting locations, auditioning and choosing actors, doing the shoots, editing and post-production, etc. You need to understand what the people behind the scenes did and the amount of skill and diligence they put into the work they produced, and how all of that came together as one coherent piece that produced the movie you watch in the theaters.

Likewise, to really appreciate the benefits of TDD and what it gives you, you have to experience the process and understand the mindset and way of thinking about design and coding in a test-first manner yourself. Looking at the code that came out at the end of the process can only give you an inkling of what TDD can do for you just as watching a well-made movie can only give you an inkling into the kind of movie-making process it went through. When it comes to learning TDD, it's not the end that is important, it's the means to that end that's key.

Now, if you're diligent enough and astute enough to glean some things off of source code, like the thought process and the kind of discussions that went into the myriad of decisions made during the development of the code, you could dig through the source repository of a project where TDD was practiced and maybe get a better idea of what the programmers were thinking by comparing a series of commits to the same section of code or piece of functionality. This is not an easy task but it's far more educational than just looking at the finished product's source code. If you have that kind of time and aptitude, I'd say go for it.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:Guys like me will try TDD, get frustrated and then go to jobs where there is no TDD and life is absolutely fine. But, we will never get to prove or disprove the usefulness of TDD. If it is truly useful, then we'd have missed the opportunity.


There are more guys like you than you think. As a consultant, probably 90% of the teams I consult with are like that. They either just don't know what they're missing and are totally fine doing development the way they're used to, firing up a debugger every time they need to hunt down a bug or deal with some kind of design issue in their code and whatever other kind of tedium many developers seem to resign themselves to. My unScientific Wild-A** Guess (conservative) is that less than 15% of all developers in the world do TDD effectively and on a regular basis. It's a costly problem, adding lots of $$$$ (millions, conservatively) to the cost of writing and maintaining software systems.

If you won't take other people's attestations to its effectiveness and try to gain those benefits for yourself, I think the only thing left for you to believe really is that it's not useful, at least not to you in your current state of development as a programmer. Trying to prove that TDD is not useful is in itself not very useful. But I think even just trying to prove that it is useful is in itself useful. Kind of like how trying to prove that a martial art isn't useful isn't in itself very useful or beneficial to you. However, trying to prove that it is, putting the effort in to learn and practice the art, understanding the philosophy and mindset, etc., those things alone already give you lots of benefits. Both approaches are basically self-fulfilling.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:I really wish that promoters of TDD created plenty of free and non-trivial examples of TDD. They can make some of them paid to be fair to them.


By the way, it looks like we're going to have Robert "Uncle Bob" Martin as guest author in these forums in the very near future. I wonder how it would go over if you asked him for plenty of free and non-trivial examples of TDD... and maybe offer to pay him for some of them, you know, just to be fair.  
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And speaking of Uncle Bob, I'll up you another real-world project where TDD was used: http://docs.fitnesse.org/FrontPage

This is Uncle Bob's creation, by the way, built on top of Fit, which was created by Ward Cunningham, another one of those highly-paid promoters who have been profiting from "selling" TDD for many years. [sarcasm]
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:TDD will not magically guide you to a working solution.


On this, you are absolutely right. There's nothing magical about TDD. There's just skill and practice. Some might say there's a lot of "intuition" involved as well but as one author wrote, "Intuition is nothing more than recognition that comes with experience," or something to that effect. That, too, is absolutely true and the reason TDD is useful is because you get TONS of practice and ergo, experience, in writing small tests, small increments of code, recognizing code smells, refactoring, and then seeing the code get progressively better.

TDD is the only technique I know that will give you that kind of continuous flow of experience, dozens, maybe even hundreds of times a day as you develop software. People who write tests after the fact or not at all miss out on all that experience. What they experience is the tedium of a debugger and having to weed through tons of poorly-written, poorly-factored code, and then hacking and patching the code so it works. What they get from that is a lot of experience doing the wrong things. As almost every other music teacher will tell you, "Practice only makes habit; only perfect practice makes perfect." So, if you want to be a good developer, I think it's better to practice in a way that helps you develop good development habits and skills, instead of getting really good at using a debugger and jerry-rigging fixes to bugs.
 
Rancher
Posts: 527
6
IntelliJ IDE Spring Fedora
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Junilu Lacar wrote:
A bunch of grunts right out of boot camp or a team of highly skilled and well-equipped operators?


I like the comparison between doing a project well and potentially killing people efficiently.
 
Al Hobbs
Rancher
Posts: 527
6
IntelliJ IDE Spring Fedora
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
https://awesomeopensource.com/project/grzesiek-galezowski/tdd-ebook
This is a free ebook. Don't know if it's any good.
I will read it myself, since I haven't read any thing about tdd yet.  It seems good.
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Junilu Lacar wrote:

Tom Joe wrote:The next thing would be to show us how to make realistic projects with TDD, say 10 examples.


I'll see your 10 and raise you 126 more: https://awesomeopensource.com/projects/tdd



Thanks for sharing. I was looking for structured video courses with at least 10 examples. I don't know how I could use that link at the moment.
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Junilu Lacar wrote:

Tom Joe wrote:I really wish that promoters of TDD created plenty of free and non-trivial examples of TDD. They can make some of them paid to be fair to them.


By the way, it looks like we're going to have Robert "Uncle Bob" Martin as guest author in these forums in the very near future. I wonder how it would go over if you asked him for plenty of free and non-trivial examples of TDD... and maybe offer to pay him for some of them, you know, just to be fair.  



I meant to say that I don't want everything for free. But, it would be nice if they could provide at least something for free, say 3 out of 10 TDD courses could be free. That way, we get an idea of how TDD works and how they do it.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you really want to learn or at least get a deeper understanding of TDD than what you have now there are a number of folks besides myself here who can help. We've done a number of exercises throughout the years, some quite lengthy and full of good discussions about code smells, design choices, and test techniques. When you're first starting, it's better to start with mechanics, then progress to understanding principles, and then putting it all together. It requires patience and perseverance, and a lot of studying new concepts. The most you'll get from examples, even long ones, are principles and techniques. How to weave this all together in actual programming situations is as complex and as infinitely varied as the possible moves you can make when playing a game of chess. There's no single formula. There are, however, patterns that you can start recognizing. This, again, takes a lot of practice and experience before it turns into recognition or "intuition".
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Al Hobbs wrote:

Junilu Lacar wrote:
A bunch of grunts right out of boot camp or a team of highly skilled and well-equipped operators?


I like the comparison between doing a project well and potentially killing people efficiently.


Ha. I was thinking more along the lines of extracting a valued asset or achieving a valuable objective and dealing with any problems/issues encountered along the way. Bugs and design problems are the "bad guys" that you want to eliminate "with extreme prejudice."
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there any list of "good" TDD practitioners who can do one on one coaching or small group sessions for a "reasonable" fee ? Good meaning someone like Uncle Bob or his proteges. Reasonable meaning up to $100/hour USD for one on one sessions, or less for a small group (up to 5 people). I am quite sure it will be impossible for the average person to afford someone like uncle bob or such (at least $500 per hour ???). BTW, are there any TDD "certified" instructors/guides we could reach out to ? Also, are there any pre-requisites before doing TDD ?

PS -

It is far easier to lament about the lack of TDD (or anything else) in the industry, than doing nothing or little to alleviate problems. Alleviating can be done by creating a few, good free resources and multiple paid resources. Currently, I am a nobody and still a beginner. Hopefully, I can become good enough to be worth several hundred $ per hour and not have to worry about money. Then, I could make some free courses to help people out. I am not asking others to think or be like me. But, I'd like to fix a problem myself instead of just talking about the problem.

I had taken the JB Rainsberger video course for TDD for about $100 USD which was okay. I did gain a bit of insight into TDD, but I learned much more about Intellij IDEA and its refactoring features than anything else. Money is not a barrier, but I have thrown quite a bit into my education and still throwing more. I know that money won't solve problems, but you need to invest in yourself. I wish employers would at least consider paying for such stuff since they have bigger wallets. Actually, do big shots like Google, Facebook, Amazon etc. pay specifically for TDD coaching from reputable practitioners ?

Btw, I don't think anyone would expect to learn how to make movies by watching 10 movies. Movies are far more complex than a short TDD video course that solves a few coding problems. I don't think one could become an expert by even doing a few courses. But, the more examples, the more we can learn.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:Btw, I don't think anyone would expect to learn how to make movies by watching 10 movies. Movies are far more complex than a short TDD video course that solves a few coding problems.


That's not quite the point I was trying to make with the analogy. Just as you can't expect to become a movie maker by watching movies, you can't expect to be able to do TDD just by looking at projects. My point is that you have to *experience* the process. Doing short courses will only get you so far, just like doing a few video projects in school. They'll give you some experience but what you need to be trying to get out of those are principles and techniques you can apply in the real world.
 
Al Hobbs
Rancher
Posts: 527
6
IntelliJ IDE Spring Fedora
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You shouldn't really expect to learn something in-depth by watching videos.  You can't get around reading books if you want your understanding to be more than shallow.
 
Sheriff
Posts: 4870
317
IntelliJ IDE Python Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Al Hobbs wrote:You shouldn't really expect to learn something in-depth by watching videos.  You can't get around reading books if you want your understanding to be more than shallow.


I wouldn't say that's true. My go to method of learning is to pick up a book and I don't get on brilliantly watching videos, but I think that is just a generational thing (I'm 41). I see a lot of younger engineers coming up who use video as their primary learning medium. Neither is right, and neither is wrong, just personal preference.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Is there any list of "good" TDD practitioners who can do one on one coaching or small group sessions for a "reasonable" fee ?


I don't know of such a list except for maybe the list I keep in my head based on what I've seen and read over the years. But now I feel a little slighted . Maybe you didn't see my offer to help you in these forums as we've done with others in the past? I don't consider myself a beginner when it comes to TDD and I actually get paid (pretty well, too) to coach people on it in my day job. The special price we offer to interested people here on the Ranch for such services is the price of admission (free, like beer) and an open mind, patience, and perseverance. I think that's more than reasonable.

There are others here besides myself who can chime in with very valid opinions and ideas as well. I suggest you start another thread where we can walk through an in-depth exercise in TDD with you. Who knows, it might even last long enough for Uncle Bob to weigh in when he pays us a visit as a guest author here soon.
 
Saloon Keeper
Posts: 12165
258
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I agree with everything Junilu has said, and I will give him a cow soon for his efforts. I just want to bud in to say that there are many difficult programming skills that you learn over time by working together with more skilled programmers. For instance, you might learn about functional programming because you have once pair-programmed with an FP-enthusiast at the office. This I find happens regularly because there are many FP-enthusiasts. Sadly, TDD is not that popular yet, so it will take longer before you pick it up from coworkers or friends. If you are curious about it, you need to put the effort into it by yourself.

Not all is so bleak. As Junilu said, there are many skilled programmers on this forum that gladly use TDD and will talk your ears off if you let them. Expecting people to provide you free resources however, comes off as slightly spoiled.
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:there are many skilled programmers on this forum that gladly use TDD and will talk your ears off if you let them.


Oooh, so that's why my ears were burning just now. But willingly admit I'm guilty as charged.
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Junilu Lacar wrote:

Is there any list of "good" TDD practitioners who can do one on one coaching or small group sessions for a "reasonable" fee ?


I don't know of such a list except for maybe the list I keep in my head based on what I've seen and read over the years. But now I feel a little slighted . Maybe you didn't see my offer to help you in these forums as we've done with others in the past?



No offence If such a list existed, then couldn't you be in it too ? I prefer more "dedicated" coaching and that is why I asked for paid coaching also.

 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:
Not all is so bleak. As Junilu said, there are many skilled programmers on this forum that gladly use TDD and will talk your ears off if you let them. Expecting people to provide you free resources however, comes off as slightly spoiled.



I wish they would provide a few (not 1 or 2, maybe 5+) video examples of TDD for free for the entire world to advertise TDD. Then, people can try (enough) before they buy and it will also make a (stronger) case for TDD. I understand how this comes off as being spoiled. But, I have spent a bit of money on educational resources and will continue to do so. I wish I could get some free or nominally priced demos to see how TDD really helps before I spend several hundreds or thousands of dollars on bigger courses. I do realize that a few 100 or 1000 dollars for a great course are pennies compared to what one can earn with the knowledge from that course.
 
Stephan van Hulst
Saloon Keeper
Posts: 12165
258
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If Junilu's attempts to teach people TDD on these boards can't be called dedicated, then I don't know what can.

Maybe you mean live, in person coaching?
 
Tom Joe
Ranch Hand
Posts: 143
5
IntelliJ IDE Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:If Junilu's attempts to teach people TDD on these boards can't be called dedicated, then I don't know what can.

Maybe you mean live, in person coaching?



I did not know that he was dedicated to helping people out with TDD here. Yes, I meant live, but remote coaching (regardless of covid).
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:I did not know that he was dedicated to helping people out with TDD here. Yes, I meant live, but remote coaching (regardless of covid).


I think you misunderstood what Stephan was trying to say (Stephan, thanks by the way for your kind words).

What he means is that whenever anyone mentions or even hints at anything even remotely related to TDD, I'm usually on it like fleas on a dog. It's kind of my thing around here. We used to have a couple of Sheriffs/Authors (Ilja Preuss and Lasse Koskela) who also would jump on these topics but they have since retired. By "dedicated" I think Stephan means it more in the sense of the guy in your neighborhood who likes to go around reminding everybody to pick up their dog poop, even if it's not their "official" job to do it. When it comes to TDD, I'm kind of that guy telling everybody to pick up the poop in their code.  
 
Junilu Lacar
Sheriff
Posts: 15815
264
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Tom Joe wrote:Yes, I meant live, but remote coaching (regardless of covid).


Good if you can find that kind of coaching but my offer still stands so here's a challenge for you: try to write a TicTacToe game in a test-driven manner. Start a new thread here and tell us what you would do or if you're stuck, what's the difficulty. We can walk you through the process and hopefully help you get past the typical hurdles people face when they're trying to learn to think in this "backwards" way. See if you can do this and come away from the experience with a different perspective on TDD.
 
Stephan van Hulst
Saloon Keeper
Posts: 12165
258
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, I meant to say Junilu is our dog poop guy.
 
Sheriff
Posts: 7660
522
Mac OS X VI Editor BSD Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
@OP
Have a cow for initiating this thread, which of course evolved to something much bigger than one could anticipate. You just need to know the trigger
 
Greenhorn
Posts: 19
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I enjoyed reading this thread. Thanks for your enthusiasm Junilu! Love it when people really care about the code they write and have deeply thought about it.  I would say those those qualities, along with being willing to admit you're wrong (and throw away any code you've written if a better solution comes along), and question your own beliefs, make for a great, productive coding environment.
 
Your mind is under my control .... your will is now mine .... read this tiny ad
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
    Bookmark Topic Watch Topic
  • New Topic