Newbie... Need motivation.. something "real" to sink my teeth into.

2    30 Dec 2016 06:18 by u/anonnynonny

I've taken online courses in Python/Java/Javascript/HTML+CSS... done a few small test apps...

I need something "real" to advance. I was thinking of making a Linux podcast app or something just as an excercise, but that seems kind of futile.

I'm not clever enough to actually come up with a good, original idea.

How can I "get started getting started" with programming?

18 comments

1
1

I would suggest implementing something that already exists, just to learn how. Most of programming (regardless language) consists of:

  • Having a good understanding of what needs to be done/what you are trying to accomplish
  • Breaking the project down into manageable pieces.
  • Determining the best way to implement each piece in code (This will usually involve breaking the piece down in to even smaller pieces and implementing those)
  • Test each piece individually and debug as necessary.
  • Start coding the "glue" that ties the pieces together and debug as needed
  • As you get closer to completion, test the program as a whole. Debug as needed
  • Ask others to test your program. They WILL discover things you overlooked. Debug those things
  • Test and tweak until you (or your users) are satisfied.

So, pick a simple old video game like Pac-Man or Tetris and make yourself a clone. It doesn't have to be perfect or even similar. Just the exercise of figuring out all the steps you need to implement and how to tie them together into a working program will make you a better programmer in the long run. Plus...it's fun!

1

I don't think this is the bookmark I was really searching for, but it is close: https://news.ycombinator.com/item?id=11802776

While that thread started as a post for game clones in python I think I remember commenters linking to other things too.

My own suggestion to newbies is to contribute to something you use even if it isn't the easiest thing to do.

0

contribute to something you use even if it isn't the easiest thing to do.

I think that sounds like good advice. Real-world results, feeling of contribution having value...

1

Take something and make it better. You don't have to create something from scratch.

0

Yeah, my goal is to get to where I can actually contribute to open source projects, I just don't feel like I'm at a point where I can do that yet though.

I guess the only way to really find out is to start participating...

1

Just start somewhere, you will make tons of mistakes but that is how you learn. Just don't let big ego-ed bullies put you down, their big ego is to compensate their lack of development skills.

1

I don't know if www.codewars.com is real enough or not, but it's very motivating due to the gamification of your progress.

If this is now what you are looking for, here is a project from my "side-project-todo-list": An online version of Who Am I?, basically a chat app, with some extra stuff going on. I was thinking about building it with NodeJS, ExpressJS and Socket.IO, care to try?

0

Codewars looks interesting, will have to check it out.

I like your idea of the Who Am I game, but think I've settled on doing my podcast "catcher" app... I'll use it to download videos via RSS on my htpc, so it will give me real-world results.

Ideally I'm trying to get to a place where I am able to actually contribute to some open source projects that I'm interested in, but I don't feel like I'm there yet.

I appreciate the input!

1

Sounds like an awesome project, good luck with that!

There are projects on github who specifically target "newbies", by forbidding experienced developers to do the easy tasks. Since you have both Python and JavaScript on your list, PyBee comes to mind.

1

Thanks for the link! I had no idea there were projects which were that noob-friendly. Very encouraging.

0

Music.

1

Thanks for the response, but I'm not sure I understand.. My issue is I don't have a project to work on. Are you suggesting I work on a music player?

1

It has to be your idea, though. I just suggest music because it's a vague thing. If "music player" is what you come up with, you see? If it's me, my issue is that to start a project I tend to make a blank screen and stare at it with the comfort that it's blank and therefore no bugs in it, otherwise I'll cry because I kinda suck at making programs.

0

2D race war melee game would be cool.

0

You should check out Code Valley. Completely new development system that integrates the build system with the compiler. (It's 'compiler nodes' the whole way down, from capturing application-level requirements right down to opcode generation. And every node is created and owned by a developer... and every node receives a micro-payment every time they contribute to a build.)