Swift source mentorship program

I think we should have some kind of mentorship program for the swift
source. I'm confident that my following statement doesn't apply to just me:

"I'd love to get involved in the source a lot more, and my previous efforts
to browse around and understand it a bit better have been thwarted by lack
of time, a specific goal/direction, and no proper commitment (all my own
failings of course). I'd be happy to learn the code and implement
proposals, but I really want someone to turn to when I need some help and
guidance."

In addition to the core team, I think there are a few others who know the
code well enough, and who may be willing to mentor and share that knowledge
further. Having a specific mentor makes it much easier to get to a level
where you feel comfortable talking to the wider development community on
swift-dev for example.

There would need to be some level of self-starting bar, which would need to
be supported by some documentation to read, and some simple tasks/tutorials
to complete (For example create a branch which removes an existing feature
and a tutorial to re-implement it, that touches a few key areas of the
code-base). The swift project and the evolution process would benefit by
having more potential implementors, so writing such documentation and
getting-started guides should be a high priority in order to help people
get more involved. Once complete, it would be great to choose a proposal,
find a mentor, and start work on it under their guidance.

I believe effort focused in this area will have a high return, given the
high quality and quantity of passion and talent I see in this list.

A Swift developer has actually started a blog series about the swift compiler. The links to his post were posted in one of the evolution topics a little while ago. The series is incomplete, but it gives a lot of explanations about the various parts of the swift compiler.

I wholeheartedly agree that a mentorship program would be extremely useful for helping others get up-to-speed with the swift compiler. I myself wished I understood it better. The only problem is that with something so large and complex, it would take a lot of time and effort to document and create a tutorial for it. I wish that this would happen, but I don’t know that anyone at Apple has the time and there probably aren’t very many people outside of apple with the know-how and time to write a tutorial as a hobby. I hope that I’m wrong though.

···

On Aug 14, 2017, at 2:35 PM, Jay Abbott via swift-evolution <swift-evolution@swift.org> wrote:

I think we should have some kind of mentorship program for the swift source. I'm confident that my following statement doesn't apply to just me:

"I'd love to get involved in the source a lot more, and my previous efforts to browse around and understand it a bit better have been thwarted by lack of time, a specific goal/direction, and no proper commitment (all my own failings of course). I'd be happy to learn the code and implement proposals, but I really want someone to turn to when I need some help and guidance."

In addition to the core team, I think there are a few others who know the code well enough, and who may be willing to mentor and share that knowledge further. Having a specific mentor makes it much easier to get to a level where you feel comfortable talking to the wider development community on swift-dev for example.

There would need to be some level of self-starting bar, which would need to be supported by some documentation to read, and some simple tasks/tutorials to complete (For example create a branch which removes an existing feature and a tutorial to re-implement it, that touches a few key areas of the code-base). The swift project and the evolution process would benefit by having more potential implementors, so writing such documentation and getting-started guides should be a high priority in order to help people get more involved. Once complete, it would be great to choose a proposal, find a mentor, and start work on it under their guidance.

I believe effort focused in this area will have a high return, given the high quality and quantity of passion and talent I see in this list.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

I think that "we don't have time to implement this time-saving
project-accelerating quality-improving thing" is widely recognised as an
anti-pattern (or anti-process if that’s a thing) these days, and I’d hope
Apple would find a way to avoid this problem. :)

···

On Mon, 14 Aug 2017 at 21:44 Jacob Williams <ponyboy47@gmail.com> wrote:

A Swift developer has actually started a blog series about the swift
compiler. The links to his post were posted in one of the evolution topics
a little while ago. The series is incomplete, but it gives a lot of
explanations about the various parts of the swift compiler.

The secret life of types in Swift | by Slava Pestov | Medium

How to talk to your kids about SIL type use | by Slava Pestov | Medium

I wholeheartedly agree that a mentorship program would be extremely useful
for helping others get up-to-speed with the swift compiler. I myself wished
I understood it better. The only problem is that with something so large
and complex, it would take a lot of time and effort to document and create
a tutorial for it. I wish that this would happen, but I don’t know that
anyone at Apple has the time and there probably aren’t very many people
outside of apple with the know-how and time to write a tutorial as a hobby.
I hope that I’m wrong though.

On Aug 14, 2017, at 2:35 PM, Jay Abbott via swift-evolution < > swift-evolution@swift.org> wrote:

I think we should have some kind of mentorship program for the swift
source. I'm confident that my following statement doesn't apply to just me:

"I'd love to get involved in the source a lot more, and my previous
efforts to browse around and understand it a bit better have been thwarted
by lack of time, a specific goal/direction, and no proper commitment (all
my own failings of course). I'd be happy to learn the code and implement
proposals, but I really want someone to turn to when I need some help and
guidance."

