freeCodeCamp/server/views/resources/how-nonprofit-projects-work...

62 lines
7.5 KiB
Plaintext
Raw Normal View History

extends ../layout
block content
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
2016-03-16 07:27:19 +00:00
h2.text-center How our Nonprofit Projects Work
hr
p Building nonprofit projects is the main way that our campers learn full stack JavaScript and agile software development. Youll begin this process once youve earned your Front End Development, Data Visualization, and Back End Development certifications.
h3 Starting with the end in mind
p Our goal at Free Code Camp is to help you land a job as a software developer or get promoted in your current company to a more technical role.
p Youll continue to work on nonprofit projects until youve built a sufficiently impressive portfolio and references to start your job search. Your portfolio will ultimately have four nonprofit projects. We estimate that the 800 hours of nonprofit projects and 80 hours of interview prep youre going to complete, in addition to the 1,200 hours of challenges youve already completed by this point, will be more than enough to qualify you for your first coding job.
h3 Your first Nonprofit Project
p We generally scope Nonprofit Projects to 200 hours, or about 10 weeks at 20 hours per week of development per camper. These are only rough estimates. Youll only work on one project at a time.
p You will choose another camper to partner with on this projects. You should choose your them based on:
ol
li How many hours you can pledge (around 10, 20, or 40 hours per week)
li Your time zones (Will you be able to pair program together?)
li Prior coding experience (wed like both campers to be able to contribute equally)
p We don't take age or gender into account. This will provide you with valuable experience in meshing with diverse teams, which is a reality of the contemporary workplace.
p Then, youll email 
a(href="mailto:team@freecodecamp.com") team@freecodecamp.com
|  with:
ol
li Names
li Contact information
li Links to each of your Free Code Camp code portfolios
li Timezones
li Hours pledged per week
p Well send you a list of 3 nonprofit projects that need your help, and together you will choose one to begin work on. While you do this, our team will code review each of your code portfolios to ensure that all user stories have been completed, and that there are no signs of academic dishonesty.
h3 Beginning the Project
p Well set an initial meeting with representatives from Free Code Camp, the two campers, and the stakeholder. If the stakeholder and both campers show up promptly, and seem enthusiastic and professional, well start the project. This lengthy process serves an important purpose: it reduces the likelihood that any of our campers or stakeholders will waste their precious time.
h3 Nonprofit Stakeholders
p Each nonprofit project was submitted by a nonprofit. A representative from this nonprofit has agreed to serve as a "stakeholder" - an authoritative person who understands the organization and its needs for this particular project.
2016-03-16 07:27:19 +00:00
p Stakeholders have a deep understanding of their organizations needs. Campers will work with them to figure out the best solutions to these needs.
p When you and your pair partner first speak with your nonprofit stakeholder, youll:
ol
li talk at length to better understand their needs
li create a new Trello board and use it to prioritize what needs to be built
li establish deadlines based on your weekly time commitment, and how long you think each task will take
p Ideally, well scope each project to be completed in 10 sprints. Its notoriously difficult to estimate how long building software projects will take, so feel free to ask our volunteer team for help.
p Youll continue to meet with your stakeholder weekly using the conference software GoToMeeting. You will also correspond with the team on the projects Trello board.
p Getting "blocked" on a task can take away your sense of forward momentum, so be sure to proactively seek answers to any ambiguities you encounter.
p Ultimately, the project will be considered complete once the stakeholders needs have been met, and you and your partner are happy with the project. Then you can add it to your portfolio!
h3 Working with your Partner
p You and your partner will pair program (code together on the same computer virtually) about half of the time, and work independently the other half of the time.
p Here are our recommended ways of collaborating:
ol
li Gitter has robust private messaging functionality. Its the main way our team communicates, and we recommend it over email.
li Trello is great for managing projects. Work with your stakeholder to create Trello cards, and update these cards regularly as you make progress on them.
li Screen Hero or Team Viewer - These are the ideal way to pair program. Tools like TMUX are good, but difficult to use. We discourage you from using screen sharing tools where only one person has control of the keyboard and mouse - that isnt real pair programming.
li Write clear and readable code, commit messages, branch names, and pull request messages.
h3 Hosting Apps
p Unless your stakeholder has an existing modern host (AWS, Digital Ocean), youll need to transition them over to a new platform. We believe Heroku is the best choice for a vast majority of web projects. Its free for hosting non-production apps, easy to use, and has both browser and command line interfaces. Its owned by Salesforce and used by a ton of companies, so its accountable and unlikely to go away.
p If you need help convincing your stakeholder that Heroku is the ideal platform, well be happy to talk with them.
h3 Maintaining Apps
p Once you complete a nonprofit project, your obligation to its stakeholder is finished. Your goal is to leave behind a well documented solution that can be easily maintained by a contract JavaScript developer (or even a less-technical "super user").
p While you will no longer need to help with feature development, we encourage you to consider helping your stakeholder with occasional patches down the road. After all, this project will be an important piece of your portfolio, and youll want it to remain in good shape for curious future employers.
h3 Pledging to Finish the Project
p Your nonprofit stakeholder, your partner, and our volunteer team are all counting on you to finish your nonprofit project. If you walk away from an unfinished nonprofit project, youll become ineligible to ever be assigned another one.
p To confirm that you understand the seriousness of this commitment, we require that all campers sign 
a(href='http://goo.gl/forms/ZMn96z2QqY' target='_blank') this pledge
|  before starting on their nonprofit projects.
p There will likely be times of confusion or frustration. This is normal in software development. The most important thing is that you do not give up and instead persevere through these setbacks. As Steve Jobs famously said, "Real artists ship." And you are going to ship one successful nonprofit project after another until you feel ready to take the next step in your promising career.