Learn Go Programming - Yearly Recap - 2017
Tags: go, programming, tutorial
Published: 2018-01-04 19:14:45

---
title: Learn Go Programming - Yearly Recap - 2017
published: true
description: All articles of 2017 and stats and my goals.
tags: go, golang, programming, tutorial
---

[![](https://thepracticaldev.s3.amazonaws.com/i/ylkgrntoiy9ojqy7fgc2.png)](https://blog.learngoprogramming.com)

[![](https://thepracticaldev.s3.amazonaws.com/i/7ehr3mgxgy0lizsqwf8g.png)](https://blog.learngoprogramming.com/2017-yearly-recap-5349f6d7d67b)

Hi!

In this article I’m going to cover what happened in 2017 and what will happen in 2018. And also, I’ve created a path for you to follow, so you can read my articles in order to digest them easily.


---

# 2017

After working days, nights, weeks, weekends, and months fulltime educating people about Go for 3 months, this happened:

* I wrote **100,000 words** in total (_After edits: 20,000 words in total_)
* **2.500+ unique people** followed me
* **1.300+ people** followed my blog
* **500+ people** subscribed to my e-mail list ([Join here](http://eepurl.com/c4DMNX))
* **800+ people** followed [me on Medium](https://medium.com/@inanc)
* **500+ people** followed [me on Twitter](https://twitter.com/inancgumus)
* **100+ subscribers in 10 days** to the newly created **Learn Go Programming public Slack channel** ([Join here](https://join.slack.com/t/learngoprogramming/shared_invite/enQtMjkwNTEyMzM2MDY1LTdlZTc0YWYwZGI2MGY3ODc5NjQ5MjNhYWM2OGI2N2E4NTlmOGMwOTQ4YmVmNGZkMmUxZmYxZGQ0Nzg1ZGVmYzI))
* I created **dozens of visuals, animations and code exercises**
* I post **hundreds of educational tweets**
* Some of my posts become **Reddit and [Hackernews](https://news.ycombinator.com/item?id=15979751) top-posts** and shared by many other publications
* Many great people have reached and offered great **opportunities** for me (_**even joining to Google!**_)
* Dozens of people have said to me that they learned Go through my work

---

# 2018 Goals

_Some of my 2018 goals are about earning a little bit of money (somehow?) because I need to drink coffee too._

* **_“ Any suggestions? Please tell me. ”_**
* Releasing my **online course** (_Started doing it — exciting!_)
* Releasing **screencasts** which I’d talk about everything Go
* Creating a **Youtube channel**
* Writing a **book** about Go
* Continue creating more **awesome free content**

---

# 👶 My Blog is Very Young
It’s just ~3 months old — _I started doing it publicly since the last quarter of 2017_. It has always been my goal to teach people what I know and I’m glad that I’m doing it now.

---

# 🤩 My Vision

My vision has always been to create the most concise, information-packed, visual and simple to digest articles that you can find in one place.

I’ve created this blog because the information about Go is dispersed in many places, so, you need to search for it in too many places. Also, many articles are too complex or just shallow or hard to understand for many beginners and even for intermediate-level gophers. I’m trying to reduce these problems.

---

❤️ 💜 💙 💚 💛
Allright! Now, I’m going to summarize most of the content I’ve created about Go last year. I’m very happy that I could be able to help people. **Enjoy!**

---


# All articles from 2017

You may read the articles in the order I‘m listing here. Almost all of my articles include explanations, tips and tricks, visuals and code exercises which you can try online.

---

* **Overview**

  * **[About Go Language — An Overview](https://blog.learngoprogramming.com/about-go-language-an-overview-f0bee143597c)**

      * _Go ecosystem and the language’s overview._

---

* **Packages**

	* **[Introduction to Go Packages](https://blog.learngoprogramming.com/definitive-guide-to-go-packages-focus-on-the-fundamentals-to-empower-your-skills-d14aae7cd321)**
	  * _What is a package?_
	* **[How to use packages](https://blog.learngoprogramming.com/using-packages-eb70cb61a16a)**
	  * _How to use your own, others’ and Go standard library’s packages?_
	* **[Special Packages and Directories](https://blog.learngoprogramming.com/special-packages-and-directories-in-go-1d6295690a6b)**
	  * _About internal, main, library and vendor directories._
	* **[Organize your code with packages](https://blog.learngoprogramming.com/code-organization-tips-with-packages-d30de0d11f46)**
	  * _How to design a Go program with packages._
	* **[How to decouple your packages](https://blog.learngoprogramming.com/packages-can-allow-or-disallow-for-reusability-2edb6bd18815)**
	  * _How to increase code maintainability with packages._
	* **[Go Packages Rulebook](https://blog.learngoprogramming.com/go-packages-summary-6d40ba46a6f4)**
	  * _Summarizing the rules for reference._
	* **[Fix your $GOPATH and $GOROOT](https://blog.learngoprogramming.com/what-are-goroot-and-gopath-1231b084723f)**
	  * _How to configure them and what they do._

---

* **Variables**

	* **[Visual guide to Go Variables](https://blog.learngoprogramming.com/learn-go-lang-variables-visual-tutorial-and-ebook-9a061d29babe)**
	  * _Introduction to variables and declaration styles._
	* **[Short-variable declarations rulebook](https://blog.learngoprogramming.com/golang-short-variable-declaration-rules-6df88c881ee)**
	  * _Tips and tricks about how to use short-variables. Intermediate-level._

---

* **Constants**

	* **[Visual guide to Go Constants](https://blog.learngoprogramming.com/learn-golang-typed-untyped-constants-70b4df443b61)**
	  * _Introduction to untyped and typed constants._
	* **[Ultimate Visual Guide to Go Enums](https://blog.learngoprogramming.com/golang-const-type-enums-iota-bc4befd096d3)**
	  * _How to define an enum in Go and how to use iota?_

---

* **Functions**

	* **[Funcs — Baby-Gopher’s Visual Guide](https://blog.learngoprogramming.com/golang-funcs-params-named-result-values-types-pass-by-value-67f4374d9c0a)**
		* _Introducing Go functions with examples._
	* **[The Zoo of Go Functions](https://blog.learngoprogramming.com/go-functions-overview-anonymous-closures-higher-order-deferred-concurrent-6799008dde7b)**
		* _Introductory tour of anonymous, higher-order, closure, concurrent, deferred, variadic funcs and methods._
	* **[Ultimate Guide to Go Variadic Funcs](https://blog.learngoprogramming.com/golang-variadic-funcs-how-to-patterns-369408f19085)**
		* _A variadic func accepts variable number of input values — zero or more. The article covers everything about variadic funcs._
	* **[Defer Simplified with Practical Visuals](https://blog.learngoprogramming.com/golang-defer-simplified-77d3b2b817ff)**
	* _Introduction to deferred functions. Includes deferred funcs, multiple defers, deferred methods, deferred closures, and other examples._
	* **[Defer Internals — Quick Look](https://blog.learngoprogramming.com/yeah-semantically-after-is-the-right-word-fad1d5181891)**
		* _An intermediate-level article. Asking the question: Are defers run after or before the func returns?_
	* **[5 Gotchas of Defer in Go (Golang) — Part II](https://blog.learngoprogramming.com/5-gotchas-of-defer-in-go-golang-part-ii-cc550f6ad9aa)**
		* _Beginner-level article which covers some basic pitfalls of deferred funcs._
	* **[5 Gotchas of Defer in Go (Golang) — Part I](https://blog.learngoprogramming.com/gotchas-of-defer-in-go-1-8d070894cb01)**
		* _Intermediate-level article which covers some more advanced pitfalls of deferred funcs._


---

# 🐦 Twitter

I also have started tweeting almost daily 2 months ago. I tweet a lot of tips and tricks and exercise questions about Go. I see that it helps many people out there.

Check them out [here](https://twitter.com/inancgumus).

---

**I’m also creating an online course for Go → [Join to my newsletter](http://eepurl.com/c4DMNX).**

* _Let’s stay in touch weekly for new tutorials and tips._
* _👍 Subscribers will get the discounted price (and even free) for my course when it’s get published._

---

![](https://thepracticaldev.s3.amazonaws.com/i/13s08go8m7epb1y6973n.png)