Aside from my other post, I'd like to say a few more things...
For you to be asking how to give to the community at such a fresh time is inspiring. It reminds me of my attitude and dedication during my early years. Here's a few things that helped me along the way:
- Be honest. If you make a mistake, own it. *Always* take full accountability for everything you do when things go wrong.
- Be honest. *Never* take credit for someone's work. *Always* give credit where credit is due.
- Tests, write tests before or as you write code. Your test scripts act as an API user of your software, and will help guide you toward your interface design. If you change your interface, you must update your tests, and this exposes you to what it would be like for a real user of your software (and tests are critical for regression testing).
- Documentation, write your documentation as you write your code (inline with your tests, or after your tests all pass). It is far easier to write docs as you go than it is to do so after writing an entire library. Also, if you write your docs/POD live-time, it is far more likely that it'll be accurate.
- Find your groove. Settle into a coding layout and style that works for you, but be considerate of best common practices. (I'm looking at you, 4-space indents). Learn about bracing and bracketing styles, and figure out what you like. But...
- Be consistent. Don't mix coding styles and layouts in a single file. Don't do half of a file with 4-space indents and the other half with tabs. That's just wrong.
- Answer questions. If you see a question you think you can answer... answer it! Don't worry if some narcissist gives you attitude; put forth your best response. Others who are paying attention will have your back.
- Number One: Ask questions. Never, ever, ever be afraid to ask a question, no matter how silly you may think it is. Honest. This is by far the number one rule.
Cheers,
-stevieb
ps It took me 15 years to figure out my coding style and layout to the point that it is consistent in (nearly) everything that I write from scratch nowadays. For this reason, don't be concerned about perfecting it right away. Just slowly figure out what makes code readible to you. (Note that I have slightly different styles for different languages, due to my mentioned best common practice comment, but I digress).