Behaviour Driven Development with Thomas Sundberg

Nov 26, 2014 by Madalina Botez in  Announcements

Thomas Sundberg is an independent consultant based in Stockholm, Sweden. He has a Masters degree in Computer Science from the Royal Institute of Technology, KTH, in Stockholm. Thomas has been working as a developer for more than 20 years and has developed an obsession for technical excellence. This translates to Software Craftsmanship, Clean Code and Test Automation.

Cucumber JVM is a tool that allows development teams to describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated test and development-aid – all rolled into one format. Cucumber JVM enables the implementation of Behaviour Driven Development in an organization that uses JVM for development.

Enjoy his presentation @ I T.A.K.E. Unconference 2014 edition.

Check out more about I T.A.K.E. Unconference 2015 or see directly the Schedule.

Hexagonal Architecture Ports&Adapters with J. Martinsson & R. Sanlaville

Feb 10, 2015

Until recently, layered architecture was the most common way of organizing large applications or modules. We’ve learned from practice that it has limitations:

  • business rules tend to escape or be duplicated in UI and/or data layer
  • switching from a database to another is very difficult
  • adding another UI to the application (eg. mobile or smart client) requires heavy changes
  • changing a library used by the application with another is often complex and risky

A new architecture style has appeared in the recent years that tackles this problem: Hexagonal Architecture, or Ports & Adapters. Its intent is to allow more flexibility by cleanly separating business rules from everything else.

Johann Martinsson and Rémy Sanlaville have described the basics of Hexagonal Architecture and then shown an example of such an architecture.

Enjoy their presentation @ I T.A.K.E. Unconference 2014 edition. Curious about 2015 edition?

Check out more about I T.A.K.E. Unconference 2015 or see directly the Schedule.

Test-Drive your Database & the 4 Rules of Simple Design

Apr 27, 2016
 Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 19-20 May. Discover the lessons learned and what drives them to challenge the known path in their field. 

 

Alastair Smith, developer at Redgate and founder of the Cambridge Software Craftsmanship Community in the UK and a co-organiser of DDD East Anglia, will join this edition of I T.A.K.E Unconference. After attending his sessions, participants will be able to use their programming language to clearly express a program’s purpose and stop writing the programming equivalent of legalese. They will be able to write unit tests for their own SQL code and enjoy database development again.
 i-take-unconference-speaker.009

 

#1. SHARE TOP 5 THINGS YOU DID THAT HELPED YOU GROW & BECOME THE PROFESSIONAL YOU ARE TODAY

The five things that put me on this path were:
  1. Reading software development books hungrily in the first few years of my career. Texts such as Code Complete and especially The Pragmatic Programmer and Test-Driven Development by Example were hugely influential on my early career and the direction I chose to take. The Pragmatic Programmer in particular is worth re-reading: I didn’t fully understand some parts of it as a fresh graduate joining the industry, and the experience I’ve built up over the last ten years has allowed me to get more from it on each later reading.
  2. Attending developer meetups, user groups, and conferences. Aside from the knowledge gained from the talks and workshops run at these events, they’re an invaluable opportunity to meet other developers, learn from their experiences, and about the local software industry.
  3. Finding a good mentor. As it turned out, my mentoring was very unofficial: a former colleague of mine guided me in the ways of professional software development, and pointed me in the direction of books, blogs, and other resources to learn from. His advice was invaluable in helping me discover techniques for writing good tests (and why tests are important), the importance of refactoring, and the foundational principles of Object-Oriented Design, such as SOLID. All of this at the beginning of my career, in an environment where I wouldn’t have otherwise been exposed to such topics.
  4. Understanding people as well as tech. As technical people, we can often be quite blinded to the problems around us and focus on the tools and technologies rather than the underlying collaborations with other people.
  5. Applying principles I’d learned elsewhere to my profession. I play a lot of music, and have been for over 20 years; as such, the idea of deliberate practice is quite a familiar one to me, and applying this principle to the techniques used in software development made a lot of sense. Participating in and organising things like Dojos and Code Retreats has helped me understand and improve my own development process enormously.

 

#2. WHAT CHALLENGES WILL THE PARTICIPANTS FIND SOLUTIONS TO DURING YOUR SESSIONS @ I T.A.K.E UNCONFERENCE 2016?

Database changes are difficult to get right, and objects like Stored Procedures and Functions can be particularly hard to work on. We’ll take a tour of test-driven development, and how we can apply it to our database objects to reduce risk in deployment. We’ll also look at how we can set up a CI server to run our new database tests automatically, just as we would for application code.
We’ve all had to read contracts at various points, e.g. when renting a flat, or borrowing money, or the EULAs that ship with software (and who actually reads those, right?). These contracts are generally written in “legalese”, the language of lawyers that is so concerned with being fully precise, and closing loopholes created by interpretation, that documents written in this language become obscure and the meaning obfuscated.
Just as human languages are a communication tool, so are programming languages, and we have our own form of legalese: code that’s far too concerned with implementation details, such as nested for loops, if statements, etc. Refactoring helps us move away from this, but where should we head? If we’re writing new code, how can we best express ourselves in the code we write?
 

#3. WHAT ELSE WOULD YOU LIKE TO SHARE WITH PARTICIPANTS?

Creativity is an important part of my life: I play the bassoon to a high standard and recently started singing. As well as music, I enjoy cooking, and working with chocolate; photography; and losing myself in a good book. William Boyd is a favourite author, and having recently enjoyed The Hunger Games series, I’m continuing my dystopian fiction streak with the Divergent series.
Similar to the Craftsmanship metaphor for software, I like collecting “real-life” examples of software delivery ideas. Ask me about minimum viable cathedrals, or the early Sputnik launches.
I’m super-excited about Star Wars: Rogue One!
logo ITAKE 2016

 

Want to join Alastair and many more software crafters from around Europe?

Join I T.A.K.E Unconference 2016!

Brutal Building Constraints

Apr 06, 2017

Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

Peter Kofler is a software developer since 17 years and still enthusiastic about writing code. At I T.A.K.E Unconference, he will share more about Brutal Coding Constraints.

 

#1. Please share with us 5 things you did that helped you grow & become the professional you are today

1. The biggest thing I did that changed me was a Journeyman Tour. For three months I visited different companies in Vienna and paired with their developers. See here for more information. (Three Month Journeyman Tour)
2. This included a lot of pair programming with strangers. I like pair programming and make use of it to learn from others. (Pair Programming)
3. I did (and still do) a lot of Code Katas to practice and experiment with code, patterns, and design. (Code Katas)
4. Try to continuously improve.
5. Read technical books.

 

#2. What challenges will the participants find solutions to during your session at I T.A.K.E Unconference 2017?


Yes, my session, the Brutal Coding Constraints, is a real challenge. It challenges our perception of Object Orientation and aims to deepen our understanding.

 

#3. Recommend for the participants 3 sources you find inspiration from and would help them better understand you 


* Michael Feathers – The Deep Synergy Between Testability and Good Design
* Bryan Liles – TATFT – Test All the F…in Time
* J.B. Rainsberger – The Worlds Best Introduction to TDD

 

Want to join Peter and ~300 software crafters from around Europe?

Register now for I T.A.K.E Unconference 2017!

Leave a Reply