Skip to content
View zakacat's full-sized avatar

Block or report zakacat

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
zakacat/README.md

Zak (zakacat) Toews

Introduction

Age: 31
Sex: Male
Nationality: Canadian (Ukrainian and German Mennonite descendant)
Current Residence: Vancouver Island, BC, Canada
Hobbies: Running, Video Games (but I am not good), School Projects, YouTube, Socializing, Hiking, Biking, Exploring
Personal Descriptors: Punctual, Hardworking, Honest, Curious, Comedic, Ambitious, Enterprising, Easygoing (most of the time), Contemplative

I come from a varied background (workwise), but I have a goal that I am working on actualizing. I want to be a programmer and software engineer. I am currently in my first year of engineering studies and I very glad that I came back to school. I am also a Red Seal Journeyman Iron worker, which is a bit unrelated, but the transition of work type does not scare me (maybe it is a bit intimidating) because I think I love learning new things. The first year of Engineering at my college has a very open pathway that can lead to many different disciplines, and working in construction for 7+ years, I thought that doing civil or structural engineering was a perfect fit. Even so, I found myself drawn to programming. In my first semester of CPS (using Java), we were taught some basics and my virtual world opened... but it soon felt closed again. I was working with JavaFX on my winter break (yes, willingly). I started a course as an elective which was Introduction to Android Development, and I then realized that this is a tool that I want to become proficient with. This is something that I can bring along with me, perfect, get summer work, and truly dive into the deep end with. This is the tool with which I will enjoy proving my knowledge. I can test, run, share with friends, and research endlessly with Android.

I would absolutely love a job that would give me the freedom to constantly challenge myself intellectually and travel the world. People may use the term digital nomad, and that may be a fair assignment, but I have been nomadic almost my entire life. I am just digitizing.


Current Goals

  • Get a part-time job with development (For the fall semester 2021)
  • Continue education with an intent to get the best grades possible (translated as- to take away as much from the course as possible).
  • Create an impressive app to hopefully become available on the App Store.
  • Contribute to an open-source project with like-minded people.

Related Skills

Here is some anecdotal evidence of certain skills that might be sought after in a potential employee.

English

My grades in high school were not good, but I always had a bit of interest in story telling and communicating. I wrote poetry often in my spare time as a teenager, and I have written some well-reviewed short stories. This subsided for some time until, when I was 26 and living in Alberta, I chanced upon an opportunity to teach English. I took a TESOL course (with certification) and soon after I found myself in Colombia teaching English. I enjoyed it... a lot. I started to appreciate the more technical aspects of English and was brought up to date with the grammatical rules that governs it when I had to teach it to the old and young alike.

English IS communication, and communication is how we as humans share ideas, thoughts, opinions, and information. English is the necessary basis for documentation, and documentation is a critical tool for communicating information.

Work Ethic

I have worked in construction for many years and although it may seem unrelated to this current field that I want to pursue, it has ingrained some priceless habits and values. I wake up early, often before dawn, and I am (almost) always at least 5 minutes early for work. I understand that a engaged, long day of work is a necessity for the vast majority of the world, and I am no different. I try and get along with not only my peers, but my superiors as well while respecting that even though our roles within a cooperation may be different, we are all a similar species pursuing similar goals. Not to ignore my own wellbeing, or the wellbeing of others, but some days require harder work than the rest and, depending on the context, the slow days should still be utilized for often-neglected tasks like cleaning, organizing, and documenting. Safety takes a larger role in construction than most fields, but it has some important precursors such as planning, communication, and a trust of other's information and experience. Work is dynamic even when it becomes easy to get complacent, and complacency sometimes leads to mistakes but always stagnation. In any profession, I think it is important to always challenge yourself whether if be obtaining tickets or certificates or refreshing old knowledge.

I think a person should strive for an engaging, fun, fair, productive, constantly improving, and of course profitable workspace.

Leadership

Leadership roles are not something that I usually seek, but they seem to be something that I have attained skills for, and I feel that I usually do good by my subordinates and my superiors.

As a journeyman tradesperson I have been often asked to work alongside young and/or new workers. They may need extra guidance, and sometimes they may not ask for it. Luckily, in this position, the roles are clearly defined, and it is not only my job, but it is also my responsibility to share as much pertinent information that I can, especially when it comes to safety.

