Foundations Reflection

Pieces of paper, each with a random word on it

What are the role of values, empathy, and self awareness in learning and programming?

Values, empathy and self awareness are important for both learning and programming because they increase your capacity to learn and are crucial for being a good team member. Most programming jobs/projects involve lots of teamwork. If you are self aware, you'll know your interpersonal weaknesses and your emotional triggers. And, if you know them, then you can start to manage them.

Knowing your values and understanding that other people's prioritisation of different values may differ from yours helps you understand where others are coming from and interact with them appropriately – treating them with kindness, dignity and respect.

Having empathy allows you to care enough to do the things mentioned above. It also helps you be aware of what others may be feeling, and how your group is reacting emotionally to your actions and behaviour. If everybody in a team as empathy and self awareness, that team will be able to work really well together and have a very positive experience.

For learning in a group context all of these same points apply.

If you are learning on your own, empathy will be less important than when working with others, but knowing your values and self awareness are both still essential. Knowing your values will help you remember why you are learning, and self awareness will help you manage yourself to learn well.

What has surprised you the most about the core learning?

I was surprised to find that I already had a good knowledge of the topics covered in Foundations Core. The core content happened to coincide with prior learning I had done over the years as a result of my general interest in these topics and my learning and experience as a teacher. (I had already either self-studied the topics or studied them through professional development sessions in my previous job as a teacher.)

What were the most challenging aspects of the core learning?

I am a private person. Having to share very personal thoughts online in a public blog was uncomfortable.

Why do you think that we, a programming school, are spending so much time focusing on core learning in a web development bootcamp course?

Core learning and human skills are immensely important for programmers. You need to be able to "think like a web developer" – knowing how to problem solve and be somewhat independent in doing so – so that you are not constantly bothering your senior dev or other colleagues with questions about how to solve a problem if it is something you should be able to work out for yourself by looking at the organisation's wiki or Googling it.

Self awareness and empathy are crucial for working well in teams which is a big part of being a dev.

Understanding neuroplasticity and having a growth mindset can help you learn more efficiently and effectively, which is especially important given how much we are going to cover in a short period oof time in Bootcamp.

Creating a Learning Plan forces students to think about the kinds of obstacles they will face during Bootcamp and plan strategies to be more resilient and overcome them.

Does the time you spent studying core learning here feel like a waste of time? Should you have just used that time to practise programming instead? Justify your answer.

I think whether or not studying the theory behind core/human skills (as opposed to putting it into practice) will have been useful will vary hugely from student to student. If the concepts covered were new for a student, then what we have done so far in Foundations will have been very useful for them. If they were already very familiar with the theory we covered, it may not have been.

Due to my prior experience, none of the theory covered in Foundations was new for me. However, while in Foundations a lot of the core learning was theory, I believe in Bootcamp we will get plenty of opportunity to put it all into practice. My experience as a teacher (and learner) has taught me that "knowing" something and being able to actually "do" it are two completely different things. While I already "knew" the material covered in the Foundations core learning, I think "doing" these things in Bootcamp will be a useful experience for me.

So, I think for me personally, the valuable part of the core learning/human skills will come in Bootcamp – putting all these concepts into practice in the specific context of us all working together in dev teams and under considerable pressure. In fact, that is the main reason I enrolled in Dev Academy – to get practice working as part of a dev team, practising the relevant human skills as much as possible while doing so.