Week 1 - What I Learned
October 12, 2021This week was my first “real” week in the Encora Apprentice Program, since last week was mainly about learning the workflow, getting acquainted with the tools and in general learning how everything works. This is the first week of what is called the Reset Phase, which lasts a month, and its objective is to reset our mindsets, give us the tools to begin learning quickly and polish our expectations. The resources for this week, and Phase 1 in general, are extensive and very interesting; in this essay I will talk about what I learned throughout the first week.
First, I would like to mention the importance of the apprenticeship system, which is the basis for this Program, since there are many other resources that praise it (one great example is the Mastery book by Robert Greene) and from personal experience I can confirm its usefulness. Being in constant contact with a mentor, who ideally has extensive knowledge in a particular topic and a lot more experience, is a recipe for success; his ample experience enables him to guide you through a structured and selective path to avoid wasting time and focus on what you need to improve.
Also, I learned about a method called the X Workflow, which follows the scientific method structure, but gives it a twist and adds useful advice regarding its application in programming problems. It is a process that includes five stages: discovery, definition, specification, implementation and analysis. In them, it emphasizes the following recommendations: detailed journaling, extensive testing and the importance of defining the problem in precise sentences. The first half of the stages refer to the ideas and theories, while the other half refers to the implementation and execution of those ideas; these differences between idea and execution were a recurrent theme during this week, and there is a consensus among the authors that the execution is the important part, if not the hardest. Stanford Professor Josh Ousterhout believes that fear is the root cause of many people not taking action, and as fear is a primal emotion it is hard to get rid of it, even so we must embrace it and take advantage of the abilities it provides (adrenaline, attention) instead of letting it limit our ability. For this topic, there is phrase that resumes it well: “ideas are just a multiplier of execution”
Furthermore, the topic about cognitive resource was enlightening. This is one of the things that most people don’t know about but makes a huge difference if done right, and as one of the main objectives of this Reset Phase is learning how to consume knowledge quickly, this helps to do exactly that. The main takeaway is focusing your mental (cognitive) resources on the important things, and let the mundane, trivial tasks take as little resources as possible by repeatedly and purposefully practicing them until mastery. If every day-to-day task consumes your resources, there will be little left for the important tasks like work or school, and your productivity can be severely limited.
Once you can focus your whole attention to the important tasks, it is helpful to know how to optimize the time spent on them; this will help you to get better at something in a shorter time and be able to learn more things in a certain timeframe, a very sought-after skill. This is called deliberate practice, and stems from the principle that not all time spent on a task is productive, instead you need to have a plan along with helpful resources to be able to achieve productive practice sessions. As the following phrase puts it: “perfect practice makes you perfect”.
In addition to the whole new topics, this week’s resources also included refreshers of basic computer science topics: data structures and the famous command line. The data structures seen this week include queues and stacks, which are collections of items that have specific attributes. The queue is a collection that follows the FIFO principle (First In, First Out), so the first element added into the structure is the first to go out when requested. In comparison, the stack is a collection that follows the LIFO principle (Last In, First Out), so the last element added into the structure is the first one to go out when requested.
In reference to the command line, the material served as a reminder of how to use it. It included a list of common programs (ls, cd, pwd, etc.), how to change directories, copy and move files, where are the programs saved and how is it different compared to using a graphical interface. The answer: it’s better because you have more control, if something is not possible yet or with the tools you have you can program it to be able to do it; it has a special syntax, keywords, etc. Just like a programming language. It’s generally called bash scripting, bash being one of the most popular shells.
Finally, this week all of the Apprentices presented our first lightning talk. It’s the first step towards learning how to present a specific topic in an ignite format (5 minutes, 20 slides), which is a very useful skill to have as people like to understand what you are trying to tell them in the least amount of time possible, and it opens yourself to a broader audience. It also means that you are getting more comfortable with talking in public, speaking English and receiving feedback.
These are just the first week’s learnings; therefore, I am satisfied with what the Program has to offer and I plan to take advantage of the resources at my disposal. There are a lot more coming soon!