Enhance42’s north star is how many people have become capable of software development.
Capable of software development means:
Able to learn any new language in 2 weeks.
Able to understand new frameworks and use in the development of software applications.
Understands the flow of data and control end to end in a system, including system internals, network internals and how multiple systems work together.
Work independently with little guidance and work with a group of people.
Comfortable with current tools and practices of software development.
People being satisfied with our teaching and practices and projects is good, but not good enough. Only when a person becomes capable of developing applications of his desire, step by step, working with a team. That is when we can say we have enhanced a person’s capability in software development.
The signals for recognizing the capability enhancements are:
- The type of questions being asked.
- Their code quality.
- Developing their software ideas.
- Working in teams.
- Participating in hackathons.
- Doing internships.
- Getting a job offer in developer roles.
- Delivering some software freelancing work.
- Contributing to open-source projects.
One key thing to do as part of the process is to give whatever time it takes for the student to solve problems. When enough time is given, they come up with their own solution, which remains forever. In the process, all the thinking and exploration that happens will strengthen the problem-solving mind and build their own systematic process to solve problems.
Exposing them to the possibilities to apply their software development skills for solving people’s problems would broaden their horizons.
Enhancing their perception of the systems within which we live. The decolonization of the mind is essential.
To make them into habitual coders to keep enhancing their coding ability.