In addition to the core team, I think there are a few others who know the
code well enough, and who may be willing to mentor and share that knowledge
further. Having a specific mentor makes it much easier to get to a level
where you feel comfortable talking to the wider development community on
swift-dev for example.

There would need to be some level of self-starting bar, which would need
to be supported by some documentation to read, and some simple
tasks/tutorials to complete (For example create a branch which removes an
existing feature and a tutorial to re-implement it, that touches a few key
areas of the code-base). The swift project and the evolution process would
benefit by having more potential implementors, so writing such
documentation and getting-started guides should be a high priority in order
to help people get more involved. Once complete, it would be great to
choose a proposal, find a mentor, and start work on it under their guidance.

I believe effort focused in this area will have a high return, given the
high quality and quantity of passion and talent I see in this list.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

If you have questions about contributing or get stuck, then head over the the swift-dev mailing list. That’s the best place to connect with others working on hacking on Swift itself.

-Chris

···

On Aug 14, 2017, at 1:55 PM, Jay Abbott via swift-evolution <swift-evolution@swift.org> wrote:

I think that "we don't have time to implement this time-saving project-accelerating quality-improving thing" is widely recognised as an anti-pattern (or anti-process if that’s a thing) these days, and I’d hope Apple would find a way to avoid this problem. :)

On Mon, 14 Aug 2017 at 21:44 Jacob Williams <ponyboy47@gmail.com <mailto:ponyboy47@gmail.com>> wrote:
A Swift developer has actually started a blog series about the swift compiler. The links to his post were posted in one of the evolution topics a little while ago. The series is incomplete, but it gives a lot of explanations about the various parts of the swift compiler.

The secret life of types in Swift | by Slava Pestov | Medium
How to talk to your kids about SIL type use | by Slava Pestov | Medium

I wholeheartedly agree that a mentorship program would be extremely useful for helping others get up-to-speed with the swift compiler. I myself wished I understood it better. The only problem is that with something so large and complex, it would take a lot of time and effort to document and create a tutorial for it. I wish that this would happen, but I don’t know that anyone at Apple has the time and there probably aren’t very many people outside of apple with the know-how and time to write a tutorial as a hobby. I hope that I’m wrong though.

On Aug 14, 2017, at 2:35 PM, Jay Abbott via swift-evolution <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:

I think we should have some kind of mentorship program for the swift source. I'm confident that my following statement doesn't apply to just me:

"I'd love to get involved in the source a lot more, and my previous efforts to browse around and understand it a bit better have been thwarted by lack of time, a specific goal/direction, and no proper commitment (all my own failings of course). I'd be happy to learn the code and implement proposals, but I really want someone to turn to when I need some help and guidance."

In addition to the core team, I think there are a few others who know the code well enough, and who may be willing to mentor and share that knowledge further. Having a specific mentor makes it much easier to get to a level where you feel comfortable talking to the wider development community on swift-dev for example.

There would need to be some level of self-starting bar, which would need to be supported by some documentation to read, and some simple tasks/tutorials to complete (For example create a branch which removes an existing feature and a tutorial to re-implement it, that touches a few key areas of the code-base). The swift project and the evolution process would benefit by having more potential implementors, so writing such documentation and getting-started guides should be a high priority in order to help people get more involved. Once complete, it would be great to choose a proposal, find a mentor, and start work on it under their guidance.

I believe effort focused in this area will have a high return, given the high quality and quantity of passion and talent I see in this list.

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org <mailto:swift-evolution@swift.org>
https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Is that mailing list an appropriate venue for questions about implementing features that haven't been accepted yet? I want to be respectful of everyone's time and not bombard them with off-topic questions while they're trying to get stuff done.

- Dave Sweeris

···

On Aug 16, 2017, at 3:18 PM, Chris Lattner via swift-evolution <swift-evolution@swift.org> wrote:

If you have questions about contributing or get stuck, then head over the the swift-dev mailing list. That’s the best place to connect with others working on hacking on Swift itself.

Yep, I think that’s the best place, since it relates to implementation concerns.

-Chris

···

On Aug 16, 2017, at 3:50 PM, David Sweeris <davesweeris@mac.com> wrote:

On Aug 16, 2017, at 3:18 PM, Chris Lattner via swift-evolution <swift-evolution@swift.org> wrote:

If you have questions about contributing or get stuck, then head over the the swift-dev mailing list. That’s the best place to connect with others working on hacking on Swift itself.

Is that mailing list an appropriate venue for questions about implementing features that haven't been accepted yet? I want to be respectful of everyone's time and not bombard them with off-topic questions while they're trying to get stuff done.