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

Apr 27, 2016 by Madalina Botez in  Announcements
 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!

Rebecca Wirfs-Brock: Maintaining Your Code Clint Eastwood Style 

Dec 01, 2016

Rebecca Wirfs-Brock is the object design pioneer who invented the set of design practices known as Responsibility-Driven Design (RDD), the first behavioral approach to object design. She is the lead author of two software design books and design columnist for IEEE Software. By accident, she started the x-Driven Design meme (TDD, DDD, BDD…). Although best known for software design, she is has a passion simply expressing complex requirements and effectively communicating software architecture.

Rebecca shared with the audience how to maintain your code in the keynote address from the first edition of I T.A.K.E Unconference. Watch below her remarks!

 

Code. Craft. Learn. Share. Repeat. Call for Speakers for I T.A.K.E Unconference, 5th edition, is open! Apply here.

Show your coding skills while competing with peers like you

May 14, 2015
Do you know how to test systems? Can you point coding issues? Are you open to learning from other people? And, best of all, can you safely clean up existing code and improve its design? These are all core developer skills nowadays, and you’ll greatly benefit from mastering them. Here’s just one more opportunity to do so during I T.A.K.E. Unconference – The Programming Contest. We think you’re going to enjoy it.

 

Take a set of challenges that will put your skills to the test, overcome them and get the most points to win the contest. Oh, we almost forgot: those getting the most points win gadgets like a drone or an iPad. They are still small rewards compared to the learning, but we’re sure they help :).

 

drone-at-itake

How the Programming Contest works?

Well, this is simple. We try to automate the process as much as possible. For the moment the instructions are as simple as:
  • Register for THE contest on May 28
  • Solve the challenges
  • Submit the solutions until May 29, 2 pm
Really cool: you can use ANY of the following programming languages: Java, C#, PHP, C++.

Who will review your code?

The Jury is built of Software Craftsman Fellows from Europe – names soon to be announced. They will grade each challenge you took. There will be just a few challenges, and taking all of them may lead you to the highest score. So the more you solve the closer to win.

Compete with passionate coders at I T.A.K.E. Unconference

Join the crew, compete with developers like you, gain recognition and take the drone home, offered by Mozaic Works. Or the iPad offered by Accenture.
Don’t miss the Programming Contest as well as many other hands-on sessions at I T.A.K.E. Unconference happening in Bucharest on 28-29 May 2015.

competition_quote

I T.A.K.E Unconference 2016 – Ist day videos & slides

May 19, 2016

The first day of I T.A.K.E Unconference 2016 was a great success: 18 speakers from 8 different countries shared insights and latest trends on 5 different stages.

Live coding sessions, the talks & workshops received an excellent feedback. Also, everyone got involved during the Open Space, Lightning Talks, Product Development Track & Kata Lounge. In the evening, the event continued informally at Dinner & Coding with a stranger.

You can watch the videos from the event here. Find below the slides from day one. Slides from day 2 are here.

 

Developer’s Life

Franziska SauwerwinRaising the Bar 

Houssam Fakih & Borris Gonnot – Metrics for Good Developers

Claudia Rosu – Developer experience to Testing

Alastair Smith – Express Yourself!

Monica Obogeanu – How We Use BDD to Keep our Developers Smiling

 

Software Design

Ionut G. StanLet’s write a Parser!

 

Microservices

Tim Perry – Microservice Pipeline Architecture

Yegor Bugayenko – Microservices as Chat Bots

Cristiana Voicu & Cristian Andrei – Openstack in the Enterprise and you get your money from it

Condoiu Iuliana – Microservices-what tools do we use

 

Continous Deployment

Philipp Krenn – Automate all things AWS with Ansible

 

DevOps 

Phillipp Krenn – Painfree object-document mapping with Elasticresearch 

 

 

Autotesting & Design

Nicolas Frankel – Mutation Testing to the rescue of your tests

Alastair Smith – Test-Driving Your Database

Andreas Leidig & Robin Danzinger – Who is testing the mocks

 

A few thoughts from the participants

  • First of all, I want to congratulate you for the organisation (…)  You can be proud of your work. I spent an amazing time and the return on the invested time is 5/5
  • Open talks were excellent for networking and ideas exchange
  • The Product Development track was a useful and pleasant experience

 

 

day1_itake

 

 

Leave a Reply