TACTIC VICMARCAL
STEP1: FIND TIME
You need time to become a Developer.That is the first and main thing you need to become a Dev,as easy and difficult as that.
Main Objective: FIND TIME
STEP2: Learn C
Learn C.Take your time.No hurry.Nooooo Hurry.
Main Objective: Get used to C.Create apps.
STEP3: Create C apps
Create some Console-C apps and meanwhile begin learning WinAPI. WinAPI is C but oriented to Windows APIS.You need a good base of C first.Dont´t have hurry to jump to next step.Having a good C basement is needed.Have i said "Do not have hurry"?I will repeat again: "Do not...".Ok.Enough.
Main Objective: Create tons of simple Console-C apps.
STEP4: Lean+Create WinAPI apps
Try to create small and little GUI-Apps with WinAPI, follow any of the WinAPI books examples. Remember that our Sol.exe,winemine.exe,rapps.exe,etc are created with WinAPI.So you are one step closer to understand these apps.It will be a nice exercise to understand(after having done/understood WinAPI book examples)how these apps work.Tip: Before jumping to the next step,create tons of small WinAPIS apps.Try to use different APIs so you will get used to them.
Main Objective: Dont worry if you dont understand the WinAPI code of our Apps.You will.Dont get frustrated.Create more and more simple WinAPI apps.
STEP5: MSDN site
Thanks to give a look to our ReactOS Apps,you will discover some nice APIS which are quite powerful(as FindFirstFile,CreateWindow,and tons more),but the best thing is that you will know now how to move inside MSDN.com site. This is our reference page.And all the APIs behaviors are explained there.From "What does the API returns"to "Which Params needs the API to perform its work".
Main Objective: Try new Apis,not just the typical ones, and get used to MSDN site.Bookmark the MSDN pages to get fast to the API reference.
STEP6: Testcases
Run your WinAPI apps in XP,check they are working perfectly in XP, and then Run them in ReactOS.They should work.If you see something of your App is not working in ReactOS then recheck that this "something" is working in XP.If you confirm that this just happens in ReactOS, then you have found a ReactOS Bug.
The best thing is that you understand perfectly your own code,so you will guess quite fast which function is failing.Create a Bugreport, attach your little app,tell us what is not working,and point us to the function that is not working correctly in ReactOS.If your app performs 123 different-independent tasks,and just 1 is failing, try to trim your app and send us your app with just the function that leads to a wrong ReactOS behavior.Less code==Easier to understand.
Main Objective: Transform your non-useful apps in quite useful testcases
STEP7: Debugging Tactics
If you have reached this step then you should know how to create easy-WinAPI apps.Then you can become an
"APP Mantainer":
Apps Mantainer: If you dont know or dont want to learn how the OS behaves internally.If you just know how to code apps with WinAPI then you can give a deep look to ALL the .EXEs inside ReactOS.
Like: paint.exe, cmd.exe, sol.exe, rapps.exe, whatever.exe.
They are OS independent.So NO knowledge about how OSes behaves INTERNALLY is needed.
Download their code,study it, play with it(try to add new features thanks to your new WinAPI knowledge).In this point you will learn a lot of new APIs that you didnt imagine they could exist and that will make your coding task easier since now.But over all, ADD and Study how DebugPrints are added to ReactOS files.Add DebugPrints to winemine.exe,to cmd.exe or to rapps.exe.
Main Objective:Debugging is your objetive here,in order to work in ReactOS code you need to understand how ReactOS Debug works.You will understand why a DebugLog is a quite valuable tool.
STEP8: Books
Study and understand the Windows Internals 4-5th Edition,and i suggest the Operating System Concepts 8th Edition book too.This latest one helps to understand the basics concepts of the OSes focused in Linux and Windows XP.As WI4th and OSC are books which sums 1000 pages,read them while you enjoy coding WinAPI apps and featuring ReactOS Apps.Dont have hurry, or those books will kill you.Meanwhile continue with the next steps.
Main Objective: Begin studying OSes concepts as soon as possible.You will need extra support from Wikipedia.This is a long task, quite difficult and quite wide.Don´t stress yourself.
STEP9: Create WinAPI apps
Continue creating small WinAPI apps, maybe at this time you will like to create a Chess App,or any app that Windows has but ReactOS doesnt.At this point you should be familiar with the most commun APIs, indeed more,you should have understood that an API is just a quite-valuable-function coded by ReactOS in the same way you coded some functions,that makes your (coding) life much more easier because you can just call them and use them forgetting about HOW is it coded.Also you will know at this time that these API functions are coded inside the DLLs in System32
Main Objective: With your wide knowledge of WinAPI you should be able to understand our .exes. Use MSDN to find those APIs you dont know about.Try to link the books concepts(like Dlls,APIs,threads) with our Code.
STEP11: Winetests
Until now you have been working with the APIs believing they are correctly coded.You didnt mind about How they are coded.Dont you feel as a leecher?:3.If you have arrived to this Step you also should have discovered some bugs in APIs.And you should have reported them. Now, you have to lurk inside the code of these functions that have a special name: The APIs.APIS are just complex functions that helps a lot to Apps Developers.We check our APIs compatibility with Millions of tests.
Main Objective: Learn about "Winetests" and how we test our "Apis".You can create "Winetests" too.
STEP12: Moar Time
At this point i am sure you still didnt finished both books.But keep going.
Main Objective: Continue reading.
STEP13: Fixing Winetests
It´s time to move through our APIs. Our Winetests show where our APIs are failing.And how they are failing.These are bugs to be solved.Choose some of these tests and try to solve them.Remember that some of these DLLs are full synced with Wine,so we reject patches for these APIS.So select a DLL which doesnt come from Wine.Overall,begin with those APIs you feel comportable(as you have used them in your WinAPI apps).You will discover a powerful tool: "ReactOS Doxygen".
Main Objective: Try to fix winetests.
From 13) to N) you will have to choose your way.Since 11) you have become a Developer.You are working inside ROS.After reading and understanding the referal books, now you can choose to stay in User Mode, Kernel side,or whatever:Music,Networking,etc...
I can´t tell you more steps since i am stuck in 11