I’ve got back from Topconf Romania, a developer to developer conference that emerged in Tallinn and for the first time this year it was also held in Bucharest.
As an architect, I assumed I’d be after technical speeches but I got really impressed by some management related presentations as well.
A conference is a great learning experience. New technologies are being advertised and software paradigms get dissected and questioned by both the speakers and the attendees. There were some great ideas I came back with and I’ll share with you as follows:
It’s all about feedback
Feed-back is the tool of wise people. Every action has an associated reaction and the feedback is a reinforcing factor you should never ignore.
Nothing is perfect but feed-back can help you get better. Feed-back is probably the only suitable learning technique in the ever-changing environment of software development.
We inherently use feedback to build better relationships, to shape our personalities or understand a problem space whose function depends on way too many variables to think of any formula that can always give you the right result.
We like to follow rather than reason
Most people would rather follow a Dogma than question it. A very good example is how we’ve been managing software over the years.
Agile has become a buzzword, everybody wanting to be part of the Agile movement. Although it started as a feedback driven methodology it recently spread to large rigid organizations, governments, and even the military.
One reason for Scrum success is the rule-based approach. You get a list of techniques and that’s all you need to care of. Most will religiously follow them without understanding the reason behind them or their effectiveness in their own specific contexts.
We always have to question everything we do and understand the reason for every action we take. Agile is not a set of rules but a philosophy that takes time and a great deal of thought to properly master it. You should understand what it offers before considering adopting it. You should also analyze feedback and check how it works for you. There is no such thing as a methodology that fits all. The best methodologies are the ones that are tailored to specific projects and teams, being constantly driven by feedback throughout a project life-cycle.
Software is more about people
The technical aspects of software are deterministic, it’s people that make it hard to manage deterministically. People actions, inner and outer team communication and collaboration bring the chaos theory to software industry.
Communication is our best friend
“How to win friend and influence people” should be the first book you ever read. Lynn Myrick gave a great introduction to the true importance of communication. She runs communication dojos that help people become better communicators and we should all follow her example and invest time and effort in overcoming communication burdens.
Never underestimate security threats
Another great talk was Joseph Carson‘s Future of Security presentation. In 2013 were recorded more security threads than in all previous Internet years combined. The Mobile market, the Cloud computing and the Internet of things demand careful security planning and you shouldn’t underestimate its importance.
Scalable real-time searching
Costin Leau gave a great talk on ElasticSearch capabilities and how it enables scalable real-time searching. We’ve previously used Lucene through Hibernate Search and SOLR but ElasticSearch addresses the scalability aspects of real-time searching. It also offers visualization (Kibana) and logging (LogStash) tooling.
Topconf Bucharest was a great success and it triggered the urge to become a speaker myself. Watching all these great people made realize how much they have invested in becoming domain experts. A great speaker both a domain expert and a great communicator. Striving for becoming a speaker can make you a better professional so I think it’s worth the effort.