<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Joël Cox</title>
        <description>Articles on tech, product and business.</description>
        <link>http://joelcox.nl</link>
        <atom:link href="http://joelcox.nl/feed.xml" rel="self" type="application/rss+xml" />
        
            <item>
                <title>Getting to the real problem</title>
                <description>&lt;p&gt;Writing requirements is hard. Writing good software without proper requirements is even harder, at least if you want to have a happy customer at the end of the project.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Overlap' src='http://joelcox.nl/images/2013-09-25-getting-to-the-real-problem/overlap.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;The everlasting paradox in requirements engineering is that you are trying to get an insight in the needs of stakeholders, even though the stakeholders often don&amp;#8217;t know what they need. When they do know what they need, it&amp;#8217;s not uncommon for them to get it wrong.&lt;/p&gt;

&lt;p&gt;We - software developers - often skip right to the solution and you can&amp;#8217;t really blame anyone for falling into this trap. Are you supposed to read the stakeholder&amp;#8217;s mind? In order to find a proper solution you have to take time to understand the real problem and context.&lt;/p&gt;

&lt;p&gt;The requirement engineering process might look a bit like a dark art for the uninitiated, but there are some really simple tricks to get to the bottom of the problem in your problem definition phase.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article was inspired by a guest lecture from &lt;a href='http://www.linkedin.com/in/klaasjanwierda/nl'&gt;Klaas Jan Wierda&lt;/a&gt; at &lt;a href='http://oce.com'&gt;Océ&lt;/a&gt;. Thanks for giving me some insight in your requirements processes.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id='context_inquiry'&gt;Context inquiry&lt;/h2&gt;

&lt;p&gt;When you&amp;#8217;re in the business of optimizing or automating workflows (who isn&amp;#8217;t?) it is of massive importance to actual have a clear view of what these processes actually entail. A process always has a bottleneck but actually identifying the problem might not be apparent to the person performing the process.&lt;/p&gt;

&lt;p&gt;In a context inquiry you visit the user&amp;#8217;s workplace and literally watching them do their work. This includes their time in front of the computer as well as other tasks. There is no fabricated, make-shift process, only the real, raw thing.&lt;/p&gt;

&lt;p&gt;Following a single person (for a part of) a day will help you develop a certain empathy for the user. You are the fresh set of eyes that should spot the different problems the user runs into throughout the day.&lt;/p&gt;

&lt;p&gt;During the session you collect a wide variety of qualitative data, ranging from interviews, videos of processes or even GPS waypoints. After the sessions you can use this data to analyze the processes, convince other stakeholders or even use it to get the development team up to speed. Clear problems often come with clear solutions.&lt;/p&gt;

&lt;h2 id='problem_trees'&gt;Problem trees&lt;/h2&gt;

&lt;p&gt;A problem can be the consequence of different actions and not necessarily single one. Humans have a hard time actually mapping these interdependencies mentally. Keeping an open mind when you think you&amp;#8217;ve found the cause is hard, especially when you don&amp;#8217;t know the full context.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://web.mit.edu/urbanupgrading/upgrading/issues-tools/tools/problem-tree.html'&gt;A problem tree&lt;/a&gt; helps you change your perspective on a single problem and will often make you realize that introducing yet another system is not best or only solution. Maybe a company is better off changing one of its policies or hiring extra staff.&lt;/p&gt;

&lt;p&gt;Making these kind of trees is often interesting for layered problems, problems that span a longer time or multiple stakeholders. Capturing this in text is hard and these trees often develop throughout the discovery processes.&lt;/p&gt;

&lt;h2 id='the_five_whys'&gt;The five why&amp;#8217;s&lt;/h2&gt;

&lt;p&gt;The easiest technique for getting to the real problem is repeatedly asking why a stakeholder wants a certain solution or has a certain problem. You can compare this to traversing a problem tree. A typical transcript of replies for a company that wants an iOS application might look like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Every company has one!&lt;/li&gt;

&lt;li&gt;Because it allows people to read about our company on their phones.&lt;/li&gt;

&lt;li&gt;Because our normal website is hard to use on small screens.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In this case you might end up recommending a mobile/responsive site rather than a native application. You probably won&amp;#8217;t even need five why&amp;#8217;s (and I wouldn&amp;#8217;t recommend literally saying &amp;#8216;why&amp;#8217; five times in a row) to get to the real problem.&lt;/p&gt;

&lt;h2 id='another_paper_tiger'&gt;Another paper tiger?&lt;/h2&gt;

&lt;p&gt;Some projects don&amp;#8217;t need extensive requirements or clever techniques to gather requirements. In smaller companies or organizations with clear processes there is not much use to have such an extensive discovery process. Just make sure you &lt;em&gt;really&lt;/em&gt; know what the problem is.&lt;/p&gt;

&lt;p&gt;Another thing to consider is that changing requirements up front is really cheap. You&amp;#8217;re better off spending two extra hours talking with your customers than ten hours rebuilding part of the system (unless you&amp;#8217;re paid by the hour of have a good contract..). Good requirements help a long way in creating better systems and ultimately happier customers.&lt;/p&gt;</description>
                <pubDate>Wed, 25 Sep 2013 20:50:00 +0200</pubDate>
                <link>http://joelcox.nl/getting-to-the-real-problem</link>
                <guid isPermaLink="true">http://joelcox.nl/getting-to-the-real-problem</guid>
            </item>
        
            <item>
                <title>Building a product for non-technical founders</title>
                <description>&lt;p&gt;You&amp;#8217;ve come up with an idea, did some lean product testing and now all you got to do is building your actual product. The only problem is that you no technical skills to speak off&amp;#8230; At this point you only have two real options; find a technical co-founder or hire someone to build your product for you.&lt;/p&gt;

