<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog - Cory LaNou</title>
    <description>Posts by Cory LaNou on the InfluxData Blog</description>
    <link>https://www.influxdata.com/blog/author/coryl/</link>
    <language>en-us</language>
    <lastBuildDate>Tue, 17 Nov 2015 08:00:47 -0700</lastBuildDate>
    <pubDate>Tue, 17 Nov 2015 08:00:47 -0700</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>Announcing the InfluxDB Slack Channel</title>
      <description>&lt;p&gt;With the recent blog on &lt;a href="https://influxdb.com/blog/2015/11/05/start_contributing.html"&gt;contributing to InfluxDB&lt;/a&gt;, we have seen a significant increase in community pull requests! To make sure that we are supporting the community as much as possible, we will now be active on the &lt;a href="https://gophers.slack.com/messages/influxdb/"&gt;#influxdb&lt;/a&gt; channel on &lt;a href="https://gophersinvite.herokuapp.com/"&gt;Gopher Slack Community&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Why not create your own community slack?&lt;/h2&gt;
&lt;p&gt;The Gopher Slack community is very vibrant. Since InfluxDB is a Go project, it makes sense to stay within that community. It also allows developers who want to learn Go as well as contribute to projects like InfluxDB, making it the perfect ecosystem to ask questions about both Go and InfluxDB.&lt;/p&gt;

&lt;h2&gt;How to join&lt;/h2&gt;

&lt;p&gt;To join, you first need to request an invite. This is free, and can be done by filling out &lt;a href="https://gophersinvite.herokuapp.com/"&gt;this form&lt;/a&gt;. After you submit the form, you will receive an email with an invitation link. Follow that link to complete your registration. Once you have finished registration, you can &lt;a href="https://gophers.slack.com/messages/influxdb/"&gt;join the #influxdb channel&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Contribute!&lt;/h2&gt;

&lt;p&gt;Read up on how to &lt;a href="https://influxdb.com/blog/2015/11/05/start_contributing.html"&gt;contribute&lt;/a&gt; or go straight to the &lt;a href="https://github.com/influxdb/influxdb/labels/status%2Fhelp-wanted"&gt;help wanted issues&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Tue, 17 Nov 2015 08:00:47 -0700</pubDate>
      <link>https://www.influxdata.com/blog/announcing-the-influxdb-slack-channel/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/announcing-the-influxdb-slack-channel/</guid>
      <category>Use Cases</category>
      <author>Cory LaNou (InfluxData)</author>
    </item>
    <item>
      <title>Do You Want to Be an Open Source Developer?</title>
      <description>&lt;p&gt;Since joining the &lt;a href="http://influxdb.org/"&gt;InfluxDB&lt;/a&gt; core engineering team eleven months ago, I’ve been asked several times what it is like being an open source developer, and if it would be something they (the person asking) would enjoy. The only way I have found to properly answer this question is to relate my experiences and let them draw their own conclusion.&lt;!--more--&gt;&lt;/p&gt;

&lt;h2&gt;Who is this guy?&lt;/h2&gt;

&lt;p&gt;Normally I wouldn’t start an article by talking about myself. I don’t consider myself that amazing or important, but for this topic, it is relevant to set context.&lt;/p&gt;

