Week #4 Prompt: You’re a few weeks into your DukeEngage summer, and there is likely at least one part of this experience that is not going as expected. How are you handling that? In general, how do you respond to change, and where is there room for personal growth? If applicable, what have you learned from your host community and/or community partner about resiliency?
Computer has two parts: frontend and backend. Frontend relates to more of what users see such as the user input and webpage while backend relates to data computation.
Most of the computer science classes are focused on backend such as algorithm, data structure, and program design. Frontend development is mostly new to me. Unlike backend, where most programmers code almost the same way in Java, frontend allows flexibility in developing it. People can choose different servers, different software, different platforms, different integrating development environments to develop frontend. Moreover, frontend development requires more background knowledge such as server, client, given the fact that frontend is connected to internet.
At the beginning of the development, I was anxious and wanted to find out a functional sample frontend program as soon as possible and figure out most of the things by reading the code in the sample. However, amount of stuffs involved in a frontend program were more than the amount I expected and since I knew not much about frontend and just pile up codes from all sorts of places to form the single sample program. Soon, I failed at compiling the sample program. Bugs occur and I could do nothing about it given my knowledge limitation. All I can do is just looking up the bug and copying more inscrutable codes under the solution post to the program, which usually ends up with another new bug and making the program even harder to understand.
I discussed those challenges with my community partner, who suggested me that I might have been too anxious at ending up with a program and ignored the importance of learning the mechanism behind the sample program. Given the complexity level of frontend, I was suggested to learn the entire frontend development systematically and in the case where I fail in coming up with a sample program, I still will be able to take away something from the learning process.
After switching the gear, I found my progress went smother. Moreover, learning through a tutorial is not as slow as I expected. I learnt to build up a sample program using what I learnt in the tutorial in just the first day after switching the approach and I currently are digging into the tutorial to prepare for tackling more difficult frontend programs.
I am happy that my community partners, as outsiders to programming, can sometimes provide their thoughts on my programming challenges. Even though this is probably more of a coincidence, I am happy that the problem is resolved through discussion and I believe discussion with partners will sometimes help in building resilience toward challenges.