&lt;p&gt;The first option sounds easier said than done; unless you&amp;#8217;re well-connected the chances are slim you&amp;#8217;ll find someone with the technical chops and the same passion for your product as you do. That leaves you with the latter options; hiring a developer.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Posters' src='/images/2013-09-18-building-a-product-for-non-technical-founders/posters.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;Over the years several potential startup founders approached me to build the first version of their product and these are the things I told them.&lt;/p&gt;

&lt;h2 id='learn_how_to_program'&gt;Learn how to program&lt;/h2&gt;

&lt;p&gt;No, you&amp;#8217;re not expected to write your product on your own, but knowing just a little about programming will earn you some major street cred and it will give you some better understanding what your developer is doing all day.&lt;/p&gt;

&lt;p&gt;Programming isn&amp;#8217;t hard (software engineering is!) and there are plenty of resources out there to get you started. Set aside a few hours on your weekend to get the basics down. Every manager should know about working in the trenches.&lt;/p&gt;

&lt;h2 id='sharpen_your_bullshit_filter'&gt;Sharpen your bullshit filter&lt;/h2&gt;

&lt;p&gt;The tech industry–like every other industry–has a lot of buzzwords. If you don&amp;#8217;t have any technical background it&amp;#8217;s easy to hide yourself behind a wall of jargon, so it at least looks you know what you&amp;#8217;re talking about.&lt;/p&gt;

&lt;p&gt;If you approach a developer with the request to build an application with a NoSQL data store because you want your product to be &lt;a href='http://mongodb-is-web-scale.com'&gt;web scale&lt;/a&gt;, I can almost guarantee you won&amp;#8217;t get a serious reply on your cold email.&lt;/p&gt;

&lt;p&gt;Instead, reason from a non-functional requirement perspective: &amp;#8220;We want to provide a desktop-like experience, so a single-page application sounds like a good fit.&amp;#8221;&lt;/p&gt;

&lt;h2 id='dont_be_a_victim_of_nih'&gt;Don&amp;#8217;t be a victim of NIH&lt;/h2&gt;

&lt;p&gt;Every developer has issues with the &lt;a href='http://c2.com/cgi/wiki?NotInventedHere'&gt;Not Invented Here (NIH) syndrome&lt;/a&gt; from time to time. There certainly are cases where reusing an existing component is not the right choice, but always ask your developer whether using an existing tool isn&amp;#8217;t a better idea.&lt;/p&gt;

&lt;p&gt;This doesn&amp;#8217;t only save time, but also offloads part of the documentation-burden to the projects you&amp;#8217;re using. Using popular open source software also helps when you&amp;#8217;re bringing new members on the team; they might already be familiar with the tools you&amp;#8217;re using.&lt;/p&gt;

&lt;h2 id='create_value_immediately'&gt;Create value immediately&lt;/h2&gt;

&lt;p&gt;Software projects are expensive, complicated and time-consuming. As long as you haven&amp;#8217;t shipped you&amp;#8217;re product, your not making any money or getting traction. You&amp;#8217;ve probably heard about the Minimal Viable Product concept, but let&amp;#8217;s take this a step further.&lt;/p&gt;

&lt;p&gt;Imagine you&amp;#8217;re building an ecommerce platform. Typically, developers will start out with inventory management, but instead this developer decides to get payment processing done first. Consequently, the company that hired him started selling a single product, every week, two weeks into the project. (Example courtsey of &lt;a href='http://www.linkedin.com/in/renzoslijp'&gt;Renzo Slijp&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;This example doesn&amp;#8217;t translate well to every product, but it&amp;#8217;s certainly helpful to first hash out the part of the product that makes it unique first. This allows you to show potential customers (or investors) what your product is about.&lt;/p&gt;

&lt;h2 id='hire_a_communicator'&gt;Hire a communicator&lt;/h2&gt;

&lt;p&gt;When you don&amp;#8217;t have any technical insights in the complexity of your product it&amp;#8217;s hard to scope and thus budget the development of the project. Some functionality will be easier to build than others; &lt;a href='https://en.wikipedia.org/wiki/MoSCoW_Method'&gt;prioritize functionality&lt;/a&gt; together with your developer.&lt;/p&gt;

&lt;p&gt;Your developer can also function as a hired co-founder to bounce ideas of. Great developers will think along with you and offer their suggestions throughout the project. It&amp;#8217;s therefore incredibly important to &amp;#8220;click&amp;#8221; with your hired gun.&lt;/p&gt;

&lt;h2 id='pick_your_stack_wisely'&gt;Pick your stack wisely&lt;/h2&gt;

&lt;p&gt;When you start looking for a developer you&amp;#8217;ll notice they all seem to program in different languages. What&amp;#8217;s that all about? Without going all Computer Science-y on you, there are two things to consider:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are you building on an existing platform? Working on something for iOS and Android? You&amp;#8217;ll probably want an Objective-C and Java programmer. Targeting Windows? Look for a C# engineer.&lt;/li&gt;