As an educator and English instructor, the leadership role is paramount, often needing to direct the entire workflow of the class. There is a different kind of responsibility that comes with this role and that is to ensure that one never knowingly passes on incorrect information. An educator's responsibility is to create an effective learning environment for the students to be able to absorb new information. This effective learning environment relies on many things that the teacher must dictate. A rapport should be initialized early, and effort should be given to maintain that rapport. The classroom/workspace should be orderly. There should be clear goals/objectives. The students should be able to prove their knowledge. There should not be (and this can be tough) a lack of information to pursue for any student. And, given proper time and materials, as many different forms of teaching as possible should be implemented (see 'VARK' learning styles).

Tech Savvy

I just think tech is cool, plainly put.

As a kid, I enjoyed Legos, Knex, and Spy kids toys. The first computer operating system that I had was a Windows 95, and since then I have always had a computer. I have been playing video games and using programs like word. I recall even making a fake report card as a young teenager, but not to show good grades, but to show terrible, failing grades, and I almost gave my mother a heart attack. The irony of this, is that my marks in grade school eventually became mediocre...but that was a different time. I like the newest laptops and phones and sound systems, even if I cannot afford them. In my Engineering Design course recently, we created basic robotics using an Arduino kit and that was a lot of fun. I am not much for understanding electricity, but the programming and physical design was cool.

I get excited about space exploration and the recent rover landings (and the even more recent helicopter flight!). I am excited to see humans land on the Mars in my lifetime - and I would volunteer to go if I could.

I have never had a flagship phone. I am bit behind the curve, but I think there is still a whole bunch of possibilities waiting to present themselves in the realm of smartphone tech. This pocket-sized computer was once the thing of science fiction and leaps and bounds have been made with their capabilities. People spend so much of their time on their phones, and they are not just tools anymore, but they are also casual communicators and toys. Besides making or helping make phone apps, I would like to be part of the emergent physical technologies like foldable-screen phones, smartwatches, or AR glasses.

Adaptability

I mentioned the nomad part in my introduction, but I have been moving around my entire life. Since I was a child, my parents have lived in different provinces, and I have been moving back and fourth between them. After high school, I went to live in Saskatoon for a few years and then I lived in central Alberta for a few more. I then taught my first gig in Colombia, moved back to Vancouver Island, then moved to Colombia for a year. I returned earlier than expected due to the pandemic and I am currently living on Vancouver Island again, but bouncing back from Victoria (where work is) to Courtenay (where my mom and step-dad are). I have also had different jobs (and often different vehicles) that went with these different places. Being adaptable to new situations, new circumstances, and even new languages is very much a part of who I am. In this industry especially, I understand that people need to be up-to-date with their own proficiencies as well as learning new ones. I like the idea of learning being a constant state in my life.

Spanish

Voy a intentar a explicar sin tranductor.

Quiero apprender mas espanol. Yo vive en Colombia por un ano, y mi espanol podria ser mejor. Si hay opportunidades para trabajar con clientes espanoles, entonces quiza yo podria hablar en espanol un poquito. El mas de espanol conozco es por esenando ingles, entonces sabo sujectos, objectos, adjectivos, verbos, sustantivos, oraciones, structura, conditonales, imperitivos, y mas.

Donde esta el bano?


Experience

(In chronological order)

CPS 100 (with Java)

Course Description:

"This course is an introduction to computer programming. Students will be introduced to problem solving methods and algorithm development using the object-oriented programming paradigm. The students will learn how to apply problem analysis, program design, and program implementation while using the top-down and stepwise refinement design methods. The course also provides an introduction to the object-oriented programming paradigm and recursive functions. The content of this course will provide a sound basis for later courses in computer science. Note: Basic computing skills are assumed." (North Island College Course Catalog)

Included Concepts:

  • Object Orientated Programming
  • Classes and Methods
  • Variable Types (encapsulation and primitive data types)
  • Multidimensional Arrays
  • Conditonals
  • Loops
  • Static Methods and Classes
  • Abstract Classes
  • Parent/Child Hierarchy and Inheritance
  • Recursion*
  • Searching (Linear and Binary)

I would like to brush up again on a few of these topics.

JavaFX

Not a course but a subsection of the text from my CPS 100 course. Similar concepts were covered in regard to JavaFX specifically. Generally, I understood how to create a fully interactive single pane (window or activity). Many UI concepts transferred over into Android Development such as View widgets, layouts, and event handlers. JavaFX was not included in CPS 100 so I studied it during my free-time of the 2020 winter break.

