Hi Dan,<br><br>I am the maintainer of wxHaskell, but please don&#39;t let that worry you, as I&#39;m actually not going to go on and recommend wxHaskell as an Open Source project for a relative beginner - it is architecturally complex, and you need to know as much C++ as you do Haskell. You might choose to *use* wxHaskell in any project you undertake, but that is a different matter.<br>
<br>I&#39;m also a software engineering manager in my day job, so I have a lot of experience of what a good intern (those who come to me have generally completed their second year of undergraduate studies in the UK) can achieve - usually in fairly hardcore embedded C++, but that&#39;s beside the point.<br>
<br><div class="gmail_quote">On 11 April 2012 22:52, Dan Cristian Octavian <span dir="ltr">&lt;<a href="mailto:danoctavian91@gmail.com">danoctavian91@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><div>I am a second year computer science student who is very interested in  working on a haskell open source project. I have no particular focus on a certain type of application. I am open to ideas and to exploring new fields. What kind of project should I look for considering that I am a beginner? (Any particular project proposals would be greatly appreciated).</div>
</blockquote><div><br>Long experience of many types of software project tells me that before everything else you should choose something which interests you. You need a reason to want to understand, analyze and generally get stuck into a codebase, and having an interest is what gives you that motivation.<br>
<br>At the same time, please don&#39;t let being a &#39;beginner&#39; be too much of a barrier. I tell new interns that by the end of their internship they will be debugging multithreaded kernel-mode C++ code on an embedded target confidently and they look at me as though I am mad. However, they have all (so far) managed to succeed in doing just that kind of thing. Don&#39;t underestimate your ability to understand new concepts when you have a reason to focus hard on them.<br>
<br>What will help you a great deal is good mentorship. Working on a project where the development team can take time to explain to you how (and why) they think things should be done in a particular way will accelerate your learning to a remarkable degree. Far more than 100 lectures, in fact. You should also try to choose a project which is well documented - this will help you to understand how everything hands together.<br>
<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>Is the entry bar too high for most projects out there for somebody lacking experience such as me so that I should try getting some experience on my own first?</div></blockquote><div><br>It is amazing what you can do when you actually make a start! I&#39;m assuming that you are somewhat familiar with Haskell at this point (e.g. worked your way through most of Learn You a Haskell or Real World Haskell, and felt like you grasped at least 50% - if you haven&#39;t, do that first).<br>
<br>The key is to start with something fairly small and then use it to build up to something bigger. Most sizeable projects (wxHaskell, Gtk2Hs, Darcs, Yi, Yesod and many others) will have things on the &#39;to do&#39; list which are not too large and maintainers who should be able to help.<br>
<br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Would it be a better idea to try to hack on my own project rather than helping on an existing one? </div>
</blockquote><div><br>I think you would learn more by contributing to an existing project. Whether that is of overwhelming importance is a question only you can answer.<br><br>Regards<br>Jeremy<br></div></div>