&lt;li&gt;What languages does your local talent pool speak? Some languages are more popular than others and adoptions rates vary regionally. You&amp;#8217;ll find more PHP programmers in the Netherlands compared to Pythonistas.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Of course there are technical as well as cultural implications of choosing your stack. Don&amp;#8217;t get carried away by the fanatics and consult a few of experts before deciding.&lt;/p&gt;

&lt;h2 id='insist_on_docs'&gt;Insist on docs&lt;/h2&gt;

&lt;p&gt;Almost every software developer hates writing documentation, but insist on having some written anyway. Don&amp;#8217;t have your developer write documentation for the sake of, but actually make it useful. Make sure it includes a system overview, design decisions and system requirements.&lt;/p&gt;

&lt;p&gt;The requirements document will be the first check whether the things you told your developer were actually understood. The other parts mainly serve so introduce other people to your system. Try to have as little documentation written as possible, but not too little. Documentation requires maintenance as well.&lt;/p&gt;

&lt;h2 id='closing_thoughts'&gt;Closing thoughts&lt;/h2&gt;

&lt;p&gt;Keeping the above advice in mind won&amp;#8217;t guarantee a smooth initial development phase, but will certainly help you getting up to speed faster, making more informed choices in the process.&lt;/p&gt;

&lt;p&gt;Try to find a technical advisor if you can, preferably one that doesn&amp;#8217;t send an invoice at the end of the month. Software development is hard, especially if you don&amp;#8217;t have any experience.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t forget to actually enjoy the process, because creating something beautiful from thin air is just magic.&lt;/p&gt;</description>
                <pubDate>Wed, 18 Sep 2013 23:00:00 +0200</pubDate>
                <link>http://joelcox.nl/building-a-product-for-non-technical-founders</link>
                <guid isPermaLink="true">http://joelcox.nl/building-a-product-for-non-technical-founders</guid>
            </item>
        
            <item>
                <title>Be a well-rounded software engineer</title>
                <description>&lt;p&gt;During a recent IM conversation I made a statement about probably being able to adopt any mainstream programming language or framework in a few days; I don&amp;#8217;t care about the specific tech per se. I initially felt like a douche, but I quickly realized that this statement reflected what has been bothering me about my industry colleagues the last few months.&lt;/p&gt;

&lt;h2 id='dont_label_yourself'&gt;Don&amp;#8217;t label yourself&lt;/h2&gt;

&lt;p&gt;A lot of my peers identify themselves by the technology stack they are using. Their profiles state they are &amp;#8220;PHP programmers&amp;#8221; or &amp;#8220;Java developers&amp;#8221;, or whatever programming language they are comfortable with.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Crowd' src='/images/2013-05-22-be-a-well-rounded-software-engineer/crowd.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;Describing yourself by a technology is certainly a valid way of presenting yourself professionally. Your job probably requires you to spend a lot of time with that technology and you&amp;#8217;re probably more familiar with that stack that 90% of the other things out there.&lt;/p&gt;

&lt;p&gt;Describing yourself by a technology is also very limiting. You position yourself in a specific corner of the market, whether you want it or not. Specializing in itself is not a bad way of distinguishing yourself from the crowd, as long as it is a conscious decision and not because &amp;#8220;it&amp;#8217;s what you do.&amp;#8221;&lt;/p&gt;

&lt;h2 id='tinker_and_learn'&gt;Tinker and learn&lt;/h2&gt;

&lt;p&gt;While our line of work allows us to tinker with new technologies in our spare time, there isn&amp;#8217;t much use if you can&amp;#8217;t apply the new concepts you&amp;#8217;ve learned, outside of your weekend projects. In the end, you spend most of your time on your full-time job.&lt;/p&gt;

&lt;p&gt;Getting outside of your comfort zone makes you more critical of your own work. It exposes you to paradigms that you might not encounter during your normal job. It allows you to accurately determine whether you are using the right tool for the right job and quickly make decisions about choosing a stack for your next project.&lt;/p&gt;

&lt;p&gt;One thing I&amp;#8217;ve noticed is that developers I look up to almost never associate themselves with a toolchain. The simply call themselves &amp;#8220;software engineers&amp;#8221;. If they do specialize, they are often an expert on the topic and are either heavily involved with the community. But they always tinker with other tech on the side.&lt;/p&gt;

&lt;p&gt;You probably don&amp;#8217;t want to work with a team that is resistant to change. While I&amp;#8217;m not advocating for rewriting all your services in Go, you should definitely set aside a few hours to check out some esoteric tech over the weekend. You will be a better engineer for it.&lt;/p&gt;</description>
                <pubDate>Wed, 22 May 2013 22:00:00 +0200</pubDate>
                <link>http://joelcox.nl/be-a-well-rounded-software-engineer</link>
                <guid isPermaLink="true">http://joelcox.nl/be-a-well-rounded-software-engineer</guid>
            </item>
        
            <item>
                <title>Why you should get a degree in computer science</title>
                <description>&lt;p&gt;Helping out at a job fair at my old high school made me reflect on why I chose to get into IT. What&amp;#8217;s the real value in getting a CS (related) degree when there are so many other subjects to study?&lt;/p&gt;

&lt;p&gt;&lt;img alt='Carousel' src='/images/2012-03-16-why-you-should-get-a-degree-in-computer-science/carousel.jpg' /&gt;&lt;/p&gt;

&lt;h2 id='you_will_become_a_problem_solver'&gt;You will become a problem solver&lt;/h2&gt;

&lt;p&gt;Every single person I&amp;#8217;ve met with a background in computer science has great analytical skill. They are able to decompose complicated problems into manageable smaller problems. This is an extremely valuable skill in a world where systems and processes are getting more and more complex.&lt;/p&gt;

