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!

Programming contest @I T.A.K.E Unconference

May 05, 2017

As for every I TAKE Unconference edition, we want to give a chance to the software crafters from the audience to showcase their skills and learn more in the process. And because we appreciate passion, we offer a prize to those who convince a jury of well-known international developers that they are the most skilled in the room.

This contest is not meant to be easy. It will require you to practice beforehand, so please read the instructions carefully.

It will also require you to register before the event.

Mechanics

  • IMPORTANT: Register to the contest latest one day before I TAKE Unconference by sending an email to steliana.moraru@mozaicworks.com 
  • On the first day of the event, after lunch, you have max 15′ to do a performing kata in front of the jury.
  • The winner will be announced at the end of the second day

Constraints

To simplify the jury’s decision, the performing kata has to conform to the following constraints:

  • Only the following programming languages are accepted: Java, C, C++, C#, Python, Visual Basic .NET, PHP, Javascript, Swift or Ruby
  • Only solo contestants are accepted. Sorry, no pair programming this time
  • The kata has to showcase refactoring skills.
  • The kata has to last max. 15′

How we will judge

The jury will judge your refactoring skills.

The ideal kata looks like this – you will get maximum point if you:

  • clearly state the smells you see in the code
  • pick one of the smells
  • clearly state your plan to fix the smell
  • fix it in small, safe steps
  • run tests after each step to prove you didn’t break anything
  • commit after each step with a clear message explaining why you made the change
  • fix as many smells as possible within the time constraint

You will loose points if you:

  • make big or unsafe changes to the code
  • break the behaviour after changing the code
  • don’t improve the code a lot
  • don’t improve the design by the end of the kata (hint: we judge design using SOLID principles and the four elements of simple design)

Recommendations

To help you, we’ve thought out what we would do if we participated to such a contest. Here’s what we recommend.

1) Use one of the following codebases for the kata:

2)  Practice beforehand on the structure we presented for the ideal kata. Ideally find someone to practice with.

3) Watch other people refactoring. YouTube has many videos on the topic, including using the recommended code bases.

Glossary

A programming kata is a repeatable exercise used to practice specific skills.
Performing kata means doing a kata in front of an audience.
Refactoring means changing the internal structure of the code without changing its behaviour.

Immutable data

May 05, 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. 

Ricardo J. Mendez, founder at Numergent, is a software developer with 20 years of practice. He will share in his talk at I T.A.K.E Unconference 2016 more about immutable data.

 

i-take-unconference-speaker.004

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

Starting my own business, leaving the comfort of a company where you get a certain sense of security by deriving a regular salary, and having to deal with the hidden iceberg of new skills  I had to learn but hadn’t realized I didn’t even know about.
Joining my first start up, which wasn’t the same as a usual job, nor with the degree of control of just running my own business, was a great learning experience on how to deal with uncertainty while still aiming to provide a measure of direction.
Realizing that, as a developer, your job is not to deliver code. Your job is to keep the user happy, and delivering code is only a part of that. It requires a mental shift from the technology-focused mentality one tends to have as an engineer.
Working with distributed teams, and learning to adapt to the different work and communication styles of people from different countries, has made a huge difference in adaptability, and has taught me to not assume the message is always getting across.
Going through several technology trends and epochs, seeing language and platform flame wars rage and abate, trying a bit of everything, helps come to grips with the idea that a language or a platform is just a tool, and it’s what you do with it that matters.

 

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

The idea that being unable to modify your data can bring more flexibility is unintuitive.
However, the bigger our codebases grow, the harder it becomes to find out if a refactoring process, or even a seemingly small change, will have a negative impact. Test suites can reduce this uncertainty, but normally only inform us of a problem *after* we’ve made a change.  There’s usually no way to know, in advance, how time consuming the side effects of a modification will be.
A shift in mentality towards data immutability, whatever the language we are using, will help structure the code and functionality in a way that makes it easier to grow and change down the road.

 

#3. What else would you like to share with participants ?

I assemble and lead project-specific teams to tackle challenges involving interaction design, data and open source. I’ve been working on software for over 20 years, across multiple industries – from desktop tools, to banking and financial institutions, to healthcare, to gaming.
I usually work with distributed teams, as I’d rather take the expertise where I find it than expect it to be around the corner, and it leads to interesting, varied teams with different perspectives.
A voracious reader, of both technical and non-technical books, it would be strange to find me without one or two tomes in progress.  This extends to platforms and languages – I very much enjoy kicking the tires on both, always looking for something new to learn.

logo ITAKE 2016

Want to join Ricardo and many more software crafters from around Europe?Join I T.A.K.E Unconference 2016!

Powering Interactive Data Analysis with Google BigQuery

Mar 29, 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.

 

Marton Kodok is a Senior Software Architect REEA, who led the implementation of complex and distributed systems. At #itakeunconf 2017, he will share more about Powering Interactive Data Analysis with Google BigQuery.

 

speaker-badge-professional-status-marton-kodok

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

 

It all started when I was posting answers for the Stackoverflow community and the reputation started to grow over 100k. I realized that being a professional is a constant effort and never ending learning of new cool stuff. To be up to speed you need to constantly shift to emerging technologies. You see the merit when your answer voted and uncounted millions of people also learn.
We need to be open-minded and have a mentor around us to grow. As you might not have a mentor close to you in person, you can leverage online communities such as Stackoverflow, a community that helps you grow. It helped me.
Then when you take it offline and be supportive & active in local communities, participate in Startup Weekends, community projects you believe in – you will be able to work on fun stuff. Also being part of an IT company such as REEA, it helped me become a professional by all the great startup projects I had to work on, the colleagues, the clients, and also the conference participations.
In 2016, I was nominated and accepted into the Google Developers Experts program. Having my exemplary work recognized by the greatest company in the IT industry and pointing me as an expert and outstanding professional, it gives me new goals to achieve even more.

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

Nowadays there are dozens of options to choose how you architect your project for next level of data analytics. We will cover how Google BigQuery helps to solve the petabyte scale data warehousing, and ability to write complex queries for your dashboards.

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

My inspiration inbox is Feedly, there I consume all sorts of content I really enjoy reading: High Scalability, Percona Blogs, Codrops, Medium, SIMB.
ITAKE_2017

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

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

Leave a Reply