- read

Do You Need Help to Learn Golang?

Mehran 92

Generated using Lexica

Why Most Tutorials Don’t Cut It

Hey there! So you’re diving into the world of Golang and finding it a bit tricky, huh? Trust me, you’re not the only one. There’s a ton of tutorials out there that can be pretty confusing. Sure, they show off some slick projects that make you think you’re learning, but then you’re left wondering, “Did I get anything out of this?”

Let’s talk about the market for a second. It’s flooded with videos and courses promising to turn you into a Golang pro. These courses offer an impressive 30 to 50 hours of content. But here’s the kicker: most of it is super basic. They’ll teach you how to declare a variable, write a function, and then…that’s about it. They don’t prepare you for a real-world job interview or how to build a solid app or service.

Why is this? Well, most of these courses are just rehashing what’s in the official Golang documentation. When you look into the background of the people teaching these courses, you’ll often find that they either have zero real-world experience with Golang or are full-time instructors.

And let’s be honest: a full-time instructor can’t fully prepare you for the challenges of the tech world. Their experience is limited to the info they’ve gotten from reading documentation. They haven’t dealt with the nitty-gritty stuff like tricky code reviews or solving real-world production issues.

So, How Do You Get Good at Golang?

Starting with video tutorials is a good idea, but don’t feel like you have to watch every second of them. Sometimes, the instructors aren’t pros and may stretch the content to make it longer. If you get bored or impatient, jumping to the next thing is your sign.

Instead of treating video tutorials as the end-all-be-all, use your judgment. Skim through them, grab the valuable bits, and don’t hesitate to skip the parts that don’t apply to you. Instructors often aren’t formally trained teachers; they share what they know. So it’s okay to be critical and take only what you need from them.

The real fun begins once you feel like you’ve got the basics down. Forget the drawn-out tutorials; roll up your sleeves and start coding. Dive into a project or take on a coding challenge. That’s where you’ll grow your skills and make the magic happen.

Time to Code!

Once you’ve grasped the basics, it’s time to dive in and start building. Starting small is the way to go.

Diving into a new project can be intimidating. You might think, “I have no idea how to start this.” But here’s the secret: you don’t have to know everything from the get-go. Start with a simple function, then hit up Google. You’ve got the basics down, and that’s your foundation. For everything else, you’ll learn as you go.

Take the example of building a URL Shortener. The first step is just setting up a straightforward Golang project. Then, quickly search to understand what a URL Shortener is about. There are plenty of ready-to-go functions and libraries out there. Get the basics set up, and then you can start layering on more features, breaking down more extensive functions into smaller ones, and organizing your project better.

The bottom line? You’ve got to start to learn. No more sitting on the fence. The sooner you roll up your sleeves and get into the nitty-gritty of coding, the faster you’ll pick up the skills you need. So enough with endlessly watching tutorials, it’s time to get your hands dirty and learn by doing.

20 Easy Golang Projects to Start With

Don’t forget you’ve got plenty of resources at your fingertips beyond YouTube or Udemy. Many successful engineers kicked off their careers before those platforms even existed. They mainly relied on good ol’ Google and the code others shared. So, don’t hesitate to search online and peek at other people’s code. Copying and pasting is fine to start with — make sure you read through it afterward to understand what’s happening. Everyone does that, trust me.

To give you a head start, I’ve compiled a list of 20 projects, ranging from simple to more complex. You can dive right into these projects as soon as you’ve got the basics of coding down.

1. Hello World Web Server

Starting Point: Build a web server that greets anyone visiting with a “Hello, World!” message.
What to Learn: Start setting up a simple server and handling HTTP requests.
Next Steps: Add more routes and understand how they work.

2. To-Do List API

Basics: Create an API to add tasks, mark them as complete, and delete them.
What to Learn: CRUD operations and JSON handling.
Advanced: Add user authentication to keep individual to-do lists.

3. Chat Application

The Goal: Use WebSockets to create a real-time chat app.
What to Learn: WebSockets, real-time communication.
Go Further: Implement user authentication and multiple chat rooms.

4. Weather CLI Tool

Simple Start: Fetch and display the current weather for a city in your terminal.
What to Learn: API calls and JSON parsing.
Extra: Add forecasts and different measurement units.

5. URL Shortener

Basics: Create a service that shortens URLs.
What to Learn: Routing, data storage.
Advanced: Add analytics to track URL visits.

6. File Uploader

Get Going: Create an API to upload files to a server.
Skills: Handling file uploads and server storage.
Step Up: Add file type validation and size limits.

7. Markdown to HTML Converter

The Goal: Turn Markdown files into HTML via a CLI tool.
Skills:
File reading, text parsing.
Extra Mile: Add custom CSS themes.

8. Web Scraper

Basics: Scrape a website and save the content in a file.
What to Learn: HTML parsing, file writing.
Go Further: Scrape multiple pages or sites.

9. Expense Tracker API

Simple Start: Build an API to manage personal expenses.
Skills: CRUD operations, data validation.
Advanced: Add search and sort features.

10. Task Scheduler

Goal: Schedule tasks to run at specific times.
Skills: Time handling, function execution.
Extra: Add recurrent tasks and alerts.

11. Music Streaming Server

Starting Point: Stream music files from your server.
What to Learn: File streaming, audio formats.
Step Up: Add playlists and user accounts.

12. Image Resizer

Basic Idea: Create a service to resize images.
Skills: Image processing.
Advanced: Add filters and rotations.

13. News Aggregator

Simple Start: Collect news from various sources in one place.
Skills: API calls, data collection.
Extra: Add categories and a search function.

14. Blog Engine

Goal: Create a simple blog with CRUD features.
What to Learn: User authentication, text storage.
Go Further: Add comments and likes.

15. Currency Converter

Basics: Use an API to convert currencies.
Skills: API calls, data manipulation.
Extra: Add historical data charts.

16. Quiz Game

The Goal: Create a quiz game that reads questions from a file.
What to Learn: File reading, user input.
Step Up: Add scoring and time limits.

17. Social Media Dashboard

Basic Idea: Show social media metrics like followers and likes.
Skills: API calls, data visualization.
Advanced: Add real-time updates.

18. Personal Diary App

Starting Point: Create an app for secure journaling.
What to Learn: Data encryption, user authentication.
Go Further: Implement search and tagging.

19. Recipe App API

Goal: Make an API for cooking recipes.
Skills: CRUD, data filtering.
Extra: Add features like cooking timers.

20. Portfolio Website

Simple Start: Showcase all these projects using Golang’s HTML/template package. Skills: Web design, Golang templates.
Go Further: Add a blog section to write about your learning journey.

Remember, the key to becoming proficient is hands-on experience. You can only learn so much from tutorials. So pick a project, start coding, and have fun learning!