&lt;p&gt;Seeing how different sub-systems are connected isn&amp;#8217;t just a technical skill, but can also applied at a higher organization level, such as business processes. It&amp;#8217;s up to you to make problems tangible and communicate them well.&lt;/p&gt;

&lt;h2 id='you_can_work_anywhere'&gt;You can work anywhere&lt;/h2&gt;

&lt;p&gt;Want to work at Google? Or maybe at a hospital? Feel like working in government? Would you like to work in a large company or a small team? IT is everywhere and just about every organization is dying for highly trained IT professionals.&lt;/p&gt;

&lt;p&gt;You are able to pick your own problem domain and apply your knowledge in just about every organization of your liking. It&amp;#8217;s never a good choice to get into something for the money, but computers aren&amp;#8217;t going anywhere soon.&lt;/p&gt;

&lt;h2 id='you_will_learn_concepts'&gt;You will learn concepts&lt;/h2&gt;

&lt;p&gt;Rather than learning tools, you&amp;#8217;ll learn abstract concepts that form the foundations of different techniques or implementations. You will follow a course on object-oriented programming, not on Java. Java is merely a vehicle to get these concepts across.&lt;/p&gt;

&lt;p&gt;These concepts allow you to easily pick up a new tool and start using it. You will not be an expert on a tool when you get your degree, but you will be able to pick up any tool and grasp 80% of the tool&amp;#8217;s concepts within hours.&lt;/p&gt;

&lt;h2 id='this_isnt_just_about_programming'&gt;This isn&amp;#8217;t just about programming&lt;/h2&gt;

&lt;p&gt;There are amazing CS students that are lousy programmers. Computer science is about models, logic, system architecture and so much more. While most CS students are pretty good at writing code, there are plenty who aren&amp;#8217;t. Like any other skill it takes time and dedication to get to a certain level.&lt;/p&gt;

&lt;p&gt;When you talk about IT in the broad sense, there are even more situations in which you don&amp;#8217;t need to be a programming expert, but it most certainly helps.&lt;/p&gt;

&lt;h2 id='you_can_create_anything'&gt;You can create anything&lt;/h2&gt;

&lt;p&gt;One of the things that still amazes me is what you can do with a $600 computer. There are only a few professions that allow you to try things with so little expenses. Imagine being a civil engineer; there is no way you can build a big project on your own dime.&lt;/p&gt;

&lt;p&gt;Most of the tools you will be using are available for little money, or no money at all. Some of the biggest IT companies were started in dorm rooms or dark attics.&lt;/p&gt;

&lt;h2 id='the_field_is_changing'&gt;The field is changing&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve seen a change in the kind of people that enroll in computer science in the last three years. I see a large variety of people and less stereotypical CS majors. IT is losing its negative stigma and that&amp;#8217;s a welcome thing.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re already in IT, please take the time to tell people about what your job involves. I was genuinely surprised how little kids know about our profession and &lt;a href='https://www.youtube.com/watch?v=nKIu9yen5nc&amp;amp;feature=player_embedded'&gt;it&amp;#8217;s time to educate them&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclaimer: I&amp;#8217;m not actually a CS major, but took a lot of courses that are included in the CS curriculum. I know the field, I know the people.&lt;/em&gt;&lt;/p&gt;</description>
                <pubDate>Sat, 16 Mar 2013 17:50:00 +0100</pubDate>
                <link>http://joelcox.nl/why-you-should-get-a-degree-in-computer-science</link>
                <guid isPermaLink="true">http://joelcox.nl/why-you-should-get-a-degree-in-computer-science</guid>
            </item>
        
            <item>
                <title>Tips for attending professional events</title>
                <description>&lt;p&gt;Professional events come in all shapes and sizes. From local meet-ups to launch parties and conferences. Here&amp;#8217;s my simple plan to getting the most out of these different events.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Chairs' src='/images/2013-03-02-tips-for-attending-professional-events/chairs.jpg' /&gt;&lt;/p&gt;

&lt;h2 id='set_your_objectives'&gt;Set your objectives&lt;/h2&gt;

&lt;p&gt;Without a goal it&amp;#8217;s hard to evaluate your performance. Make sure you get your objectives straight before you get to the event. In some cases, these objectives might have been decided for you (i.e. your boss sends you).&lt;/p&gt;

&lt;p&gt;You can go to an event to build out existing relationships, meet new people or educate yourself. Make sure your objectives are appropriate for the event you&amp;#8217;re planning to attend.&lt;/p&gt;

&lt;h2 id='be_courteous'&gt;Be courteous&lt;/h2&gt;

&lt;p&gt;Being courteous is especially important when attending smaller events Even though this is not required, I always bring a small gift for the host. This doesn&amp;#8217;t have to be super original &amp;#8211; if often bring a cheap bottle of wine &amp;#8211; but it&amp;#8217;s a good gesture.&lt;/p&gt;

&lt;p&gt;Always greet your host when arriving and before you leave. This might be tough at bigger events, but again, it&amp;#8217;s a good way of showing your appreciation.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t keep you host busy for too long though; there are plenty of other people they have to attend to. Briefly thank them, congratulate them on the occasion and ask where your mutual acquaintances are at.&lt;/p&gt;

&lt;h2 id='lets_mingle'&gt;Let&amp;#8217;s mingle&lt;/h2&gt;

