Week 0 - Competent Scripter to Proficient Programmer
Tags: beginners, webdev, discuss, productivity
Published: 2022-04-19 17:57:53

To start something new is always exciting but also some what daunting. As a PhD graduate who has some time to think about my own skillset, I have come to understand that I lack in my technical capabilities of Computer Programming. 

While I may be able to do generic scripting and have some capacity at free-thinking while solving minor problems that is typically supported by framework, I have never thought of myself as a proficient programmer, competent maybe, but never proficient.

For me this idea of being a proficient programmer is not something I would like to improve from just a professional capacity, it also plays into my personal passion for which I journeyed into computing in the first place.

My background focuses predominately within the field of Information Security, an area in which, benefits from understanding how to script, but does not require you to be a software engineer. With exposure to Web Development from both a personal and professional capacity, much of the experience of Web Development is now either outdated or knowledge has been typically been masked behind a framework.

# The Approach
My aim is to improve my programming proficiency through the medium of Web Development. A field that is accessible, far reaching, resource heavy, and has a very large community spanning many technologies. To scope my learning, I am primarily focusing on HTML, CSS, and JavaScript, with React and Express as my secondary focus. The idea of placing the frameworks as my secondary focus is that I want to develop my understanding around why a framework would be used in a particular instance as to maximise my understanding of the framework further. 

To tailor the focus of my learning this blog series aims to document my journey to go from competent scripter to proficient programmer, as well as, to try and answer the following set of questions to help anyone who is in a similar scenario:
 
- What resources should I use?

- What language should I learn?

- What is the best development stack?

- How do I escape tutorial hell?

# Target for Success
To be able to determine my journey, the following outputs are what I aim to achieve at the end of the journey:

- Contribute to a JavaScript open-source project (at minimum once)

- Create a portfolio of five unguided projects

- Understand a core front-end and back-end framework

- Document my journey


# Tenants of the Journey  
To guide the learning there are a set of soft rules that I want to apply:

- Summarise the learning conducted in that session

- Analyse and review material before committing to studying it
 
- Maintaining focus on a single guided resource at any given time

- When finishing a guided resource, create and develop an unguided project that has a specification attached before starting another guided resource

# Time Frames
Major time commitments should never be taken lightly, instead of doing a daily post as they have never worked for me in the past. A weekly posted instead will be done that is typically posted at the end of the weekend. I hope to maintain the series over a span of 52 week time frame, with a week long break done every so often. However, my progress will be tracked every three months to make sure that I am on track.

Start - 25/04/2022
End - 24/05/2022
Breaks - 28days

# Sign Off
Week 1 will be commencing 25/04/2022, this provides me a fresh start to the week and allows some upfront research to tailor my study plan and scouting of resources before beginning.

I look forward to the journey and I hope it is as interesting for you as it is for me.

See you in week 1!

~ Jack/eXit