The Top 5 Coding Questions I was Afraid to Ask

I have personally read enough blog posts to know that most people are not going to read this part of the post. However, I feel like I need to tell you a little about my story in order for the things below to make sense. Those folks will likely just think I'm probably an idiot and will hopefully return to this section for clarity.

When I first graduated from high school, I really, truly believed I wanted to be a surgeon. A pediatric surgeon to be exact. 

What was that? Was I watching a lot of Grey's Anatomy at the time, you ask? Why, yes, I was. I can't imagine how that is relevant.

Anywho.. my mother (bless her) suggested I take a year off and make sure that's what I really wanted to do. I have come to realize this is mom speak for "you don't want to go to medical school, you just need an opportunity to binge watch a differnet show". This is also where my deep love of the hit TV show Supernatural was born. Since becoming a monster hunter is not exactly a viable career option, I decided to major is Marketing and Fashion Design. My dream was to eventually land a position as in fashion merchandising where I would essentially shop for a living. 

I pursued this career path with vigor for about two and a half years. I learned a ton about the business of fashion but as I got deeper and deeper into it, I realized that my options were either moving to Los Angeles/New York/London or some other glamorous place or work in retail. I had already been working, quite sucessfully, in retail management for a few years and knew it wasn't what I wanted to do for the rest of my life. I even tried my hand at entreprenuership! I owned a relatively successful online women's clothing boutique for a little bit but then decided that route wasn't for me either.

Then, I took a sharp turn into the world of nonprofit. I started working for the Girl Scouts of Western Ohio. One of my many, many, many job duties involved me directly delivering programming to girls during the school day. We had just rolled out a coding curriculum to help girls in grades 4+ understand the fundamentals of computer science. My love of coding was planted in middle school, when I would stay up until 4AM editing my Myspace profile, but it blossomed during this program. I became so fascinated with every new things I learned and felt compelled to do my own research outside of work. A very dear friend of mine told me about Tech Elevator's aptitude test and how I should take it to see if a career in coding ming be right for me. Long story short - I took it, I passed, I quit my job, and now I'm a software developer.

I tell you all this not to bore you to pieces but you help you get a clear picture of the background I am coming from. I come from just about as far away from tech as you can get. So.. without further ado, here are some of the questions I was terrified to ask when I first started this journey.


1. What is source code?

According to Wikipedia, "source code is any collection of code, possibly with comments, written using a human-readable programming language". If you've gotten this far, you've likely already heard of a ton of human-readable programming languages such as Java, C#, HTML, JavaScript,  React, Ruby, Python, blah blah blah.

It seems obvious that I could have just done a Google search for what source code was but contextually, I didn't really understand. Let me paint a picture - I followed a tutorial and built a simple recipe search application in React. I asked someone to take a look at it and let me know what they thought. What I had uploaded was the "build code" rather than the source code. Again, to reference Wikipedia, "in software development, a build is the process of converting source code files into standalone software artifact(s) that can be run on a computer". It finally occured to me that the source code was the original code that I wrote. Duh, Sarah!


2. What's GitHub?

GitHub is an online platform that provides hosting for software development and version control using git. It is also where you can find a ton of open-source projects. 

Okay, well, this sounds great but what the heck does that mean? Essentially, from what I understand at this point, it serves two main purposes.

1. GitHub is one of the services that can be used for version control. Version control helps software developers/engineers keep track of the changes they made to their code in order to better identify bugs or mistakes. If my program worked yesterday and today it's crashing, I know where to look for the mistake and/or I can roll my changes back so my users aren't running into the same problems.

2. Github and similar platforms (such as Bitbucket) serve as a virtual portfolio and/or to host open-source projects. If I build something amazing I want to show off, I can put the code to GitHub and direct colleagues or potential employers to go check out how awesome I am. Additionally, if I want to provide the source code for others to use, view, and/or edit, I can out that code on GitHub as well.


3. What is "documentation"?

To put it simply, when a programming language is created or updated, the documentation is what the developers put out with it to help others use it. Think of it like that programming language's handbook. Documentation can tell you more about the language, the features it has, how it can be used, etc. During my coding bootcamp, we learned Vue.js. You can find a link to Vue's documentation here as an example of what documentation is. However, my guess is that if you're like me, you've used it before and just didn't know that's what it was called.

As a side note, when working with open-source code, I have heard people sometimes refer to the accompanying read-me file as the documentation.


4. How Do I Start a New Project?

I hate to be the bearer of bad news but... it depends on a lot of different factors. What type of project do you want to create? What language do you want to use? To help you answer some of these questions, check out this article on How to Choose a Programming Language for a Project. Once you've decided.. check the documentation. If you really just want to dive right in and start playing around with code to see what happens, check out CodePen. This is also a great place to get inspiration!


5. How Can I Share My Project with Others?

This took me 100 years to figure out. It was probably the most frustrating thing I experienced during my time learning to write code. Turns out, I was making it way more complicated than it needed to be. Save yourself a huge headache and check out Netlify. You can find instructions and different packages depending on what you'd like to do (create a legit website with a custom domain, etc. or just have a web address so you can add to your portfolio and share with family and friends). This is a great place to start but there are so many other ways (that I am positive I don't know about yet) to deploy a project.

What does it mean to deploy a project? Essentially, it means to get it ready to use. You can read more about the process and what that means as it relates to software development here.


I hope you either found this small list helpful or feel a little better about the questions you have/had a newbie. If you didn't and you think I'm a giant dummy.. well.. oh well *insert shrugging emoji here*.


Sarah :)

Comments

Popular Posts