&lt;p&gt;I have been a software developer most of my adult life. While I didn’t always have a formal “developer” title when I first started out, it’s clear when reflecting on my daily activities that I was, in fact, a developer. I started out as a quality assurance technician in 1994 for a small company building resistance welding machines. Tracking defects and anomalies on paper was difficult. My manager was already using a software called &lt;a href="https://en.wikipedia.org/wiki/Paradox_(database)"&gt;Paradox&lt;/a&gt; to track the defects. It wasn’t long before I was modifying input screens and reports to enhance the usefulness of the software. From there I fell into one software opportunity after another (If you really want the details, check out my &lt;a href="https://www.linkedin.com/in/corylanou"&gt;linked in profile&lt;/a&gt;). To summarize my career, I spent about fifteen years writing software on the various closed source platforms. Anything from &lt;a href="https://en.wikipedia.org/wiki/Delphi_(programming_language)"&gt;Borland Delphi&lt;/a&gt; to &lt;a href="https://en.wikipedia.org/wiki/.NET_Framework"&gt;Microsoft .Net&lt;/a&gt;.&lt;/p&gt;
&lt;h2 style="text-align: left;"&gt;Go!&lt;/h2&gt;
&lt;p&gt;In March 2012, &lt;a href="http://golang.org/"&gt;Go&lt;/a&gt; had it’s first official 1.0 release. It happened to coincide with a complete rewrite of our current platform, and seemed like a good technology fit. What was unique about this for me is that there really wasn’t much of a community yet. Sure, the core team for Go was answering the mailing list, doing some talks here and there, but if you were to search Google for &lt;a href="http://google.com/#q=golang"&gt;Golang&lt;/a&gt; or the Twitter hashtag&lt;a href="https://twitter.com/hashtag/golang?src=hash"&gt;#golang&lt;/a&gt; you would come up pretty empty. As I continued developing in Go, and having questions, I started interacting with their community via twitter. I was so in love with Go, I started one of the first &lt;a href="http://www.meetup.com/Denver-Go-Language-User-Group/"&gt;Go meetups&lt;/a&gt; in the world (only 3 months after the &lt;a href="http://www.meetup.com/golangsf/"&gt;GoSF meetup&lt;/a&gt;. A couple of years later, &lt;a href="http://www.gophercon.com/"&gt;GopherCon&lt;/a&gt; was hosted in Denver where I was living. Attending GopherCon forever cemented my desire to be part of the community. It was also where I met &lt;a href="https://twitter.com/pauldix"&gt;Paul Dix&lt;/a&gt;, the CEO of &lt;a href="http://influxdb.com/"&gt;InfluxDB&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Entering the Open Source world&lt;/h2&gt;

&lt;p&gt;I joined the InfluxDB team on December 29th, 2014. I was completely new to their code base, however, because it was written in Go I was able to immediately get to work and start contributing.&lt;/p&gt;

&lt;p&gt;This is my very first &lt;a href="https://github.com/influxdb/influxdb/commit/e19db2b89d924b9e1d5a143746bd23bb90c96974"&gt;commit&lt;/a&gt; to the project. Shortly after, I had my very first &lt;a href="https://github.com/influxdb/influxdb/pull/1276"&gt;Pull Request&lt;/a&gt;. There were 80 comments and numerous additional commits as a result of the comments. It set some expectations for me immediately.&lt;/p&gt;

&lt;h2&gt;Lessons Learned&lt;/h2&gt;

&lt;p&gt;First, code quality was pretty important. This isn’t to say that you write elegant, beautiful code. I write ugly code almost all of the time (and I don’t always refactor like I know I should). By code quality, it means things like:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;&lt;strong&gt;Variable names&lt;/strong&gt; - Do they have clear context.&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Comments&lt;/strong&gt; - Are they useful or just confusing?&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Code organization&lt;/strong&gt; - Can someone else follow the flow of what I just wrote.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br style="clear: both;" /&gt;It was clear that I had been writing code solo for a long time, and nobody was telling me I got sloppy.&lt;/p&gt;

&lt;h2&gt;Can someone take a look at this?&lt;/h2&gt;

&lt;p&gt;This was also my first experience with real code reviews. Sure, I’ve had people look at my code before, but never line by line. The comments on your code tend to be very “matter of fact”, and can easily be taken as an insult or someone picking on you. Rest assured, they are not. I always read all feedback as if a computer analyzed my code and responded.&lt;/p&gt;

&lt;p&gt;I think of feedback as a spell checker. When something is surfaced, it’s usually because it’s wrong, or the computer didn’t understand it. Sometimes your word is spelled right and you can ignore. However, my experience is that if there are two or more developers that comment on the same area of the code, one of two scenarios are true. At best there is some room for improvement. At worst you simply got it completely wrong. These are neither good or bad, they simply are. As a developer, you fix them, make them better, and grow. Most importantly, I’m grateful someone on my team or the community cared enough to help me become a better developer.&lt;/p&gt;

&lt;p&gt;Bottom line, for me, code reviews are a must. All of your team is better for them. I’ll likely never work anywhere that doesn’t do them or understand their importance.&lt;/p&gt;

&lt;h2&gt;You know everyone can see that right?&lt;/h2&gt;

