Tech Reflections – Sprint One
Command Line Primer
In a couple of sentences, how would you describe the command line in plain English? Can you think of an analogy for it?
The command line is a text based version of the inner workings of the computer. It's sort of like how cars look nice on the outside, but strip that away and they are just engines and wheels and so on. Computers are similar in that the command line is what is used under the hood taking away the interface.
Did you stick to the timebox guidelines? If not, what change would you make next time?
Not so well, I found it a bit difficult to get into a rhythm. I have been sick with covid-19 this week, which has made it very difficult to focus. I have made some changes to my time planning such as chunking out sections fo the day, muting my phone and building a bookmark list of resources to help me solve things quicker.
Name 5 commands you used, and what they do.
- 1. ls = see the list of items inside the current directory
- 2. mkdir = make a new directory
- 3. cd = go inside a directory
- 4. pwd = shows the path of all the parent folders outside of your current directory
- 5. code = opens the current file or folder in VScode
Did you learn anything unexpected?
Yeah! So much of this terminal is not at all how I thought it worked. Now I see that the UI interfaces we are all used to are just fancy controls for what is essentially just the terminal. A car might look great on the outside, but its the engine that makes it run well - ie, the terminal. It's also extremely logical... almost annoyingly so...
Version Control with Git
What's the difference between git and GitHub?
Git is a software that allows you to do version control with various local repos. Github is a service that hosts those repos and allows you to fork, clone and collaborate with other peoples' projects and vice versa.
Can you think of an analogy to describe them?
Github is like a huge nursery for all these little repository projects while Git is the process of dropping off and picking up your project etc.
Do you think you would still remember the difference a week from now if you didn't revisit the material?
Yes absolutely, I completely understand it all! :)
Did you stick to the timebox suggestions? If not, why not?
With this one yes I did!
Install and Explore Git
What is a Git workflow?
The process or the order you follow when working on projects. Feature Branching is one example of this.
What did you notice about your own learning? What did you do when you were confused or blocked?
My brain was soup from day 1 to day 3-4. So I would often take breaks, or call friends to talk about it. One thing I found really useful was trying to explain what I was learning to my partner. That really helped me strengthen my understanding and commit things to memory.
Is there anything you'd do differently if you were to repeat the learning exploration again?
I'd try to do it with someone else in the cohort and discuss findings as we went along the process. Or even do a group reflection at some point throughout the day. I find it extremely helpful to discuss topics with people especially when its something I don't fully understand yet.
Track and Commit
How would you describe stage and commit to your non-tech-savvy friend?
It's like deciding to get a tattoo, so you would first draw it on your arm to see how it looks (staging it), then once you're happy with it, you would go ahead and get the tattoo (committing it).
Branch, Pull, Merge
What is main?
Main is Githubs centralised branch that acts as the primary chain for the repo in question.
Why create a Branch?
Creating a branch is a great way to allow additional people to work on various features of the same overall project, ie, the header and the footer.
Do the concepts introduced feel intuitive or difficult to understand?
Mostly all intuitive. I haven't had all that much of an issue with any of the concepts so far.
GitHub Fork & Clone
What are some examples of when you would fork?
You would fork a repository when someone has a project and you want to have a go at making your own version of their project using their code as a starter. Or, you may want to fork something to demonstrate to someone how to fix their work without making the changes to their project for them, unless they accept your pull request.
Did you have any moments where it all clicked? What clicked?
Yes! Often when I was speaking out loud as I was following along with instructions or when I was watching some of the video tutorials via youtube. I think it clicked by making me realise that it's all system based and one directional for the most part. The terms such as pulling, pushing, clone, fork and merge etc are all descriptive enough that I could picture what was happening during the process.
Setup Repo & Create Blog
Reflect on this activity. When did you feel frustrated?
I honestly did not get frustrated throughout this activity. I felt like I had everything under control!
If you didn't already know that this is the way websites are made, was it what you pictured? How does the reality of this process differ from your preconceptions?
I already knew! :) I have some past experience building websites, however I had never used git or github before this week.
Thinking like a programmer
What is your process so far for solving problems?
This is a great question for me to reflect on. I am definitely used to a real life team environment, so working on problems alone at home has been a big shift for me and my working style. When solving problems I have started relying heavily on going back through my problem and seeing if I can reverse engineer the issue through trial and error. I'm no stranger to just trying something until I can get it to work. I spent a long time watching students who were too afraid to make mistakes, until I showed them that mistakes are how we learn. That ethos has really helped me when it comes to thinking like a programmer, planning, trying, trying again then when it works, reflecting on why did it work? What did I do differently?
Introduce yourself
What was it like trying to summarise yourself to a group of strangers?
It was fine! It's actually something I'm used to. Talking to a room full of people I don't know was pretty normal for me in my last role.
Could you feel your ego? Were you self conscious?
I could feel a bit of an ego, I think part of that comes from wanting to please people around me. However I wouldn't call it self consciousness, more intimidation of the amount of work expected of me and my ability compared to others.