Traditional dog waiting for their human:
We're about to launch Codexpanse, the next big, main project for me. Its idea is twofold:
Before I unwrap this, let me quickly show all the parts of Codexpanse:
Phew! Let's talk why.
Yeah, I hear you. Online courses for beginners? There's like a million of them!
I've been teaching beginners in different settings (offline, online, privately, large groups, small groups, individually). And I've learned this: some people have endless free and paid resources, and some have nothing.
All those courses, books and videos just don't work for some folks. Open any book or watch any course — they all feel the same. The order of topics, the explanations, the analogies and techniques, all feel so similar.
Oh, and they all start with "Hello World" :-)
Some people just get it. Any decent book or teacher would work for them. They quickly understand basic concepts and off they go, into the future. I was like that! And I thrive on formal books and long courses. Among the developers I meet, the majority said they never had a hard time learning to program.
And this makes sense, right? Programming is not for everybody. If it's so hard, maybe it's not for you. It's a valid argument, and I agree with it for most other fields. I don't want anyone to be able to become a doctor. Or a civil engineer. Or a plumber. So, maybe, filtering by initial fitness is a good thing?
Maybe. I don't know.
But there are 2 points I want to make:
We've been filtering out people for a while now, and, to be honest, I can't say software engineering is in a good state right now. Other types of mindsets may do good.
People talk about diversity in tech lately. I'm interested in diversity of mindsets. I believe our industry and humanity in general will benefit from a wider range of thinking.
That was the first area of focus: beginners and mindsets.
The second area is experienced developers who want to learn something distinctly novel (for them). Not a new framework or a language, but a new paradigm, completely different tool or maybe some fundamentals of computer science and math.
Let me draw a diagram! (I got this cool app called OmniGraffle now...)
As you move from beginner to expert, the amount of available resources decreases. There are hundreds of thousands of "learn to code" articles, books, videos and courses. There are also quite a lot of resources for intermediate devs: documentation, community resources, books, talks, etc. Go further, and you end up with a handful of books and courses on advanced topics. Black graph shows this natural progression. It makes sense, the deeper you go, the less stuff there is.
Red graph shows the diversity of available resources. In other words, how many different approaches and ideas are used to explain things. In my experience it's pretty low on the ends: for beginners and for experts.
But if you want to sharpen your abstract algebra or discrete math or data structures knowledge, there are a few ways, and they feel pretty similar, again. Coursera, textbooks, rare blog posts and a few videos. Don't get me wrong, some of them are brilliant! But this is where I want try to create something, too.
Maybe, there aren't really other ways to explain basic concepts!
Or maybe we got lazy.
I can't say "we made a different explanation that will work for you!". Our goal is to provide a variety of explanations in a variety of mediums. Text, exercises, videos, comics, podcasts, illustrated-funny and illustrated-serious. Multimedia! (Such a 90s word!) Immerse the learner. And make them apply knowledge from day one.
Doesn't work? Don't worry! Try another thing!
There's this myth about learning styles: some people are visual, some prefer text, etc. It turned out to be a misconception. Good learning resources that incorporate rich media work well for everyone. Bad learning resources work badly for everyone.
We want to provide a variety of resources for hungry minds.
That's why all courses on Codexpanse will come as combos:
(Users only pay once to get them all!)
If you're reading this newsletter, you're probably not a complete beginner in coding. So, let me first tell you about my grand plans for the expert-level courses.
I'm getting back to my initial dream (that led to Hexlet in the first place) and build a cool new fundamental curriculum.
Also, some fun practical things, including:
And some weird ones:
We're launching later this month. You'll get a discount, because I like you :-)
It took quite some time to get to this point, after years of value-neglect. Long periods of time when I didn't think for myself, and didn't consider what exactly I find valuable, what things I believe to be important.
I'm not there yet, since there is no "there". Everything is a vector.
Achievable goals are limited by definition.
Vectors are limitless.