You’ll meet amazing people who will mentor you.
Unless you’re using an “unpopular” language. Or doing things people think aren’t “cool”. Then you’ll be roundly shit on and told nothing you’ve done counts, and you have to learn a “real” language first. That feels so good. It feels so good that every day I ponder deleting my github account.
You’ll feel powerful and create things you never thought possible.
But you thought of them. They’re possible. You can’t create impossible things. You’ll create things that have meaning to you. And in that brief shining moment before other programmers shred what you’ve done, you’ll feel pretty awesome.
You’ll better understand the tech world around you.
I’ve been trying to understand why Andrew Stone and Wil Shipley were applauded for spending years encouraging people to think that every programmer at Adobe and Microsoft were no-talent hacks. Who were also kind of evil. Because they didn’t immediately rewrite a two-decade codebase in Cocoa in five minutes, which they could have done if they were any good.
You’ll try new tools and build your own personal toolkit.
that is useful. But try to avoid telling people about it. The religious war sucks.
Sometimes you’ll just wake up with the answer.
You’ll start to “see” how systems fit together.
This is true and awesome.
Over the years you’ll learn about the history of computers and how we are all standing on the shoulders of giants.
Which will be less awesome when you realize that every five years, every wheel is reinvented because a programmer would rather have a spear coated in jagged glass shoved through their eyes than admit what they’re doing isn’t really new at all.
Oh, and if you’re not a white male, you’ll have to wade through flaming shit to get to the good parts.