DGL-114 Intro to App Development

Course Description:

"This course introduces application (app) development for mobile devices. Students will learn how to install and configure appropriate Integrated Development Environment (IDE) for mobile app development and how to leverage IDE features and tools to build functional mobile apps. Platform-specific design patterns and app life-cycle features will be introduced as part of this course." (North Island College Course Catalog)

Included Concepts:

  • Android Studio IDE
  • Layouts
  • Widgets
  • MVC model
  • Resources, Styles, and Themes
  • Debugging
  • Activity Lifecycle
  • Screen Rotations
  • Save State
  • Implicit and Explicit Intents
  • Menus (App Bar and Context)
  • Dialogs
  • Touch Gestures
  • Local Data
  • Databasing with SQLite and Room
  • Recycler View and Cards
  • Background and AsyncTask

Related Repositories:

Android Fundamentals by Developer.android.com

Course Description:

"In the Android Developer Fundamentals course, you learn basic Android programming concepts and build a variety of apps, using the Java programming language. You start with Hello World and work your way up to apps that schedule jobs, update settings, and use Android Architecture Components." (https://developer.android.com/courses/fundamentals-training/overview-v2)

Included Concepts:

  • Text and Scrolling Views
  • Android Developer Resources
  • Activities and Intents
  • Activity Life Cycle and Intents
  • Implicit Intents
  • Debugger
  • Unit Tests
  • Clickable Images, Input, Menus, Pickers, User Navigation (Up arrow and Navigation Drawer), and RecyclerView
  • Drawables, Cards, Styles, and Adaptive Layouts
  • Espresso UI testing
  • AsyncTask and AsyncTask Loader
  • Broadcast Receivers
  • Notifications
  • Alarm Manager
  • JobScheduler
  • Shared Preferences
  • App Settings
  • Room, LiveData, and ViewModel

Related Repositories:

Kotlin Bootcamp for Programmers by Developer.android.com (Work in Progress)

In the Kotlin Bootcamp for Programmers course, you learn the basics of Kotlin as you create various small programs in IntelliJ IDEA. The course materials include course codelabs with suggested homework assignments. You'll get the most value out of this course if you work through the lessons in sequence, but it's not a requirement. Depending on your knowledge, you may be able to skim some sections." (https://developer.android.com/courses/kotlin-bootcamp/overview)

Included Concepts:

  • Kotlin REPL
  • Basic Syntax
  • Data Types
  • Operators
  • Variables (Var & Val)
  • Booleans and Conditions
  • Arrays, Lists, and Loops
  • main() Function
  • Defualt Values
  • Compact Functions
  • List Filters
  • Basic Lambdas
  • Higher-order Functions
  • Classes, Objects, and Inheritance
  • Collections, Constants, and Extension Functions
  • Pairs, Triples, Lists, and Hash Maps
  • Generic Classes
  • Annotations, Labeled Breaks, and Single Abstract Methods (SAMs)

Related Repositories:

  • Nothing to show, yet.

Plan to Pursue Software Engineering and Android Development in the Long Term

I would like to continue with the courses that are available on developer.android.com. I am also considering the certificate that is offered, but I am not sure yet if that would be worth the cost of the exam. I will keep an eye on Udemy for related courses. I would like to create mini-capstone apps for these courses that showcase all the concepts that were taught. I also have a couple app ideas that I would like to work on. I won't be in another programming related course until Winter 2022 by the looks of it (CPS 101 with Java).


References

I have made myself an asset at every job that I have had. I have reference letters and/or numbers of references available by request.

*Recursion*

Popular repositories Loading

  1. DGL-114-ProcessPortfolio DGL-114-ProcessPortfolio Public

    1

  2. zakacat.github.io zakacat.github.io Public

    HTML 1

  3. Color-Match-Game Color-Match-Game Public

    First Assignment from Intro to App Development

    Java

  4. Dice-Roller-App Dice-Roller-App Public

    Second assignment for Intro to App Development.

    Java

  5. To-do-List-App To-do-List-App Public

    Third assignment for Intro to App Development

    Java

  6. Recycler-Database-App Recycler-Database-App Public

    Fourth assignment for Intro to App Development

    Java