10 KiB
Thoughts for Coding
- Is this code reusable? Or is it tightly coupled to the organization?
- Security classification of the information you are dealing with? hobbies that stack with appreciating value
What NOT to do as a developer
-
Waste time as each person should, try to think about what's the best bang for your buck with your free time. Whether that's spending time on things you enjoy or working on your career.
- Do not rebuild bother rebuilding everything in every language. Learning the basics of each is the best ie, getting good at the Blind 75 in whatever programming language you are interested in.
Brief About me Turned 25 years old this year Born and raised in Toronto, Canada Took grade 11 computer science in 2011-2013 learned very basic web development and mobile app development Notable projects include a calculator gui and creating simple app games such as whack-a-mole and mouse maze games did very well and got 90s but I did not consider computer science a career path for myself because my career planning skills essentially did not exist. Went to Ryerson University for 4 years and graduated with a bachelor's degree in civil engineering did a required computer science course that taught the basics of C which I also did well in and completely ignored the signs that comp sci was my thing Summer 2017 graduated Fall 2017 found a job in the civil engineering field and immediately realized that it was not my cup of tea really should have realized this during university or even earlier, oh if only I paid attention to what I was good at and enjoyed After 3 months of working in civil engineering I was forced to leave my company after being caught speeding on the highway to a construction site had my G2 at the time so all penalties were steeper which meant my license would be suspended and that I would not be able to visit construction sites which was vital to my job.
I know it sounds privileged but hearing my boss tell me that I would not be able to work and that he would have to terminate me was one of the most liberating feelings that I ever had in my life to the point that I cracked a smile when he said it. I sometimes look back at this critical moment in my life because if it wasn't for me getting caught I probably would have continued working in the field for who knows how long. Probably because of how I was raised in an immigrant family that knows only to work hard and appreciate whatever work you can get.
When it all clicked Unemployed for the next year and a half+ until mid fall 2019 assisted my dad with his personal delivery business unpaid had the opportunity to reflect on my life and think about the direction that I wanted to take my life fortunate enough to have my parents take care of my university tuition so I didn't need to worry about school debt. Winter 2017 to summer 2018 I was spamming out civil engineering resumes and getting rejection emails left and right Midway through 2018 was when things started to click for me and I decided I sent my last civil engineering resume and that I would take up coding as my craft and all I had to do was choose how I would go about doing that
Why I chose self-taught Why school was a no go jaded from my last 2 years of university financial burden it had, university is EXPENSIVE the time it would take to complete a program The Internet is awesome. As a millennial I realized that we could learn pretty much anything on the internet as the content is definitely out there and the only thing you had to do was just go out, find it, and put it in your head conclusion The difference between learning on your own and going to school is the guidelines + interaction + networking + school experience + fancy paper you get for completion. Self-taught has its own rewards such as saving money choosing how you learn (no assignments and crazy deadlines + unnecessary stress!) choosing what projects you want to work on to build your skills which you can double up its worth by adding to your resume learning how to learn and being able to self sufficiently teach yourself new things the satisfaction of being able to say you're a self-taught developer (doesn't mean much to anyone else but you know how hard you worked), you did that baby! If I was confident that I’d be able to find a job in the field in the same time that it would take me to finish a university degree then it was worth it at first it was scary but over time I realized how much my skills have grown and snowballed and was 100% confident that I was ready to become a junior developer or was already qualified
How I decided what to learn and the path I took to become a programmer I went on google and searched best programming languages to learn and chose Python I creeped on r/learnprogramming and other programming related subreddits and gain as much insight on the tech field and what programming is Without much guidance I did what I believe every dedicated programmer has gone through at least once in their life. Tutorial purgatory. all over the place learning how to code from codeacademy.com to freecodecamp.org What platform do I suggest learning from? YouTube! Why I suggest YouTube and why I think it’s the best learning platform (for me) FREE plenty of excellent content and search bar does a good job at getting you to the content you’re looking for Plenty of creators making excellent tutorials who take time to structure them and organizing them into playlists Being able to watch videos at faster speeds 1.25-1.5x usually for first watch through if you can digest the information at faster speeds 2x for rewatching to brush up on things finding what works best for you what works best for me are short videos that are to the point favourite is playlists with videos that are less than 10 minutes long each thenewboston codevolution excellent presentation skills are a must, enjoy watching Corey Scafer even though many of his videos go over my small brain 10 minute attention span
YouTubers that I'd like to mention for their excellent content: Corey Scafer, the best Python tutorials, the guys puts in a lot of attention to the detail of the videos, definitely check him out if you're a Python user or learning Python The New Boston for enjoyable computer related tutorial videos and playlists Codevolution for his frontend framework playlists on ReactJS and Angular Sentdex for detailed Python tutorials that goes beyond the basics.
The Struggle Starting coding again from scratch was agonizingly painful. I was struggling to code simple things that I was able to create in highschool.
learning to code and simultaneously building personal projects applying for jobs and continuously reworking my resume everyday waking up early at 5-7am to apply for jobs so that I'd be hopefully within the first few applicants. At the beginning to middle of this stretch of time I knew my dev skills were subpar but what I also knew was that I was getting better with everyday, week, and month that passed and that I'd just keep getting better as long as I kept on keeping on. Resourcing began sending me online tests and interviews and I took each of these as a learning opportunity to work on my weaknesses by figuring out why I was not cut out for the position. I was finally offered a position to work at a tech consulting firm as an tech associate What happened was that I was interviewed as a developer but got shafted and resourced onto a QA team which I didn't like at first but made the most out of my opportunity.
Computer related projects
level: beginner static html page styled with css what I learned: classes and objects simple gui interface taking user inputs using them to produce outputs
level: beginner tried to recreate a beam calculator using Python since I was still thinking about civil engineering, was never able to decent UI for it what I learned: classes and objects simple gui interface taking user inputs using them to produce outputs
level: beginner-intermediate google calendar visualization mapped data to a user interface that would display your google calendar data as graphs to give you an idea how you're spending your time (at this time I was obsessed with how I spent every hour and wanted to make the most out of it)
level: beginner-intermediate deploying personal website created a personal website following instruction from Corey Scafer's Flask tutorial series and made a mock store on it with checkout (never used as an actual store because I had nothing to sell and did not trust myself coding something to keep credentials secure) I also created a site monitor based on a different video from corey scafer that he used to monitor his sites and keep them running what I learned: Flask, front-end development and back-end development bootstrap How to deploy a website to the web how to write scripts and make jobs (cronjobs)
level: intermediate recreating the ecobee sites dashboard using web frameworks and their open API what I learned: Angular/React/Django/Flask what apis are and how to use them how frontend and backend applications interact what postman is and why it's useful how my IOT thermostat worked
FInding good content/filtering Finding good content wasn't hard and took a few simple steps of looking at the amount of view + likes vs dislikes a video had, and how the YouTuber structures their content and present concepts (do they make playlists? are their tutorials short or long? how fast do I get bored? do I feel like I'm progressing?)
Rewatching content and skipping through videos After watching a video once, if I ever needed to refresh myself on the subject I would just go back to the video and rewatch it at a higher speed, usually 2x speed. I also skipped through the video to get to the particular parts or code snippets I was interested in. Some creators even sort their longer videos out for you by providing timestamps on their videos indicating what subjects start where in the video (some people comment these timestamps too in the comment section)
Being able to watch at speed faster than 1x Being able to watch at faster speeds is so clutch sometimes. Usually when I start out watching videos from a creator I tend to try the fastest speed I can watch their videos at while being able to understand a good amount of whatever they're saying. This is usually at 1.25x or 1.5x speed. Whenever I go back to these videos to reference I usually watch them over again at 2x speed while skimming through the video.