Playing with projections

Apr 07, 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.

Thomas Coopman is an independent software engineer and consultant focused on the full stack: frontend, backend and mostly people, practices and processes. At #itakeunconf, in his hands-on session, the participants will be implementing projections based on an event stream we provide.

 

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

I draw most of my inspiration from visiting and organizing events in the communities. Additionally, the Software Craftsmanship Slack Team is a great place to start discussing with craftspeople all over the world.

1) Experimenting with different career choices until it felt good

2) Exchanging experiences with fellow professionals by attending meetups, usergroups and conferences

3) Fighting the urge to assume I’m always right

4) Limiting the subjects I’m willing to learn and invest time in

5) Investing in my communication techniques. I’m continuously learning to speak non-techie. I’m practicing speaking in front of an audience.

 

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

The ability to extract useful knowledge from a store of historical events.

 

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

1) The Software Craftsmanship and Testing community are awesome. Reach out to them.

2) Listen to any podcast or audiobook during your commute. It’s far better for your personal growth than listening to the (mostly bad) news on the radio. I particularly like these podcasts: Star Talk Radio and Hardcore History.

3) Pick up a musical instrument and learn to play it adequately. I tend to relax with a guitar in my hands or a piano at my fingertips.

 

 

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

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

Building a multiplayer game server and keeping (most of) your hair

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

 

Opher Vishnia, Creative Developer at Interlude, is a multidisciplinary creator, invested in many different and often unrelated fields at the same time: computer science, art, music, design, math, game development and more. He is going to share at #itakeunconf more about building a multiplayer game server.

 

 

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

√ Invest in personal projects. Think of a project that you think is fun to make and just start hacking at it. Developing something for yourself, where you make all the decisions rather than for a company you work for, is an amazing tool for learning and growing.
√ Join in the conversation. Is there an online group or a meetup for your area of development? That’s a great way to make new personal connections and learn along the way
√ Find an open source project that you like and start contributing. A good place to start would be a tool or library that you already know and use. Your contribution doesn’t have to be code – you can open an issue, improve the documentation or write a tutorial.
√ Take initiative. Is there something in your workplace that can be done better and sounds interesting to play with? Step up and do it. Suggest researching a new topic, or introducing a new tool the workflow. It’ll provide an interesting new challenge and a break from the daily routine. Plus it’ll make you look cool.
√ Stay optimistic. Sometimes these challenges are frustrating, and there are days you won’t make any progress, but the moment you have that “a-ha” moment is worth it all.

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

Participants will learn about why making synchronized multiplayer games in the browser is so hard and what solutions do we have at our disposal to tackle those.

 

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

 
√ Codepen.io is a wonderful tool for inspiration on the web
√ Games in general. Just get Steam and play something!
√  Multiplayer Game Programming: Architecting Networked Game by Josh Glazer & Sanjay Madhav – A very comprehensive book on all things multiplayer

Want to meet Opher, +30 international speakers and ~300 software crafters from around Europe?

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

Journey to Agilandia

Apr 10, 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.

 

Liviu-Stefanita Baiu, Senior Business Analyst and Analysis Discipline Lead, has worked as a full-time Business Analyst for the last 5 years, in a couple of companies, in an Agile environment. He will share at #itakeunconf real-life samples of the techniques and tools and how they helped get along in Agilandia.

 

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

 

Some of the most important turning points in my professional life are related to the people – my family and people I’ve met and work with along the way.
√ The set of values I learned from my family is the basement for all I am today, and I will name only a few – fairness, transparency, and loyalty helped me get through various situations I encountered.
√ Along with the above values – assuming responsibility for the things I’ve done allowed me to become trusted and receive honest feedback about my activity. Getting the right feedback (positive or negative – we all have successes and fails) and learning from it – this is something of value for me, and I try not to repeat the mistakes I’ve made along the way.
√ I like to read and I was encouraged to do so – this got me to pay attention to details and try to see beyond words and facade.
√ Making a career switch, thirteen years ago when I joined Transart, was a turning point. And the things I learned there for almost seven years, allowed me to naturally evolve to become a Business Analyst.
√ The colleagues and superiors I had, in my previous employments, contributed something to my evolution – their appreciation, as well as their disapproval, and always their advice.

 

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

 

My session is nothing about panacea, rather a proposition for the participants to use a set of tools, techniques, and attitude to tackle the complexity of software projects in an Agile environment. Some of them tools will help them understand the product vision, and other can be used for passing it on to the teams they work with. The match between them and each participant’s work environment as well as the value they bring in everyday work is a decision that relies solely on each and everyone from the audience. This toolkit worked for me, it may work for others.

 

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

I play GO (or wieki) – an ancient Chinese strategy game – unfortunately less often, I enjoy reading Fantasy and Sci-Fi literature, but one of the books I enjoyed reading is a military treaty – Sun Tzu’s Art of War, and one of my favorite authors is Mario Vargas Llosa, from a professional perspective Patrick Lencioni – The Advantage was an inspiration. And to conclude – the best source of information is the team you work with, they will show you what you need to learn so you can work together.

 

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

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

Users, tests & TDD

Apr 08, 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. 

 

