Understanding your values and being aware of who you are as person, your experiences, are crucial when it comes to learning. You need that intrinsic motivation of wanting to grow and develop, and be honest about your strengths and weaknesses, in order to reach that learning goal. In relation to learning how to programme, it has been like learning a completely new and complex language. It's not always easy to piece together, things don't make sense a lot of the time, but I keep pushing myself to learn it because there's a part of me that sees a future in programming and I know eventually I will get there.
Empathy is important as relationships with others also comes into play when learning. Interactions with peers, teachers and your support people require understanding about how others are feeling, and how to communicate with them, so that these interactions can be more meaningful and beneficial.
The fixed vs. growth mindset has suprised me most. I have come to realise just how much of a fixed mindset I have been taught and raised to have, and how this has impacted my self-confidence and decision-making. To have this mindset shifted during the core learning process has been liberating.
The most challenging aspect has probably been when I have had to be honest with myself, and think about how my values, motivation and goals have been impacted by my experiences and how they have changed over time. This required a lot of self-reflection.
I think that because programming is technical, a science, that it's easy to group it into that category of purely being based on intelligence and skill. However, in the real world, it is a constantly evolving industry, where learning (and perhaps unlearning) occurs regularly, and involves human skills and teamwork when solving problems or developing new ideas. You'll need to work closely with peers, seniors, customers and other stakeholders, and there will be times when opinions or goals differ, and personalities or working styles clash and this needs to be managed safely. By developing core learning as well as programming, we will be better set-up for a career in software development.
For me, I was most challenged by the programming and this where I feel I need the most training and practice. As much time spent on this as possible is ideal. However, I know that if I hadn't engaged with the core learning, this learning process would have been far more difficult and I may have given that little negative voice in my head more power when things weren't working out or I was getting stressed/overwhelmed. So I do think that it has been useful on my journey.