Documentation for software developers

Apr 10, 2017 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, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

Peter Hilton is a software developer, writer, speaker, trainer, and musician. Peter’s professional interests are business process management, web application development, functional design, agile software development, and documentation. He will present at #itakeunconf a session about documentation for software developers. 

 

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

The things that helped me grow the most were starting to do something that I later developed a lot further: travel, presenting, writing, management, and coding. These influences on my professional development were taking overseas assignments and later moving permanently to another country, presenting to colleagues and later at conferences, writing a tech blog and later a published book, leading a team and later taking on a management role. As for coding, the most important thing was to never-never give it up and always have something new to learn.

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

My workshop will help participants address the hardest challenge in software documentation: learning how to take the first step from no documentation at all to the minimum viable documentation. The hard part is understanding what you can do, without wasting time on too much documentation.

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

iMy passion is figuring how to explain software and make it maintainable. I was originally inspired to learn more about this after reading Steve McConnel’s book Code Complete, as well as many other books about software development. I discuss my favourite aspect of making code understandable in my Software Engineering Radio interview on naming things.

I’ve always found talking to other people the best way to develop and refine my own ideas. This inevitably lead to conference presentations, for which my greatest influence is Kevlin Henney’s presentations.

Perhaps my greatest inspiration is the real world, which I enjoy exploring. My favourite way to learn about a new city and immerse myself in it is to explore its cafes, which I started doing on business trips and overseas assignments when I had a hotel room instead of a home to stay in. Writing cafe reviews on my own web site, before the likes of TripAdvisor was invented, was also how I started to explore writing. Today, there’s still probably as much writing about cafes as about programming on my own blog.

 

 

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

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

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!

I T.A.K.E. Unconference Day 1 – Slides & Videos

Jun 10, 2015

An unconference is as special as its participants. Thank you everyone – Speakers, Facilitators, Bumblebees & Butterflies for working all together, writing code, pairing, solving problems while discussing, listening and sharing knowledge.

After such an awesome gathering of practitioners, we are happy to share the presented slides.

Structured by tracks, find them all below.

I T.A.K.E. Unconference Day 1 – Slides & Videos

 

Keynote

simonbrown-squareSimon Brown: Software Architecture as Code


Hardcore Programming

stefan-kanevStefan Kanev: Clojure, ClojureScript and Why They’re Awesome

igstanIonut G. Stan: Let’s write a type checker + Code

Quality Practices 

Igor-PopovIgor Popov: Mutation Testing

MukhinaSvetlana Mukhina: Metrics that bring value

Patroklos-PapapetrouPatroklos Papapetrou: Holding Down Your Technical Debt with SonarQube

Executable Specifications 

Cyrille MartraireCyrille Martraire: Living Documentation Jumpstart

Developer’s Life

Andrew-HallAndrew Hall: Power Up: Learn How to Recharge Your Energy Bar

Krasimir-TsonevKrasimir Tsonev: 7 Rules to Get the Things Done

Thomas SundbergThomas Sundberg: The responsible Developer

Architecture

tim-perryTim Perry: Microservices and Web Components Are The Same Thing

robertIMG_2123Robert Mircea & Virgil Chereches: Our Journey to Continuous Delivery


DevOps

cegekaAndrei Petcu: Rocket vs Docker: Battle for the Linux Container

AlexAlex Bolboacă: Why you should start using Docker?

See also: Day 2 Slides & Videos

We hope to see you again at the next I T.A.K.E. Unconference edition.

The recorded videos are now being processed. Stay tuned.

Putting the Science in Computer Science with Felienne Hermans

Nov 26, 2014

Most conversations about best practices in software development focus on personal preferences: Vim versus emacs, static versus dynamic typing, Java versus C#. Other domains use research to settle such questions. Couldn’t software development benefit from science as well?

Felienne Hermans, assistant professor at Delft University of Technology, had a very engaging talk at I T.A.K.E. Unconference 2014 about experiments designed and run to answer questions such as:

  • What is the best programming language?
  • Do design patterns help in any way?
  • Is Linus’ law correct?
  • Are spreadsheets code?

Watch her talk @ I T.A.K.E. Unconference 2014 edition to find out the results.


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

Leave a Reply