Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update on v3. How you can help. #5135

Closed
iHiD opened this issue Dec 12, 2019 · 11 comments
Closed

Update on v3. How you can help. #5135

iHiD opened this issue Dec 12, 2019 · 11 comments

Comments

@iHiD
Copy link
Member

iHiD commented Dec 12, 2019

Over the last few weeks we've been working hard on laying the groundwork for the road to Exercism v3. This issue provided a quick update, and some starting points for how to help.

Update

As a reminder, v3 is our next evolution of Exercism, where we'll be making changes to the way tracks are structured, how mentoring works and a load of other bits and pieces. We will be introducing specifically-designing Concept Exercises, which will introduce students to the way languages do things differently, explaining how common concepts (like strings or enumeration) are handled in that language, and exploring concepts that might be totally new to the student (such as OOP or functional programming). We will also be introducing in-browser coding, where students can work through tracks without leaving the browser (the CLI isn't going away either), and fully integrating our work with Representers, which allow feedback to be automatically applied to similar solutions.

A huge amount of work has already been going into test-runners, analyzers, and representers to make this possible, and a small team has also recently been exploring the design and work required around Concept Exercises. As 2019 comes to a close, I wanted to talk more publicly about that work and think about how we can make these new tracks a reality over the next 6 months. Probably the most important thing is how we organise and grow our contributors team to make this a reality. We've had volunteers putting in 20hrs+ each week working on this over the last few weeks and that's clearly not sustainable. Now we've gotten to the point where we've laid the foundations of this and we need to widen our team dramatically to spread the load. I am intending to reach out to everyone that's contributed to Exercism (either through contributions here, or through mentoring on v2) and ask them if they could help us by each working on one exercise apiece. If the existing maintainers can take on the roles of deciding what needs to go into their tracks, and managing those incoming exercises, I believe that we will be able to crowd-source a lot of the effort from a wide range of people, without overly (and unreasonably) needing our existing maintainers' time.

Timescales

We're hoping to launch a beta of v3 during Q2 and then, pending no big problems, launch properly early Q3. Tracks will have until the full launch to be "v3 ready". We need to decide what happens to any tracks that aren't ready, but my current working-theory is that they'll be put into Practice Mode only.

How to get started

The best place to understand how Concept Exercises are going to work in practice is
by reading the README at our new v3 repository. We've tried to outline how things work and what need to happen there. There are already some examples that you can browse within the languages directory (The readmes of the C#, JS, Julia, Go and Python directories are all good examples). Check those same tracks for examples of Concept Exercises too.

Secondly, please ask questions. Feel free to either open issues in the v3 repo or use the #v3 channel on Slack. We want to explore everything with you, and are excited to bounce ideas around.

Thirdly, please use this issue to discuss how we can crowd-source people to contribute to v3, and how you think might be best to manage the process. I would really appreciate everyone's ideas and inputs on this, as it's going to be the key thing to make this happen.

Final words

We're all hugely excited about the steps forward we're going to be taking with Exercism and how we can really help people learn what's most exciting about every language, as well as explore different approaches and ideas with mentors. There's still lots to work out, and there's going to be a lot of work in getting the tracks into shape, but once we've got to that point, I believe we'll sort a lot of the problems that have been present throughout v2 and really increase Exercism's ability to help :)

Finally, thank you to everyone who has contributed to Exercism over the last 18 months, especially those who have kept on mentoring, and those who have been working on the tech that's been starting to move us forward. Although v2 has had issues with the mentor/student ratio and been frustrating at times, the fact that we've had over 250k conversations is a phenomenal achievement, and it feels great to know that we've helped tens of thousands of people. You're all awesome 💙

(cc @exercism/track-maintainers, @exercism/alumni)

@ScottHutchinson
Copy link

"the CLI isn't going anyway either" should be "the CLI isn't going away either" or maybe something else clearer. One question I would have is "will the CLI still enable the student to easily download an exercise or solution for editing and testing in an IDE?". Thanks

@ErikSchierboom
Copy link
Member

will the CLI still enable the student to easily download an exercise or solution for editing and testing in an IDE

Absolutely! The new in-browser coding is merely an alternative way to solve exercises. If people prefer the CLI-based approach (e.g. as it allows them to use an IDE), that will still be fully supported.

@kotp
Copy link
Member

kotp commented Dec 12, 2019

"the CLI isn't going anyway either" should be "the CLI isn't going away either" or maybe something else clearer

Fixed @ScottHutchinson .

@kytrinyx
Copy link
Member

kytrinyx commented Dec 12, 2019

❤️ ✨ ❤️ ✨ ❤️

@iHiD This is a fantastic write-up. I can't adequately express how excited I am about v3. The difference from v1 to v2 was enormous, and enormously visible. I think the change to v2 is going to be an even more important change (if a lot less visible).

