Category Archives: Thoughts

Please, less code next year. My codemotion yearly experience.

I am not a conference reviewer or a professional blogger. I am only a developer who have participated at many Codemotion conferences in Italy during the last years. Last weekend I was in Milan to attend the Codemotion conference. It was a great event as I expected and I experiences many unique strength for this particular conference but also many weaknesses. This article is just a note for my thought.

My general thought about Codemotion

Maybe the thing I love the most is the presence of international companies with their stands. Two or three years ago, I discovered Azure on one of this – which now empowers almost all my projects. I had the opportunity to talk with real people working or promoting this technology. It is just an example to tell you I had the opportunity to look at their products and made my choice: I had the opportunity to meet the people – and not the website or documentation – who maintain those techs. I really love this human part. Collecting Twitter account and e-mail address is more that obtain free developer assistance; it is the right way to go deeper into one specific world.

The event would not exists without conferences. Both days were articulated in speeches of exactly forty minutes. For the talks I appreciated the most I think it is not enough (last year I attended a conference named “SQL or NoSQL” by Matteo Cartia – probably the most interesting talk I have ever been – for which 40 minutes was far too little). In this timespan, you will fast realize it is impossible to introduce a technology. You will not have the time to introduce nothing but a couple of key points and a small demo. However, I think that this bounded rush is a good trick to prevent most of boring talks. I would talk about those later on this post.

The food problem

Last but not least: the food. We need food. We are not spiritual entities. The portions was too small. Really, I do not know how they decided the menu for the conference – but as far as I know the lunch have to provide around the 35% calories needed in one day, which means 700kcal. We had a launch for children and the snacks machines became empty too fast. I was hungry all day long.

About Codemotion choices

Looking at the agenda, I realized that Codemotion have reduced during those years the space for business technologies. Codemotion is with no doubt the place who welcomes students and beginners the most. At the beginning of every talk, generally, a good speaker asks the audience to raise a hand if you already know what the conference is talking about or if you are friendly with one or more linked technologies. I saw that in all the JavaScript and Angular related talks the audience splits into exactly two parts: totally beginner and real developer. In contrast, high-quality talks (which are the minority) about big-data and business techs tent to attract the real-world developer.

Keeping this choice in mind, I may appreciate the lack of too high-level talks: Codemotion is not the place to master your skills. Anyway, I do not understand the serious lack of .NET technologies inside the event. I think Codemotion have to be braver while choosing their talk: it is easy to fit an audience with Angular but at what price? Where are the news? Is it possible that ASP.NET Core and the entire .NET Standard library are not covered at all at one of the most important event about coding in Italy?

Codemotion prefers Angular and JavaScript talks to all other techs due to its popularity I guess, but discovering that Codemotion is almost a conference for frontend developers was a bit sad for me. Obviously, this is not a complete truth: many underground backend and frontend technologies were represented but I noticed the precence of only three or four slots talking about .NET technologies.

Moreover, the talks about Xamarin, Roslyn and other high-level products (not necessarily .NET) were the only ones where I saw real programmers interested in a possible future use of a technology. Which is, I suppose, the primary objective of a talk. As you can imagine, beginners can appreciate those technologies too.

Except Angular, there were no coverage for largely used technologies in IT like .NET or Python or Java itself. I noticed a full coverage for only newborn trends, but not for the giants’ news. It is a shame to not spread these innovations to so many beginners. Codemotion is for many of them the only event they will participate. The only one opportunity they have to decide to become a programmer.

The code and slides problem

This year I saw the worst conference in my life. Will not tell the name, despite no one would read this article. The important thing is that this talk was a totally mistake. I am going to descript this particular talk just to introduce my thought about what makes a talk a good talk.

This particular talk was about Angular 2. I expected to hear something about what makes Angular 2 different from version 1.x and why I should take the effort to learn Typescript and the framework. Nothing of that. The talk started with almost two slide presenting Angular. The speaker said that Angular 2 improved performances and was completely rewritten, then she suggested us to move on Typescript. Period. After those two sentences, she moved on code. Code was everywhere and did not worked as expected. She injected into her project material design and I really did not know why. Why her demo had to be stylish? The presence of material design library forced her to implement dozens of html to present a card layout as you may imagine.

She finally coded a controller and a view doing basic thing like iterations and rest calls. The code, simple in itself, was not explained enough and although I think there were a problem with time and not with the competence of the speaker, the point of the session was not clear. Not for me and for many others in the room, as I heard. The big problem is that there were too much lines of code. The look and feel of the demo was too perfect at the expense of the code simplicity.

So, what am I trying to say with this example? Please: reduce your code lines to just one or two minimal examples. We are not you final app-users, so do not care about design. Prefer conceptual slides focused on the value of your talk in spite of the code.

The importance of no-code talks

Many talks was about some thread I really loved but the speakers was boring. This is a huge problem and in general the presentation of an idea is a problem for every developer. We cannot do everything. For this reason, I generally appreciate talks about business models, continuous budgeting and so on. As developers, we are used to navigate inside bad written API documentation, but we almost know nothing about the worlds of business and presentations.

For this reason, I encourage attendees to go to the talks, which are not about the code itself. They are the most helpful talks for me. In particular, I loved a talk called “public speaking for geeks” which aims to introduce you a world we have to manage but for which there is no API documentation.

The big deal of that talk, in particular, was in a simple element I wanted to mention. Lorenzo encourage you to “discover more”. How does he did it? He presented many links to other conferences, easy. Here is the “infinite knowledge”. The idea behind is that if you want to learn you have to walk with your legs and at Codemotion you would only receive some path to walk into.

As a developer, you have to participate to not coding talks to learn from the community and to improve your human skills, to meet people and share ideas. For the coding part, some links and a shot introduction will be enough, but Codemotion is a place to meet the people behind the scenes, a place to discover communities and introduce yourself into totally unknown things. At home you will surf the net and discover more.