Thomas Sundberg, developer with more than 25 years of experience, has developed an obsession for technical excellence. This translates to software craftsmanship, clean code, test automation and continuous deployment. At I T.A.K.E Unconference, he will share more about continuous deployment, TDD, and testing.

i-take-unconference-speaker.002

#1. Share top 5 things you did that helped you grow & become the professional you are today

The five things I am able to come up with now are:

  • Automation
  • Tidiness
  • Teaching
  • Speaking at conferences
  • Starting my own business

Automation

I have always found it fascinating to automate things.

One of my earliest experiences automating things was with my first PC where I made a boot floppy that booted the system and brought up a word processor. And it only took 1 minute or so. I didn’t really know if this was usable or not, but it was fun.

I wrote code that verified code back in 1997. A colleague of mine asked why. I thought that it was a good idea since I could. It wasn’t formalized like we do today with tools like JUnit, but it was code that verified code.

Automation has also led me to continuous integration back in 2004. This was the time when tools like Cruise Control wandered the earth. Probably hiding from dinosaurs.

Using Cruise Control, Ant and JUnit, I was able to implement continuous delivery at Gamefederation where I worked at the time. I didn’t know it back then, but that is what we call it today.

We had a build that took 20 minutes. It built the system, rebuilt the database, deployed the system and tested that it worked on a freshly setup database.

The testing was so thorough that the operations guy took the artifacts from passing builds and put them straight into production.

When I left Gamefederation, I was told that there had been times when the project manager had been thinking who he should give a task to. Should he give it to the guy leading the developers, we would say lead developer today, or to me. He concluded that if he gave it to the lead developer he would get something back in two hours and a NullPointerException. If he gave the task to me, he would get something back in two days and it would work. One of our differences was that I did unit testing and the lead developer didn’t.

Tidiness

I don’t like a mess. A kitchen sink with lots of unwashed dishes is awful. At the same time, I don’t mind some things being totally out of order. I don’t have to sort the toothpicks at a restaurant. A friend of mine, also into clean code, has told me that he sometimes does this.

The tidiness led me to Clean Code after watching Bob Martin at a keynote at Agile 2008 in Toronto. Hearing him talk about why we prefer clean code over crap was liberating. I bought his book and read it.

Clean code was among my earliest presentations.

 
Teaching

During an oral exam 1998, before we where even done, I was asked if I could help out as a teaching assistant in a database course. I said yes. This was a start for me where I learned that it is fun and rewarding to teach. Since then I have been working as a teacher and trainer on and off.
Speaking at conferences has enforced this urge to spread knowledge about things I think are important.
 
Speaking at conferences

Traveling to conferences has been a way to make new connections with people who care about the same things that I care about. That is, clean code, testing stuff, getting code into production and similar things.

I have met new personal friends this way. I have also made business with people I met at conferences.
 
Starting my own business

I became independent in 2013. This has given me a platform where I can strengthen my possibilities to spread the word about stuff that matters. Not just programming, but also doing it properly.

It took a while before I made the move. It was a scary decision to take. When I started there were a lot of things I was unsure of. Selling and finding assignments, taxes, book keeping just mentioning a few of them.

Running your own company is much more than just writing a few for loops and be done for the day. It is a lifestyle. But it is a lifestyle I enjoy.

 

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

I have two sessions at I T.A.K.E. Unconference 2016.

How deep are your tests? 

I will show how it is possible to test all paths through a system without using many integrated tests and that it isn’t possible to test all paths through almost any system using integrated tests.

I will also show that it is possible to test all paths using unit tests.

Using some mocking and stubbing in combination with actual unit tests is the way to do this. If we do this properly, we are able to check all paths through the application and will have very few integrated tests.

Definition of done: Working software in production! 

This is a case study where I will share how I implemented CD at one client. CD can mean, at least, two different things.

  • Continuous Delivery – the system is delivered for use continuously
  • Continuous Deployment – the system is deployed into production continuously

The way we did this was to create packages that were possible to install as the main artifact from our continuous integration build. The target was Red Hat servers so RPM packages where a good artifact.

Delivering these packages to a YUM repo allowed us to install them easily.

The last step was to trigger the installation. We used Puppet for provisioning our servers so all we had to do to automate the deployment after a new package was built was to trigger Puppet.

 

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

 

I am an amateur musician

I play the trombone in two orchestras: One show orchestra at Stockholm University- KÃ¥rsdraget and A big band – West Side Big Band. This means that I attend regular rehearsals twice a week and sometimes public gigs at dances or concerts.

Cat lover

I have two cats at home. Sune and Gretchen. They are both cats that we have gotten through an agency that helps homeless cats to new homes.

I write a lot

I have a personal goal to write a blog post each month. I wrote a Maven plugin for helping me with my writing. Most blog posts include source code and copying and posting code is error prone. Including part or complete files that compile is less error prone. This has helped me a lot. It fits quite well with my urge to automate things.

Downhill skiing

I had never seen a pair of skis close until I was over 30. Then I joined a few friends and went skiing for a week in France. The first day was horrible. I fell and hurt myself. But after a week with ski lessons I had understood some of the basics. Skiing is a favorite activity today.

 

logo ITAKE 2016

 

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

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

Leave a Reply