&lt;p&gt;It&amp;#8217;s a good rule to first catch up with the people you know. I like to catch up with existing connections for the following reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;I prefer building strong, long-lasting relationships with people rather than a lot of superficial ones. Because I do a lot of remote work, these parties are often one of the few opportunities to talk face-to-face with the people I work with.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;These people will probably introduce you to other people, which is always better than walking up to a random stranger.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you finished talking to your exiting connections it&amp;#8217;s time to mingle. This often the hardest part of the evening, at least for me. Identifying people to talk to can be really tough, but it depends on the crowd. There are a few simple heuristics to recognize people you might want to approach.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Loners; the easiest to recognize. Most of the time these people are either waiting for someone to return or just finished another conversation.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Bored people; often found in larger groups. They either don&amp;#8217;t really pay attention to the conversation or have a hard time participating. The latter category is harder to spot, but bored people often start looking at other things rather the people they are trying to converse with.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Your &amp;#8220;own people&amp;#8221;; as &lt;a href='/this-isn-t-rocket-science/'&gt;I wrote earlier&lt;/a&gt;, picking a techie from a crowd isn&amp;#8217;t that hard. It&amp;#8217;s easier to talk to people with common interests and really hard to converse with people you don&amp;#8217;t have anything in common with. These people are probably really easy to recognize too.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you&amp;#8217;ve finished your conversation, don&amp;#8217;t be afraid to tell you&amp;#8217;re moving on to a next group. Don&amp;#8217;t tell your conversation partner you&amp;#8217;ll get back to them later when you&amp;#8217;re not planning on doing so.&lt;/p&gt;

&lt;h2 id='post_event'&gt;Post event&lt;/h2&gt;

&lt;p&gt;If your objective was to meet new people, you&amp;#8217;re not done yet. I like to follow up with people by sending them an email with links/projects we&amp;#8217;ve talked about. By sending them an email, you&amp;#8217;re now in their most used communication system &amp;#8211; their inbox.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t be that guy that &amp;#8220;connects&amp;#8221; with everyone on LinkedIn the next morning. I personally don&amp;#8217;t carry business cards and I&amp;#8217;ve noticed fewer and fewer people do. If you can&amp;#8217;t remember my name, our conversation probably wasn&amp;#8217;t very interesting.&lt;/p&gt;

&lt;p&gt;In 90% of the cases, you can easily find the email address of the person you&amp;#8217;re looking for by searching for their name and company. Use your Google-fu.&lt;/p&gt;

&lt;h2 id='its_a_skill'&gt;It&amp;#8217;s a skill&lt;/h2&gt;

&lt;p&gt;Some people seem to be natural at these things, but they probably went to a lot of events to get to this point. Evaluate what went good and what not. Ask friends or co-workers if you&amp;#8217;re having difficulty with certain things.&lt;/p&gt;

&lt;p&gt;As with everything it takes a lot of practice to master a skill. I certainly still have a long way to go.&lt;/p&gt;</description>
                <pubDate>Sun, 17 Feb 2013 22:00:00 +0100</pubDate>
                <link>http://joelcox.nl/tips-for-attending-professional-events</link>
                <guid isPermaLink="true">http://joelcox.nl/tips-for-attending-professional-events</guid>
            </item>
        
            <item>
                <title>This isn't rocket science</title>
                <description>&lt;p&gt;It isn&amp;#8217;t hard to pick a techie from a crowd. A gentle reminder how to never judge a book by its cover.&lt;/p&gt;

&lt;p&gt;An elderly lady approached me while I was waiting for my bus. We had a brief conversation about the cold weather and her reason for getting down to the station; she was there to get some information about a trip she had planned for tomorrow.&lt;/p&gt;

&lt;p&gt;I let here get into the bus when it arrived and she sat in the single seat near the front of the bus, next to the driver. Before I sat down she turned around and told me I should sit at the opposite side of the aisle if I wanted to sit near the heater. &amp;#8220;Well, thanks for the reminder&amp;#8221;, I thought.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Bus' src='/images/2013-01-26-this-isn-t-rocket-science/bus.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;While the bus driver pulled away she brought up the subject of keyboard shortcuts in Microsoft Word. She discussed using Ctrl + U to underline text, Crtl + I to set the text in italics, etcetera. At this point my interest piqued. The bus driver admitted to never using these shortcuts, but promised her he would look into this some day; this was clearly a productivity booster.&lt;/p&gt;

&lt;p&gt;At this point I was thinking she must have really enjoyed the computer course at the community center.&lt;/p&gt;

&lt;p&gt;She continued the conversation by talking about Photoshop. Whether he had used Photoshop before? He had, but only occasionally. She collaborated about cropping photos, adding curves and whatnot. Again, the bus driver promised her he should look into this stuff a bit more.&lt;/p&gt;

&lt;p&gt;After she concluded her explanation about Photoshop she continued with Microsoft Access and finally she started talking about how she used to program in Lotus Notes and how it always messed up her projects because of some weird space bug.&lt;/p&gt;

&lt;p&gt;At this point the bus reached my stop. Before I got off I walked over and asked whether she used to be a computer programmer or something. &amp;#8220;No, not really&amp;#8230; but I used to work at NASA&amp;#8221;.&lt;/p&gt;

