Tuesday, June 24, 2014

Preliminaries are as important as the act

So, it's a "sexual" quote. True. But apply the idea to a public presentation. Most people don't give the appropriate importance to the preparation (preliminaries) and just focus on the presentation (the act). And the normal "How to do good Presentation" stuff focuses on "the event itself", like "avoid repeated words and fillers", "talk with good voice tone", "don't turn your back to the audience", etc. However, just like in a negotiation or a simple business meeting, the preparation is as important as the event itself. If you do your homework right, the event is just a fun thing to do. Here's 10 quick tips from my personal experience on the prep side of things:

1. Know your stuff: You might not be the best in the world on the topic you will be presenting, but you damn sure need to be the best prepared man on what you're going to speak about. You don't need to be a Database Master Guru, but if you're going to talk about SQLServer Analysis Services, You MUST study that topic thoroughly and some other topics around wisely. You MUST be prepared for a wide variety of questions.

2. Know your audience: If it's "an open event" to anyone, this is harder and you have to choose a path:
  – Either adapt your presentation so it can be understood by a wide variety of profiles;
  – In your event abstract, clearly state who is the presentation for. Is it going to be too Tech? Very low Tech? Very business focused?
If you do know who your audience is (e.g.: A classroom of .NET enthusiasts), then prepare the presentation for them. It's crucial in order to capture their attention.

3. Know the venue: Talking in a class room with a small projector with low definition is one thing. Talking in an open event, in a room that can host 200 people and has a big high resolution projector, that's another story. All the details WILL be caught. If your projection is bad, it will be noticed.

4. Be Creative: Develop good, well structured and visible info for projection. Avoid crazy colors, follow good practices. A Powerpoint slide with 3000 lines of red text with dark blue background IS NOT a cool thing. A demo that doesn't work is not a cool thing. Showing something and not talking about it it's worthless. There's lots of info on the web about this, read it!

5. Control+C && Control+V: Errors and the Copy/Paste technique are dangerous. The worst thing you can do is having a presentation full of errors, either grammatical, business ones or any other kind. Even worse, something copied from the web without being quoted or investigated. Copying some statistic from a bad source is worse than not having that statistic. Having someone from the audience correcting you IS NOT nice. Keep in mind: pt-PT is different from pt-BR. Don't mix them.

6. Google is your friend: If you're talking in an announced event, with an abstract info pre-released, expect people to Google you and your topic before going in. Do the same. Anticipate questions that might arise, cover all possible angles. No pain, no gain.

7. Prepare your speech: You don't have to memorize a full two hour speech, but it's useful to memorize some checkpoints, some keywords, some speech flow. "Talk this, from here follow to there, which works as introduction to the next topic, which leads to the other...". Presenting for two hours is a Workflow, keep that in mind so that you can keep your audience alert all the time. Articulate ideas, don't brutally jump topics, "connect" your presentation from start point to the end.

8. Like your own voice: Others hear your voice different than what you hear. That's due to the "Skull effect". Record yourself and listen to the recording. See some of your previous presentations. Learn to vocalize for the audience and not how you like when you talk.

9. Build up Confidence: "We're not rational animals: we're rationalizing animals". Rationalization involves twisting and distortion of facts and reasoning to suit your own purposes. We try to explain everything, we confabulate to go after what we believe in. Same thing here: You have to believe in yourself and be master of your acts. The audience will "feel" the nervous in you. Talk to a mirror, present to your wife, girlfriend, friends, family. If your embarrassed in front of the people you love, how will you feel with strangers?

10. Train your presentation: Train just like you're going to present it. You'll see how much time it will take, what's missing, where your struggling. Improvise can be awesome, but there’s only two types of people that master this: natural born "talents" and "experienced speakers". If you don’t fit on any of these, avoid improvise too much.

Bottom line, if you're going to host a two hour presentation, be aware: it will probably take you 20 hours to really prepare it.

Monday, June 23, 2014

PHP Tools for Visual Studio

Simply put, I think Visual Studio is the best piece of software Microsoft ever released. It's miles away compared to other products in the Microsoft product line. So, whenever I can I try to use VS for development.

PHP is one of my favorite and "oldest" loves: it's simple, cheap, easy to use and well documented. It's one of the best choices for most common Web scenarios and nowadays, 14 years later, I still use it whenever I can. But, no "super special" Integrated Development Environment (IDE). Can you see where this is going? Well, PHP tools for Visual Studio. IntelliSense, Cool Debugging, Code Navigation, etc.

You can download them from the Visual Studio Extensions Gallery:
And here's another nice "gadget":

Monday, June 9, 2014

Why OutSystems grabbed my attention

Before I start, let me state 2 things. When I mention OutSystems, I'm:

  – Referring to the OutSystems Platform and not to the company itself;
  – Ignoring they have a Java version. Never used it.

Having said that, although in my day-to-day tasks I'm naturally moving away from the hard development, I like writing code. I'm that guy that likes to be awake at 4 a.m. when everything is quiet and develop stuff just for fun or personal use. Go figure! I have a huge passion for the .NET Framework and C# is just a beautiful, well-structured language. Add an outstanding IDE like Visual Studio and you get the point: It's (almost) a perfect world! So, going to a higher level of abstraction where you're not so focused on code but more on business logic was not an easy jump. But I jumped. I now acknowledge that I enjoy working with OutSystems. And there's one simple reason why OutSystems was able to gain my "respect": It just works! That's a huge compliment. And I'm far from being an OutSystems expert.

Some of the programming languages and technologies we work with look like they were designed by Psychologists in order to stress test you. Some try to be cool (and don't work at all), others are way too complicated for what they're worth, lots of others just aren't useful for most case scenarios and there's even the ones that fit in the "Rubiks Cube" for human logic: Insane! Why on earth is this even considered as acceptable? Who architected this? Who implemented it? Why do people use this?

OutSystems fits in the VisualStudio & .NET bag: It's intuitive, it's well designed, it's well architected, it's well implemented. OutSystems is an easy learn with outstanding capabilities. It's built on top of the ASP.NET and that's an invaluable boost because it leverages all the brilliant stuff you have in the .NET Framework and takes it to a new "speed" level.

Although OutSystems is not "for geeks" (far away from being), it just feels like VisualStudio: "Developed by developers for developers". Technology is just a means to an end, but there are some technologies that I like more than others. OutSystems is in the good ones!

The focus now is on Cloud and Mobile. You can try it for free, check the OutSystems WebSite.