I was a guest at DESCRIPTIVE a podcast from my friend Kahlil Lechelt. I talked about various topics, including how we do DevOps at Jimdo, the stoy of so coded and the bliss I found in developing slidr.io.
You can find the shownotes and the podcasts subsribe button here http://descriptive.audio/episodes/6.
this article was initially published with the March edition of php[architect] magazine. I want to thank them that they allowed me to published the post here on my blog, too!
It's (mostly) always the same story: I'm trying to convince some of my friends to finally submit a talk to a conference Call for Papers (CfP), and the answer is always: "Yeah, I would love to...but I have no idea what I should talk about." It's time to get over your reservations and find your voice.
Step 1: Finding Your Topic
Since I have been hearing this so often, I want to share some of my thoughts on finding a topic and becoming the best speaker to present on it at any conference.
I started speaking at conferences almost two years ago. Since then, I've been to a lot of conferences. I was very lucky because my CTO back then was an experienced speaker already. He gave me a bunch of good advice and helped me to find my very first topic. Today, I am going to pass this advice on to you.
Share the Story of What You Are Doing
I assume you are getting your monthly paycheck for a reason, which means you are actually adding value to your company's goals. Are you programming new features? Great - go talk about that. How about sharing: 'How we evaluate which features are worth being implemented'? Are you fixing a lot of bugs? That is also a great topic to talk about. How about: 'The top five ways to drill down and find EVERY bug'? You may even be doing a bunch of other stuff besides programming - proper project management, prototyping, or technical evaluations - and these are also great things to talk about.
This brings me to my next point.
Share the Story You Are Absolutely Passionate About
Very often after giving a talk, what I hear is that I'm so passionate about the things I'm talking about. The reason for this is dead simple. I am enthusiastic about the things I'm talking about. You should be too. Don't just pick a topic that's worth sharing. Pick a topic where you really feel like it's an amazing thing - it's the one tool, best practice, or workflow that you can't live without anymore!
That being said, there is one last thing you really should know about finding talk topics:
Even Though You Know It, Not Everyone Else Knows It
That's really the biggest takeaway of this whole article. To be able to talk about a topic, you should really feel comfortable with it - whatever it might be. We all know that it usually takes at least a couple of months - or even longer, possibly a year - to dig into something well enough to feel comfortable with it. Which brings us to the actual problem: As soon as you know a topic well enough to be able to speak about it, you feel like the topic is so easy that you expect everyone to already know about it.
YOU ARE WRONG! You should feel special for knowing that thing. Ask your peers if they would be curious to see a talk about that topic.
Step 2: The Abstract
Now that you have a rough idea for a topic, it is time to write a nifty abstract for your idea. Let me tell you my little secret about abstracts: Be as specific as you have to, but try to be as least specific as you can. I usually write my abstract without knowing how my story will look in the end. By keeping it a bit vague, you are preserving the chance to change bigger and smaller details while crafting the talk.
If you'd like to get an idea of how other speakers are writing their abstracts, there is a pretty obvious way that most people forget about. When you are reading through a conference program, you are just reading a collection of abstracts (and ones that were successful at that). I only know of a very few number of conferences where they ask speakers to write an extra paragraph, separate from their proposal, for the program, so just read through a bunch of programs from your favorite conferences. This way, you can get an idea of what the best writing style would be.
You are almost there, but there one last thing to do.
Step 3: Name the Talk!
As we all know, there are just a handful of unsolved problems in Computer Science, and besides printing and dual screen solutions, it's naming things. This, unfortunately, also applies to finding a name for your conference talk. At this step, it's a lot about your creativity. Try to make the audience curious, but don't make false promises. Try to tell them what they can expect and what kind of level your talk will be at...and pack all this information into about 40 to 60 characters. Good luck!
I hope this made the process of how to get your paper into a CfP a bit more clear and also encourages you to share what you already know. People speaking at conferences aren't super heroes or super brains. The only difference is that they have realized that they have something to share, and now, you have too!
When I was 18, still living at my parents house, a good friend of mine and I volunteered for Europe's biggest internet radio #Musik to rewrite their website. I was still a trainee at my current company and had a normal 8 hour working day. Right after finishing that, I arrived home and started hacking the website. It was a hilarious time, but I learned a lot and we had so much fun! We also made a lot of mistakes, like writing our own framework and implementing every shitty component on our own. And even if PHP 5.3 was there at the time, we didn't give a fuck about name spacing our code and such.
The site launched right before our final exam. When we were done, we parted ways. I became a Lead Developer at the company we were working at and ended up with much less time to hack on things I enjoy. I had way too many managing tasks back then. I just lived my programmer's life and had some good and some bad times, including awesome inspiring conferences, some cool projects and a shitload of new things I learned.
In the middle of 2012 I had my very first public speaking gig at the phpunconference here in Hamburg. It was so much fun for me that I decided to do this more often. I submitted my talk here and there, ending up with my first international speaking gig at TakeOff Conference 2013. I went there with 2 friends of mine and we had an awesome time in north France. The Take Off Conf organizes were running that conference for the very first time, and they did an awesome job, but there were still a few little things which annoyed us. It made us think:
If we were running a conference we would do it different
This is what happened eight months later. We spun up our very first conference and So Coded 2013 was a thing! Organizing this was a rollercoaster ride, and right in the end sprint of organizing the event, my two friends became unemployed for (conference) unrelated reasons. So our default chit-chat topic was about what kind of business we could create. What could we do for a living? What would be fun?
In the middle of the discussion I thought of a thing which has bothered me for quite a long time. Over the previous year I started speaking at conferences because I enjoy teaching and spreading the things I have learned. And for every conference I spoke at, I always wanted to upload my slides and give that link to the audience so they can check out all the stuff I mentioned later on. But for me as a speaker uploading slides on a shitty conference wifi was always a hassle. The platforms around really bugged me. Some were not free and didn’t followed the FLOSS principles. Others had bad UX and viewing the slides on your tablet or mobile device wasn’t possible at all (from a point of UX and because of iframes and stuff). Think about how often you are checking stuff on your phone or table on a conference. So I came up with the idea to create a slide hosting platform that does not suck. This was the moment that the idea for slidr.io was born. I just wanted to get rid of that pain I experienced so often.
While still in that same Cafe, I immediately registered the domain (on my phone thanks to DNSimple). And due to that fact that 2013 was the year I finally wanted to dig deeper into ruby, I decided to use Rails as a framework. I had the complete software stack in mind. It didn’t cost me any effort to think what I would need, I just knew what I wanted to build. So as soon as I got home I started hacking away. I hacked the whole night till the early morning hours, no matter that I had to go to work the next morning again. I read a lot of documentation, played around with Rails, searched for a plugin for handling auth, and figured out how to run a rails app on Heroku. I had a very very basic setup running by the end of that first night. That was now about 50 days and 80 commits ago. And since that day I have rediscovered my hacking spirit. I just want to get things done, I want to see progress on the tool I want to build, the tool with which I want to change the industry.
As I mentioned before, I've attended so many conferences and I always saw so many fellow nerds hacking (not surfing Facebook) with every free minute they had. I was kind of jealous, because I knew that feeling but it had been for a very long time. But now I’m also one of these people. I grab my laptop with every free minute to improve what I’ve built so far. I hack when I wait at the airport for my next flight. I hack at night and when meeting friends in a cafe with the sole purpose of hacking together.
I asked a bad ass UX expert and friend of mine (Fabian) for help, and lucky me, he also really liked that idea and the challenge of creating something new on a green field. So as of now we are a team of two passionate developers / designers getting our own playground for new technologies we always wanted to play around with. And we aren't just making a demo for the purpose of testing things, we are building a real app.
In the past few days, I’ve been thinking about what happened over the last few months, and I realized that whenever I share this story I inspire people. That's also why I am sharing the story here. Sometimes I’m afraid that I’ll lose this feeling again, and I don’t want it to take me another 3 years to rediscover it.
I cobbled together this logo so that I don’t forget that,
It’s more about doing what you love, focusing on why you started doing this kind of job, remembering the reason why I work in this industry. It's about programming, having fun making things, and creating software and maybe changing the world!
I want to make stickers out of it, use it as wallpaper and place it everywhere in my life. Anything to keep myself from forgetting what I am really passionate about.
Note: please feel free to use this 'logo' and to place it in your office, bump it to your co-workers screen or paint your wall with it!
I will make the valley know, that Hamburg is way more awesome then Berlin!
This is a quote from the So Coded Conference after party. And this, for me as one of the organizers, is one of the biggest compliments we could get. Many people asked me: “Why do you do this?” Well, that's an obvious question, right? And with this blog post I will try to explain why, especially in relation to the quote above.
I love the Valley, or more specifically, I love the hacker spirit around there. So many cool tech companies want to change the world we all live in. In every café you enter, you will find nerds sitting in front of their MacBooks, hacking on new things. So what's cool about this? These people don't do it for the money or the fame they might get. They do it because they believe! They believe in the things they build – they believe they can change something. It's the hacker spirit I love and it is tech people like us that are creating this.
So when I came back to Hamburg again and took a closer look at the few startups around, I quickly realized that these startups are different, different in a bad way. Almost all of them are founded by business people just trying to create the next Facebook and earn a shitload of money. Some just want to create a cheap, shitty copy of Y and get some money. This fact really bugs me. So what to do?
One possible option is to just move to the Valley. I guess almost everyone of us had, at some point, thought about this. And never say never, but for the moment Hamburg also has some upsides for me. My wonderful girlfriend, my family, and the wonderful city itself. So there must be another option.
If I can't go to the valley. The valley has to come to me!
Pushing the tech community in my hometown was one of my personal goals that I wanted to achieve with the So Coded Conference. Running a conference is obviously only one aspect of it. It's more about enabling people. Giving them permissions, the permission to build awesome things, the permission to change the world, and the permission to just be awesome, as Adam Brault stated on the JSConf.eu closing keynote this year. Thanks buddy, this keynote was very inspiring to me
What's the point then? Well I need your help! This isn't my mission, it's ours! Running events like user groups, giving them a place to happen if your office allows it, or organizing free programming lessons for interested people. So many great examples are around already, and there are so many organizations that exist to support you if you want to pitch in! So many companies are willing to help! And at this point, I just want to say thank you to all the people and companies making this happen. And of course this does not exclusively apply to Hamburg, if you feel your city’s tech community should improve, change it!
Coming back to the initial quote, X is way more awesome then Y? That's not the point I wanted to make. It's just that I was overwhelmed by the feedback we got in general. This really empowered my desire to continue my mission.
In closing, I just want to say thank you to all the people inspiring me to do so!
I started at Jimdo in December 2012, ready to change everything and bring in all my gained knowledge in Software Design and Service Oriented Architecture (SOA). I already knew that the Jimdo system was approximately eight years old, so what we all call a "grown system". In fact this means that there are a few thing I would do "better", like we have code tightly coupled to the hardware structure and also into itself. No SOA at all, but I want to change that, as I was hired for the Feature team, I quickly realized that I obviously couldn't do it alone. I teamed up with Sönke and joined the Infrastructure team. He has been at Jimdo since 6 years, so he does not only know a lot about the system, but also is a great software architect.
Why I joined the Infrastructure team?
Well, I realized that before we can refactor the software we have to do some operations work. The Infrastructure team at Jimdo is responsible for two different tasks:
- Keep the system running, we have a bunch of hardware servers, so we have to deal with many disk failures and network issues.
- Improve the system, we are all very annoyed by the things mentioned above. So we can't to get rid of "möhrchenkonzept" (that's how we call it internally), which means putting old parts of the system out and putting new stuff in.
Hired as an Open Source Rockstar (or technically speaking "Software Engineer") - I ended up as an Ops guy just a month after I started. This was and still is a great opportunity to learn, not only for me, and I'd like to say that every developer should do this.
Things I learned so far:
- Beeing on-call, this actually is one of the hardest things I had to learn. As an Ops guy you are FUCKING RESPONSIBLE for the system, not only when you're in the office or in front of your notebook. You should respond to an alarm within a given time, so no partying, no real chance for any activity where you cannot react within a reasonable time frame. Of course you also have to get up in the middle of the night. Think about the things you're doing over the week, and if you can also do them when you are on-call.
- Deploying to production can cause a collage to spend the night infront of your notebook. You should develop, as if you have to get up when your deploy cause errors.
- There's no magic involved, your code is always running on systems which have, somehow, to be maintained. Of course you can reduce the amour of work that has to be done with cloud solutions. But these could solutions can only reduce the work which results from hardware stuff. But when you are coding crap even Amazon can't help you. So sorry friends, I know, the truth can hurt. But there's no shiny candy land out there which can execute code.
This can be a little bit catchy For me people who have never used linux as an operation system are no real developers. It's more than mandatory to know the platform your code is running on, as I mentioned above. And most of our apps are hosted on an some kind of linux distribution. I'm also a Mac user, but before I switched to Apple I used Ubuntu for quite a long time. And this now helps me a lot, so that I know at least the basics in operations business. Maybe I should rephrase this: Every software developer should have at least some shell and unix knowledge.
So grab your ops colleagues and maybe offer them a little position exchange (everything included, also being on-call) for about a week or so. You will see this will change your mind and you will gather some more insights and gain a better understanding of the so called "system administrators" in your company. Oh and I finally learned some puppet, too.
Sidenote: If you like this topic and want to hear more of this, I will give a Talk on this topic at ThatConference in Wisconsin this August. If you're also curious about this topic please step by and let's have a talk.
Jimdo also has a Developers Blog you definitely should follow. We try to blog about more specific things we archived so far.
The feeling when your getting the mail, the ones saying
ScotlandJS Proposal Accepted
it's amazing! It's so freaking amazing! I'm going to speak at ScotlandJS. Wooooooo! I'm really happy the earlybirds selected my talk. So I can't wait to see all of you and of cause I'm also very excited to see Scotland for the first time. And if you've not bought your ticket yet - do it! It's worth it. The keynote speakers are already announced and they are really great speakers. So there are so many reasons to come, you shouldn't miss it.
This post is x-posted from the Jimdo developer blog - check it out!
February 2nd and 3rd - 5000 nerds overrun Brussels, Belgium, to attend Europe’s biggest Free and Open Source Developers Europe Meetup - FOSDEM 2013. So, a colleague and I decided that we had to be there too. I had the pleasure of giving a talk in the PHP developer room. In case you missed it, here is our FOSDEM 2013 recap.
We started with the opening keynote including the FOSDEM dance. Next, we planned to see How Google builds web services but unfortunately missed it, as well as some others, because of overcrowded rooms. We also missed Using Ruby Testing Frameworks to bring sanity to your infrastructure covering topics like how to mock services in a Service Oriented Architecture environment.
But enough about the things that we missed! We attended a bunch of really awesome and inspiring talks!
Learning to Automate was about the problems you discover when you begin to automate, or learn configuration management languages. One crucial required skill we detected, is software engineering like Inversion of Control or Dependency Injection and Single Responsibility Principle aka Software layering.
Welcome to the Symfony2 World was a very good introduction to the shiny new world of modern PHP. RDFa (http://en.wikipedia.org/wiki/RDFa) was mentioned in combination with Symfony CMF which also looks like a cool thing for Jimdo. Funny to see what and how much the PHP ecosystem has adopted from the other language ecosystems.
Engineering Resilient Systems through Cross-Disciplinary Insight gave us some super interesting insights into how to build resilient IT systems by using organizational development and culture. Essentially Agile, DevOps and Kanban promotion. We also learned about Theory X and Theory Y.
Orchestrating complex deployments on OpenStack using Heat was largely a cool screencast of a live coding session of Heat, which is pretty much an AWS Cloud Formation clone in OpenStack.
And finally I also had the pleasure to give my What’s wrong with PHP talk for the very first time. Luckily Jimdo helped a lot to make this possible! Thank you! :) I got great feedback on my talk and I was really happy when it was done - so I could really enjoy the conference (and the beer).
Ohhhh and then we saw one of the most impressive talks we’ve ever seen. It was presented by Raghavendra Prabhu. The proposed topic was Feed me more: Memory appetite of MySQL analysed and it contained enough material for a full 4-day training. The speaker obviously had to be very quick, but he somehow managed to finish more or less on time. It contained so many very heavy MySQL and InnoDB internals that I couldn’t follow after 4 minutes, but we all agreed that he must be that guy who writes my.cnf on a napkin without hands while having a drink by the pool! Thanks buddy!
Of course there were also lots of really cool after-party options, like the DevOps dinner sponsored by OpsCode, Puppet Labs and CF Engine. Or attending the overcrowded beer event on Friday or just hanging out in Brussels with the smartest guys in technology. We hope to see you all again in 2014!
Ohh boy! Such a long time passed since the last post. I just wonna give all of you a few updates.
I'm a Jimdo'er
We make your mama' creating websites, unless she isn't already a webdeveloper
I'm at the infrastructure team at the moment, so doing lots of devops stuff there. You wonna know why I switched? Just meet me in person the next meetup or conference!
A complete new blog
As you might notice, this blog completely changed! I started with this blog back in 2009 on my own vServer at a very crappy hoster (1Blu - sorry, but no recommendation here). I don't want to administrate all the stuff which comes along with having your own server. Like doing system updates, manage wordpress and plugins. Plus having such a crappy coded blog-engine like wordpress. I don't wonna touch any wordpress code, so no chance for me to make changes to the blog-engine.
I discovered jekyll, octopress and stuff one or two years ago and together with github:pages this looks very promising to me. So I want to switch since... ever. But didn't have the
time guts to really do it! Last weekend I want to write a new blogpost, so I logged into my wordpress and started ... with installing updates, as always. At this point I decided to finally make the switch-over! Therefore I defined what to do:
- take care of the comments
- split-up domains from vServer
- export and transform posts
- setup jekyll and github pages
Let's check step by step
take care of the comments
This was an easy pick for me, b/c I already switched to disqus a few month ago in preparation for this switch. Just install the disqus wordpress plugin and transfer you comments. This is a no-brainer srsly!
split-up domains from vServer
Ohh man! Not that no-brainer as I hoped it will be. As I mentioned my old hoster was really crappy and one goal of the move was to get rid of the contract. After I met Anthony Eden the man behind DNSimple at the TakeOff Conference in Lille( and he pooped me). I obviously had to switch my domains to them. And man, I really love this service. I love everything-as-a-service in general and they are a really perfect match for this kind of things!
export and transform posts
The ease of this task really depends on your existing post and the fancyness in there. I just followed this guy http://weedygarden.net/2012/12/hello-jekyll/
I had a couple of embedded youtube videos and other iframes - and they all break. But with some sed/awk and search and replace I fixed most of them. But you will definitely find some broken posts in the archive.
setup jekyll and github pages
So yeah - here it is! My fresh, new, shiny blog crafted with jekyll bootstrap and github pages. It's now responsive, fast, supercool and nerdy. Plus I think this will encourage me to blog more in 2013!
Oh and if you are following my blog on your reader: Please change your reader to http://feeds.feedburner.com/Codestars.