&lt;p&gt;Don&amp;#8217;t be fooled, some things are not what they appear to be.&lt;/p&gt;</description>
                <pubDate>Sat, 26 Jan 2013 22:00:00 +0100</pubDate>
                <link>http://joelcox.nl/this-isn-t-rocket-science</link>
                <guid isPermaLink="true">http://joelcox.nl/this-isn-t-rocket-science</guid>
            </item>
        
            <item>
                <title>Another year without taking incoming calls</title>
                <description>&lt;p&gt;Last year marks the second year in my &lt;a href='http://37signals.com/svn/posts/2888-real-time-vs-slow-time-and-a-defense-of-sane-work-hours'&gt;slow time&lt;/a&gt; lifestyle. No texts, no phone calls or push notifications interfering when I&amp;#8217;m doing something else.&lt;/p&gt;

&lt;p&gt;About two years ago I read both Timothy Ferriss&amp;#8217; &amp;#8221;&lt;a href='http://www.amazon.com/The-4-Hour-Workweek-Anywhere-Expanded/dp/0307465357'&gt;The 4-Hour Workweek&lt;/a&gt;&amp;#8221; as well as &amp;#8221;&lt;a href='http://www.amazon.com/Rework-Jason-Fried/dp/0307463745'&gt;Rework&lt;/a&gt;&amp;#8221; by the guys at 37signals. Both these books promote a new way of working, or better put, a more efficient way of working. Our lives are full of digital distractions, which all try to steal away our attention when we really need to do something else.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Sorry were closed sign' src='/images/2012-12-30-another-year-without-taking-incoming-calls/sign.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;Instead of just reading and agreeing, I decided to follow up on the advice and silenced my gadgets. My phone doesn&amp;#8217;t sound nor vibrate when someone calls, texts or tries to contact me in any way. My emails doesn&amp;#8217;t get pushed to my phone and are only downloaded at my command.&lt;/p&gt;

&lt;h2 id='the_slow_time_philosophy'&gt;The slow time philosophy&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;There are very little things that require immediate action&lt;/em&gt;, yet there are plenty of people who think their task or communication is more important than what you&amp;#8217;re doing. This can be your boss or a friend. Most of the time they don&amp;#8217;t even realize their communication is a disturbance.&lt;/p&gt;

&lt;p&gt;As someone who needs some time to get into my &lt;a href='http://en.wikipedia.org/wiki/Flow_(psychology)'&gt;flow&lt;/a&gt;, theses disturbances are both annoying and counter productive. &lt;em&gt;Each interruption requires me to get into my zone again&lt;/em&gt;. By letting me getting back to you later, you allow me to get more stuff done, in less time.&lt;/p&gt;

&lt;p&gt;Asynchronous communication is what you&amp;#8217;re looking for. Text, email, IM, group chats and voicemail. Scheduling phone calls is another option, since it allows you to communicate on your own terms. You can even introduce library rules at your office.&lt;/p&gt;

&lt;p&gt;Additionally, I love not being disturbed when &lt;em&gt;not&lt;/em&gt; working. I really hated my phone calling for attention when I was having a good conversation or when watching a good movie. &lt;strong&gt;Don&amp;#8217;t be a slave to your smartphone or computer&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id='reactions'&gt;Reactions&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve noticed that people have started calling me less in the past year. Instead they text or email me. When I give someone my phone number, I simply tell them they should try to email me first. They often end up calling anyway, but switch to email/text when I don&amp;#8217;t answer after trying multiple times.&lt;/p&gt;

&lt;p&gt;Some people questioned my so-called &amp;#8216;experiment&amp;#8217; and wondered whether someone could function in such a connected society. Others supported my quest for more productivity and someone even sent me a funny comic.&lt;/p&gt;

&lt;p&gt;These simple ways of reducing distractions and disturbances has fundamentally changed how I work. This doesn&amp;#8217;t mean I don&amp;#8217;t have a Twitter client installed, but it&amp;#8217;s probably not running when I&amp;#8217;m working on something complicated.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re looking for New Year&amp;#8217;s resolutions, give the slow time lifestyle a try.&lt;/p&gt;</description>
                <pubDate>Sun, 30 Dec 2012 18:00:00 +0100</pubDate>
                <link>http://joelcox.nl/another-year-without-taking-incoming-calls</link>
                <guid isPermaLink="true">http://joelcox.nl/another-year-without-taking-incoming-calls</guid>
            </item>
        
            <item>
                <title>Why Square will be huge</title>
                <description>&lt;p&gt;When &lt;a href='https://squareup.com'&gt;Square&lt;/a&gt; started out as a way to accept credit card payments, it marketed itself as a tool for small business. Now even Starbucks is accepting Square. Amazing when you realize the company is barely 2 years old.&lt;/p&gt;

&lt;h2 id='the_industry'&gt;The industry&lt;/h2&gt;

&lt;p&gt;Payments and banking are notoriously hard industries to get into, but seemingly worthwhile because of its enormous volume. There are lots of interesting companies and developments in this space. Every single one with a different angle on how we should transfer money from a to b.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Square Register' src='/images/2012-12-17-why-square-will-be-huge/square-register.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;BitCoin and associated startups try to bring anonymous and independent payments to the masses. &lt;a href='http://dwolla.com'&gt;Dwolla&lt;/a&gt; tries to bring wire transfers to the US and &lt;a href='https://simple.com'&gt;Simple&lt;/a&gt; is trying to lure customers with its clear and customer-friendly service. Visa, AmEx and PayPal try to get a hold on the mobile payments markets, without &lt;a href='http://www.wired.com/gadgetlab/2012/09/isis-mobile-payments-launch-delayed-att-t-mobile-verizon/'&gt;much luck&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id='the_story'&gt;The story&lt;/h2&gt;