&lt;p&gt;In my second &lt;a href="https://github.com/influxdb/influxdb/pull/1298"&gt;pull request&lt;/a&gt;, something else became very obvious to me. Everyone can see my code. Now, I understood that when I started, but I was unprepared for how uncomfortable I felt about it. What if everyone thought my code was horrible?&lt;/p&gt;

&lt;p&gt;To add to that fear, while working on this particular PR, I came across an unexpected behavior in the Go language. When I looked up the issue on the Go issues, I saw that &lt;a href="https://twitter.com/davecheney"&gt;Dave Cheney&lt;/a&gt; had commented on the issue and ultimately closed it. I knew Dave through the community, so I reached out to him about it. Dave asked me for some context, so naturally I linked him the PR, after all, it is public.&lt;/p&gt;

&lt;p&gt;Next, to my horror, he began reviewing the PR! This was like having a rockstar ask you to sing one of their songs in front of them. To add even more stress, my team members started asking in slack why Dave was reviewing our code. Did I have some bad code? Oh yeah. Did Dave comment on it? He sure did. Here are a couple of his comments:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;&lt;em&gt;"I think this should go to the top of the function. Why do all this work to find that the address isn't valid?"&lt;/em&gt;&lt;/li&gt;
 	&lt;li&gt;&lt;em&gt;"ResolveUDPAddr will return a better error here. One that you can inspect to see if it is temporary or not."&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br style="clear: both;" /&gt;In the end, it was a great experience, and I was worried for no reason. I learned a lot on that paticular topic as a result of all the extra attention.&lt;/p&gt;

&lt;h2&gt;You have to be an expert to work full time on an open-source project.&lt;/h2&gt;

&lt;p&gt;Categorically &lt;strong&gt;FALSE&lt;/strong&gt;! One of the very first concerns I get when people ask me about doing full-time open-source is if they are smart enough, or have enough experience.&lt;/p&gt;

&lt;p&gt;There are a couple things I’ve learned about why you don’t need to be an expert. First, nobody knows everything about software development. I really never knew much about the &lt;a href="http://golang.org/pkg/time"&gt;Time Package&lt;/a&gt; when I started. Other than &lt;code&gt;time.Now()&lt;/code&gt; there wasn’t much need for it. After developing on the InfluxDB core team for 8 months, I can now type &lt;code&gt;time.RFC3339Nano&lt;/code&gt; in my sleep! Second, what you don’t know (or get wrong), the community will let be there to educate you. Sometimes their feedback is very constructive and helpful. Other times, it can come off terse or rude (although I’ve found that a lot of times this is due to English not being their primary language). The important thing to always remember is did you learn something from their feedback (nice or rude)? If so, then it was a positive experience. I haven’t had a single interaction to date that I would consider negative. Overall they have been supportive and educational.&lt;/p&gt;

&lt;h2&gt;Be fearless!&lt;/h2&gt;

&lt;p&gt;Hopefully I’ve given a little context to what my experience has been as an open-source developer. I would encourage everyone to do it, if not full-time, at least find something you are passionate about and contribute. Even the smallest contribution is very appreciated. Seriously, PR that one word typo in their documents. I can assure you they appreciate it! Don’t have time to PR something but have identified a feature they are missing, see an area that can be improved, or “&lt;strong&gt;gasp&lt;/strong&gt;” you spotted a bug? Simply file an issue. Don’t assume they have thought of it or spotted it. Every contribution, be it code or issues, make each open-source project better for everyone.&lt;/p&gt;

&lt;h2&gt;What's Next?&lt;/h2&gt;

&lt;p&gt;If this article has motivated you to get involved in an open source project, look no further! InfluxDB has just categorized several open issues that we are looking for help on from the community. Check out the &lt;a href="https://influxdb.com/blog/2015/11/05/start_contributing.html"&gt;blog post&lt;/a&gt; or go right to the &lt;a href="https://github.com/influxdb/influxdb/labels/status%2Fhelp-wanted"&gt;issues&lt;/a&gt;!&lt;/p&gt;
</description>
      <pubDate>Wed, 11 Nov 2015 08:00:19 -0700</pubDate>
      <link>https://www.influxdata.com/blog/do-you-want-to-be-an-open-source-developer/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/do-you-want-to-be-an-open-source-developer/</guid>
      <category>Use Cases</category>
      <author>Cory LaNou (InfluxData)</author>
    </item>
  </channel>
</rss>
