
Ask HN: Online tutor services for development - jamesdftx
Hello everyone,<p>I&#x27;m wondering if anyone has had any luck as a beginner utilizing tutors online to help with writing code. A quick google search has yielded codementor.io but I wanted to know if anyone here had any suggestions. Obviously I could attempt this through trial and error but it&#x27;d really help if I could get some proper direction.
======
hackermailman
Edx some of their courses have TAs, like this software development track
[https://www.edx.org/micromasters/software-
development](https://www.edx.org/micromasters/software-development)

Otherwise contributing to some open source project as a jr dev you'll get
feedback from Sr project members, it's how I went from semi-competent at
building academic exercises to competent at building software people actually
use.

------
richardknop
Trial error is actually a great method to learn. I have learned programming
like that as a kid. You don't really need a tutor imho.

------
tbirrell
Are you looking for someone to teach you? Or someone to help you when you get
stuck?

------
mattbgates
If you need starting basics, I suggest
[https://www.codeacademy.com](https://www.codeacademy.com) or
[https://www.teamtreehouse.com](https://www.teamtreehouse.com) just to help
you get a feel for the syntax and understanding.

I definitely am not discouraging you from hiring someone to train or teach
you, but if you go in knowing nothing, chances are, you'll be paying someone
to learn the basics, of which you can do for free and in your own time.

Once you get more advanced, you'll want to check out places like Lynda.com or
Udemy.com -- a place that often has some great sales -- dropping their prices
as low as $10 - $20 per course ($100+ value) throughout the year.

The other way, of course, is to teach yourself and learn by trial and error.
For the most part, you should learn about code libraries. I certainly am not
telling you not to write your own code, but there are plenty of frameworks and
libraries that help make it easier, such as Laravel (PHP) or Ruby on
Rails/Sinatra (Ruby) or Django (Python), so you are still writing code, but
just using common code that programmers might use often.

I took a free online course that offered insight into databases, a course
offered by Stanford. I felt so proud of myself for taking the time to try and
get it. Unfortunately, not to knock the course, but it was so technical, even
after reading thoroughly through the chapters, I was so lost. I spent time
searching the Internet for tutorials on MySQL and using it with PHP. I was
able to learn and understand it in 3 hours.
[https://mypost.io](https://mypost.io) was my first project where I used a
database and built a web app that had absolutely nothing to do with WordPress.

After some trial and error, I was able to learn what I needed to know in order
to use it in everyday practical applications. Could I have learned more
theory? Sure. I'm not the best at math (I have a psych degree, not a computer
science degree, but work full-time as a developer/designer/programmer), nor am
I that great at computer or math theory. I am good at doing stuff, making
mistakes, even sometimes wasting hours, only to realize the answer was right
there all along and I could've probably solved it in 5 minutes.

To start, and this goes for any programming language, learn the basics:

1\. "Hello World" application (learn how to output)

2\. Random Number generator application (for fun but learning how to randomize
a number and output)

3\. Input data and return data application (If I input "123", you output "abc"
.. if i enter in something else, you output "wrong")

4\. Learn how loops work and how to work inside of them (For ... Each) (Count
to 100.. but once you hit 50, output something in addition)

5\. If .. then.. conditions using variables

Once you can do this, you have already learned a great amount of information.

After, you'll want to switch to more advanced things that you will likely be
using:

6\. Learn how to use _POST and _GET and _REQUEST

7\. Set, read, and delete a cookie (use the information too! "Hi [Joe!]"

8\. Learn how to write, read, and delete information to/from a file on the
server

9\. Learn how to write, read, and delete information to/from a database

10\. Create a login / password form which actually logs the user in to a
certain area and keeps them logged in (I utilize cookies + database for this)
-- but also offer a way to log out, along with a way for the user to retrieve
their password if they forgot (send email and offer a form for reset)

I'd say these 10 items will definitely help you get started on becoming a
developer.

Another thing that I learned outside of school, at my very first job: My boss
would ALWAYS make me write the function on paper first.

1\. What is the name of this function? 2\. What does it do? 3\. What is its
overall purpose in the application?

As much of a tyrant as that boss was... I did learn how to code the proper way
because of him. In other words, the biggest mistake programmers make: They
begin writing code immediately. How can you write code if you only have the
idea of it? Write your plan out first for what that code should do, how it
functions, and what purpose it serves in the overall functionality of the
application. Then you can begin to code. You stay more focused and get lost a
lot less that way.

~~~
jamesdftx
Hey Matt,

Thanks for your thoughtful post I really appreciate this.

I'd say I'm quite proficient up to step 5 when it comes to object oriented
programming like Java / C#. I'm actually trying to get advice on developing an
android application, or well, any type of tutor for when I 'just get stuck' in
a certain situation.

I've looked at some of the JS stacks and it's all very interesting and I can
see a lot of creative potential.

------
bloby
find your own direction by not seeking any direction.