&lt;p&gt;Square initially focussed on making it possible for anyone to accept credit card payments. From the local gallery owner down the street, to your buddy &lt;a href='http://www.youtube.com/watch?v=QSzsFAJAKHI'&gt;selling a nice vintage couch&lt;/a&gt;. A noble cause and seemingly not too threatening for traditional credit card companies; they were focussing on small business.&lt;/p&gt;

&lt;p&gt;Surprise, surprise, a lot of little transactions make up a lot of transactions altogether. How much exactly? About &lt;a href='https://twitter.com/jack/status/268809992444977153'&gt;$10 billion annually&lt;/a&gt;. This may not seem like much, but remember who Square&amp;#8217;s customers are? &lt;em&gt;Small businesses&lt;/em&gt;. These are the users who are able to switch out their payment provider in a heartbeat. &lt;em&gt;These are the people who will serve as advocates for your product&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;As the icing on the cake, Square released their accompanying Register iPad app, which functions as a point of sale system. Not only does it provide the basic functionality of a register, but it allows customers to put purchases on a tab and pay with their name. At this point Square has created a superior checkout process virtually unrivaled in the industry.&lt;/p&gt;

&lt;p&gt;&lt;img alt='Square Wallet' src='/images/2012-12-17-why-square-will-be-huge/square-wallet.jpg' /&gt;&lt;/p&gt;

&lt;p&gt;Last week Square launched gift cards, which can be created for every store that accepts Square and &lt;em&gt;can be gifted to everyone with an email address&lt;/em&gt;. These gift cards are basically Like buttons for the real world. New people are introduced to Square and merchants get additional business.&lt;/p&gt;

&lt;h2 id='the_lesson'&gt;The lesson&lt;/h2&gt;

&lt;p&gt;The simple lesson that can be learned here is that you shouldn&amp;#8217;t just iterate your product development, but also your market development. Square did a great job at establishing a user base among merchants, followed by their user base among customers.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s not forget that Square was founded by Jack Dorsey, co-founder of Twitter. It&amp;#8217;s impossible to say where Square would have been without Jack and his resources, but it&amp;#8217;s fair to say that Square is going to be huge.&lt;/p&gt;</description>
                <pubDate>Mon, 17 Dec 2012 22:00:00 +0100</pubDate>
                <link>http://joelcox.nl/why-square-will-be-huge</link>
                <guid isPermaLink="true">http://joelcox.nl/why-square-will-be-huge</guid>
            </item>
        
            <item>
                <title>The rise and fall of web APIs</title>
                <description>&lt;p&gt;Ever since its inception, Twitter has been the poster child of the web mashups. You might even argue that Twitter was the catalyst behind the whole web API movement.&lt;/p&gt;

&lt;p&gt;Social drives engagement, engagement brings in advertising revenue. Or at least that was the plan.&lt;/p&gt;

&lt;p&gt;Now that the &lt;a href='http://mashable.com/2012/06/01/twitter-ad-revenue/'&gt;pressure is on&lt;/a&gt;, it&amp;#8217;s time to tighten the reins. That&amp;#8217;s not an excuse to leave developers &lt;a href='http://www.marco.org/2012/11/16/twitter-being-a-dick-again'&gt;in the dark&lt;/a&gt;, but it&amp;#8217;s a reasonable decision from a business perspective (&lt;a href='http://app.net'&gt;or maybe not&lt;/a&gt;). But, when you compare the Twitter API to others, it&amp;#8217;s easy to see how fortunate we&amp;#8217;ve been.&lt;/p&gt;

&lt;p&gt;You can use tweets for offline analysis, promotional activities and develop games on top of it. Once you dive in the terms of service for the different APIs, you quickly realize how limited their use really is (without some sort of opaque partnership program).&lt;/p&gt;

&lt;h2 id='who_owns_what'&gt;Who owns what&lt;/h2&gt;

&lt;p&gt;These limitations bring up another question; who really owns what? Can a company &lt;em&gt;x&lt;/em&gt; forbid company &lt;em&gt;y&lt;/em&gt; to pull out a user&amp;#8217;s data with their explicit permission? Is company &lt;em&gt;x&lt;/em&gt; just providing an infrastructure for the data of the or is it adding some value?&lt;/p&gt;

&lt;p&gt;Of course it depends. Posting a photo on Flickr is an interesting example. I would own the rights to the picture, but what about the comments? Flickr definitely adds value by providing a cozy community where people can comment on my photos, but what if I &lt;em&gt;just&lt;/em&gt; want to get my photo out?&lt;/p&gt;

&lt;h2 id='company_interests'&gt;Company interests&lt;/h2&gt;

&lt;p&gt;Protecting your interests as a company and maintaining a competitive advantage over your potential competitors is difficult. Determining whether a company adds value other than providing the infrastructure isn&amp;#8217;t a practical way to approach this problem.&lt;/p&gt;

&lt;p&gt;Instead companies should be listening to their developers and decide on a case-to-case basis what is allowed and what is not. This would be a great job for developer advocates. Business really won&amp;#8217;t mind paying for access to these APIs, as long as their concerns are heard and they can get the data out they need.&lt;/p&gt;

&lt;h2 id='what_is_next'&gt;What is next?&lt;/h2&gt;