The two most impactful vectors of change, I think, will be that the exercises themselves will be focused on what's unique and interesting about a language, rather than accidentally focusing on things that are often trivially similar to other languages people already know, and that therefore people will make a lot more progress more quickly in getting comfortable and familiar with it. The other thing is that I think that for the first time ever, Exercism won't feel like a never-ending flood of input to mentors and volunteers.

I want to thank everyone—all the maintainers, all the mentors, all the students who have chimed in, all the contributors, everyone—for the work that you've done towards v1 and v2 so far, and for all the patience and empathy you've shown in the process. There is no way we could be even thinking about v3 without you, and without it.

@Calamari
Copy link

Calamari commented Dec 16, 2019

First of all. I love Exercism. (I guess else I would not read this. G)
And I think that – from reading the outline you have written above – that v3 will be a step in the right direction. I would consider me fairly new on Exercism, but what I have seen so far on students (and my girlfriend trying to start with R) are:

  • some not so tech savvy people do not get the instructions how to download stuff, not even what CLI means
  • I also head one student who did not understand how to run tests, and that Exercism is only about "fixing the tests", he tried to run everything within a repl.it console.
    Both problems can be mitigated, if there is just an easy way to just run the stuff in the browser. If you already got started, and are hooked, than the user will automatically start to figure out, how to run the stuff in an IDE or just on the local machine.

The best thing about Exercism is (or are): the mentors. I would say that is currently our Unique Selling Proposition (USP), since if you just want to do code exercises or katas, there are many other platforms (codewars.com, etc.). But what I miss – I am also learning 2 new languages here – is (the safe feeling of) a bit of hand holding. With that I mean guidance what someone is supposed to learn with a given exercise and what are resources where to get the knowledge from to learn it. The latter thing I deem really important and would love to have integrated into the concept tracks (if not even everywhere).

And a last note from my side about moving all the not-yet-v3-tracks to practice mode: I would do this only as a last resort. Since Exercism (for me) is having mentors that help you along the way, if we would move some languages back to only having practice mode, I would think we would rob the people of the chance to learn properly. I would hope that we can offer at least the "old way" for these languages.

So, that's all for now, from my side. I will dig into the v3 repo and check it out. I am really curious and if I can help, I would love to do it.

Oh one more comment :)
@kytrinyx you wrote "the exercises themselves will be focused on what's unique and interesting about a language, rather than accidentally focusing on things that are often trivially similar to other languages people already know"
I guess that (people who want to learn a second or third language) is the biggest portion of the user base, but we should not forget also the people who never programmed before. It's like you said in a talk some years ago: "half of the programmers out there only have less than 5 years experienced" (paraphrased of course).

@ScottHutchinson
Copy link

I hope the transition to v3 will be smoother than it was to v2. My impression of the v2 transition is that there were a lot of breaking changes, v1 data was orphaned, and learning to use v2 was like learning to use a whole new site. If I recall correctly, the transition was so daunting for me as a student that it was several months before I found the time and energy to deal with it. When I go back and read the page https://exercism.io/about-v1-to-v2, much of what I read there about branding and icons, etc, doesn't sound like it's worth all the trouble. But I'm sure some of the other improvements must have been worth it.

@iHiD
Copy link
Member Author

iHiD commented Dec 27, 2019

@ScottHutchinson I wrote a blog post to address your points :)

With regards to the transition to V3, I expect it to be lots smoother than V1-V2, as the site won't change as dramatically. I actually don't think the V1-V2 one was that bad in terms of things like no data being lost, but it was effectively a new site, so the experience would have been super-jarring!

@connorads
Copy link

I am intending to reach out to everyone that's contributed to Exercism (either through contributions here, or through mentoring on v2) and ask them if they could help us by each working on one exercise apiece.

... please use this issue to discuss how we can crowd-source people to contribute to v3 ...

Not sure if it would yield great results but it might be worth trying to reach out to active users who consistently submit solutions on Exercism, but are not yet mentors or contributors.

@iHiD
Copy link
Member Author

iHiD commented Dec 27, 2019

@connorads Thanks. I actually plan to email the whole userbase once we're a little way into it. It's mainly developers and even if 0.01% of members help out, that would be enough to easily get us there. But I will consider reaching out to a small subset first as well :)

@kellydanma
Copy link

Not sure if it would yield great results but it might be worth trying to reach out to active users who consistently submit solutions on Exercism, but are not yet mentors or contributors.

I'm in this situation, being a junior developer myself. I'm progressing through the Go track right now and would love to help out, but I may need a "mentor" to offer some advice on contributing the first time. Since I'm still in school, I don't have a lot of experience (only my current job!) and would really appreciate guidance if contributing to v3.

@ErikSchierboom
Copy link
Member

Hello 👋

With the launch of Exercism v3, we are closing all issues in this repository to help give us a clean slate to detect new problems. If this issue is still relevant to Exercism v3 (e.g. it's a feature that we haven't implemented in v3, or a bug that still exists), please reopen it and we will review it and post an update on it as soon as we get chance.

Thanks for helping make Exercism better, and we hope you enjoy v3 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants