Common Questions By New Web Developers
Last updated 4/29/17
So lately, I’ve been answering questions from folks new to the web development field. So I decided to jot down these questions and answers.
In most cases, I’ve changed names and rephrased things so they read more clearly.
Question 1: When are you ready to contribute to other open source projects?
Here’s the expanded question:
Hello friends ! 🙂 I’ve been learning to code for 3 months now, and I’m still trying to master CSS. As an example, today I’ve been re-making flat login forms and flat pricing tables.
My Question is: When do you think would I would be ready to contribute to other’s projects like on GitHub & other groups challenges? Thank you. -John
Here’s my answer:
Hi John, I don’t think there’s a certain “threshold” of when you’re ready. It depends on the project and your level of knowledge regarding the project.
As a quick example, when I first started trying to contribute to an open source project, I picked out a project and started reading the documentation and noticed there was a link that needed fixing in the documentation so I fixed that. I wasn’t familiar with the entire codebase so it would have been extremely hard to make a “code contribution”. So I looked at the issues and fixed something I could.
I recently saw a talk where the speaker said to contribute to an open source project, you should first start by understanding all the issues/README/etc. Then there are some other stages to go through (like being able to answer other people’s questions). Depending on how much time and knowledge you have already, it may be a while before you can make sizeable contributions. It depends on how much time you have and your situation. Hope this helps!….Here is the link to the talk for reference: https://www.youtube.com/watch?v=6jUe-9Y\_\_KM.
Question 2: Can you recommend an easy tutorial on submitting a form via AJAX?
Here’s my answer:
This tutorial at tutsplus will work (assuming you have jQuery and your backend is php).
Are you new to ajax? The thingsto keep in mind is that in ajax you will need to specify an http path to the backend portion of your server that is handling the data submitted by the form…..
Question 3: Do you have any advice for someone totally new to coding trying to teach themselves?
Here’s my answer:
I think there’s 2 parts to this answer. The first part is to keep doing projects so you keep learning. If you’re really new, then trying to churn out as many side projects as you can can be helpful for acquiring new skills rapidly.
The second part is to setup a routine. Having structure and accountability (self or otherwise) can help you keep learning continuously. This is especially helpful if you can’t devote yourself full time (e.g., you have a day job). This is where bootcamps can be helpful because they are totally immersive.
Question 4: How do you make time to practice? I have a full time job and 2 kids and find my biggest hurdle is finding time to practice and then retain the information…
Here’s my answer:
The short answer is to have a goal, a plan to achieve it, and a systematic routine for doing it (please use a calendar).. If you’re having trouble retaining information, you should jot down the issues you’re having trouble with and write down answers as you find them. Then periodically review them.
I wrote about my system for planning side projects in this post and this post about completing side projecs.
Question 5: Can you kindly give me a list of math courses I need to learn in order to be proficient in computer science and coding? I’m about to go for a software engineeing certification and the tutor told me it’s very mathematically based.
Here’s my answer:
Off the top of my head the most relevant mathematical topics for Computer Science are:
– Discrete Math and Graph Theory/Combinatorics. These both usually get covered (at least implicitly) in Algorithms and Data Structures type classes for the most part.
– Algorithms and Data Structures
– Calculus, while a university requirement, has never really been necessary in practice (at least in the Algorithms classes I took, and I’ve taken Stanford’s online courses).
Question 6: Can you explain what Github is? I’m not quite sure what it is and for what projects it could be of use.
The simplest one line explanation I can think of – Git is the “version control system” with a “command line interface”. GitHub is really just a nice web interface over it that lets you casually browse through all your Git version controlled projects.
Summary
The above are questions I’ve seen or answered by people entering into the new web development field. I hope to update this list periodically.