&lt;p&gt;The debate on open data and &lt;a href='https://tent.io'&gt;distributed social networks&lt;/a&gt; has been heating up in the past few months. It will be interesting to see whether the general public feels like migrating to a more open social network.&lt;/p&gt;

&lt;p&gt;My money is on micro-standards. Their light-weight markup make them extremely easy to implement in a distributed fashion (your personal website!), but aggregation is a problem that still has to be tackled.&lt;/p&gt;</description>
                <pubDate>Thu, 22 Nov 2012 17:50:00 +0100</pubDate>
                <link>http://joelcox.nl/the-rise-and-fall-of-web-apis</link>
                <guid isPermaLink="true">http://joelcox.nl/the-rise-and-fall-of-web-apis</guid>
            </item>
        
            <item>
                <title>Co-founders: Being remote</title>
                <description>&lt;p&gt;Some people will tell you that starting a company with someone is like getting married. I was lucky enough to be approached by &lt;a href='http://danamajid.com'&gt;Dana&lt;/a&gt; and together we started hacking on our project; &lt;a href='http://skouti.com'&gt;Skouti&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Our situation isn&amp;#8217;t like the typical startup, or at least not as TechCrunch likes you to believe. We don&amp;#8217;t have fancy offices, which is OK. All we need is a laptop, an internet connection and a good chair if possible. Neither do we work on Skouti 12 hours a day. We&amp;#8217;re both in university and both maintain a healthy freelance business to pay our bills. Dana and I don&amp;#8217;t even live near each other and consequently, only meet a few times a year.&lt;/p&gt;

&lt;h2 id='the_bad'&gt;The bad&lt;/h2&gt;

&lt;p&gt;So is all this a real problem when you&amp;#8217;re moonlighting your project? Not separately, but together they do form quite a challenge for different reasons.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Progress is &lt;em&gt;slow&lt;/em&gt;. When you&amp;#8217;re juggling so many things, you often neglect the thing that has the least immediate impact. In my case, this is often Skouti.&lt;/li&gt;

&lt;li&gt;Thinking long term is &lt;em&gt;hard&lt;/em&gt;. Statistically, the chance that we get any substantial monetary reward out of this is pretty low. We would have had a great time, but that doesn&amp;#8217;t pay the bills.&lt;/li&gt;

&lt;li&gt;Keeping up motivation is &lt;em&gt;difficult&lt;/em&gt;. Especially when you&amp;#8217;re not physically in the same space. We mostly remedied this by scheduling a weekly Skype call and talk about things on our mind. Not always purely professional, but also personal stuff that is going on, so we&amp;#8217;re aware of each other&amp;#8217;s schedule.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So how can all this be countered? Well, to be honest, it can&amp;#8217;t. At least not for the full 100%. Over the past months we&amp;#8217;ve found ways to minimize the problems above, but ideally we would have a central office space, where we can work on Skouti full-time.&lt;/p&gt;

&lt;h2 id='schedule_hack_days'&gt;Schedule hack days&lt;/h2&gt;

&lt;p&gt;Dana and I tend to take the day off and meet at a central coworking space and work on Skouti for the entire day. These are the most productive days you&amp;#8217;ll ever have. You will be able to make decisions quickly and have the ease of just walking over to someone&amp;#8217;s computer and see what he/she is talking about.&lt;/p&gt;

&lt;p&gt;Alternatively you can schedule a few hours or half a day and work together on your project, over Skype or IM. While not as good as the physical hack days, you still get the warm fuzzy feeling of working together and you can easily ask for the other person&amp;#8217;s input.&lt;/p&gt;

&lt;h2 id='keep_communicating'&gt;Keep communicating&lt;/h2&gt;

&lt;p&gt;This may sound incredibly obvious, but when you only see your co-founder a few times a year and you&amp;#8217;ve been busy working on other projects, there really are times when you drop the ball on this one (at least we did!). As I mentioned earlier, weekly Skype calls help immensely. Even if you&amp;#8217;re not discussing your startup. Dana and I often share and comment on each other&amp;#8217;s client work (unless we signed a NDA, of course).&lt;/p&gt;

&lt;p&gt;We also email each other &lt;a href='http://wheningit.tumblr.com'&gt;motivational articles&lt;/a&gt;. This can be something serious from the Economist, or the latest YouTube hype. It&amp;#8217;s okay to talk about some multimillion dollar exist, even if you don&amp;#8217;t plan on ever selling your company. Keep the dream alive. If you&amp;#8217;re using a version control system to manage your code (which of course you do!), subscribe to the activity feed. You&amp;#8217;ll quickly feel guilty when your buddy is working her/his ass off while you&amp;#8217;re slacking.&lt;/p&gt;

&lt;h2 id='breaking_the_cycle'&gt;Breaking the cycle&lt;/h2&gt;

&lt;p&gt;It&amp;#8217;s highly unlikely that the schedules and current motivation of you and your co-founders line up. Yet it&amp;#8217;s extremely important to make sure they do. Keep building that hype with your partners. Keep each other excited about your project (and other things!). That is when the magic happens.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m incredibly proud of the progress we&amp;#8217;ve made in the last months and can&amp;#8217;t wait to show our work to the world.&lt;/p&gt;</description>
                <pubDate>Thu, 08 Nov 2012 22:00:00 +0100</pubDate>
                <link>http://joelcox.nl/co-founders-being-remote</link>
                <guid isPermaLink="true">http://joelcox.nl/co-founders-being-remote</guid>
            </item>
        
    </channel>
</rss>
