Tuesday, November 6, 2012

Helping to spread useful techniques

That's interesting thing: it's almost 5 months as I don't have any projects here, at my workplace.

Firstly there seemed to be a position on new project, but then it was decided not to introduce me.

It allowed me to apply my skills on codebase analysis but then I became available for another projects again.

So I decided to help out my company and proposed the following topics for training sessions I can teach:

Behavior-Driven Development in action
  • Discover next evolutionary step in TDD – Behavior-Driven Development (BDD). In this training you’ll know how not to miss any of customer’s requirements and transform them into a form of executable specifications, which can be used for collaboration purposes between customers, QA and developers.
Test Driven Development in action
  • this training is dedicated to the Test-Driven Development technique. How to not to spend much time on debugging? How to design convenient-in-use API for your class structure?
This live coding session will answer two main questions: WHY every developer should be at least familiar with this technique and HOW it can be implemented in real code. NUnit will be used as a unit-testing framework.
Mock Object Frameworks in unit testing: how to use and when
  • Those who familiar with TDD &pamp; BDD would like know how to practice it more efficiently: This live coding session will demonstrate how to test pieces of code in isolation of the rest code with using of mock object frameworks.
Event-Driven Architecture (EDA): Overview
  • The training introduces in event-driven architecture principles. Contemporary world is event-driven, so often our software can be implemented using event-driven architecture principles in the most efficient way.
When EDA can be applied? What considerations can be taken into account and how actually it can be implemented with using of real EDA framework – that questions will be answered here. NServiceBus EDA framework will be used for demonstration.
Introduction to UML
  • Unified Modeling Language (UML) is a common language which is used for communication purposes among professional developers. How to share architecture? How to describe static structure or dynamic aspects – this presentation is all about it.

It's been a week as I am doing them.

It's interesting thing, but most people are interested in TDD. I supposed that it would not be so popular, but for now I have given two TDD sessions and one Mock Object Frameworks session.

Now I think that I will be spending my next couple of months (before I move to the USA) on that sessions, and I like it :)

P.S. I asked Vladzimir Tihon, the lead of .Net Lab here, at EPAM, whether his students need CRC card session, and he agreed that it would be nice.

I think that I need to prepare for it as well :)

Any more topics are welcome!

No comments: