Jump to content
Larry Ullman's Book Forums

Am I Starting Off Too Ambitious


Recommended Posts

I am very new to Javascript programing. I haven't actually wrote a real Javascript program yet, and have only minimal exposure to PHP. I have worked through Modern JavaScript Develop and Design,  and have PHP and MySQL for Dynamic Web Sites also.

 

My question is if being over ambitious with my first program is a bad thing. The program that I am writing is actually the reason that I started looking into Javascript to begin with. It seemed like it would be a fairly simple project that I would be able to spend a few months learning, and start writing the code. The project ended up being a lot more advanced than I had anticipated. There are many reasons for this, but the main ones are me continually adding features that I hadn't initially planned, implimenting some features that were more difficult than I had anticipated, and probably the biggest reason, that nothing is ever as easy as it first appears.My plan is to just go with it, and rewrite the code as many times as it takes. If it fails, it will just be an invaluable learning experience.

 

Without going into details, it is basically a league scoring system. There are 6-20 teams in each league, and 4-6 players on each team. Each match consists of the individuals on each team going against each other, with the winner getting 10 points. Both individual and team scores are kept, and the team scores are handicapped based on the individual averages. The goal is to make it available on mobile devices so teams can enter their scores at the end of each game, with real time updates and standings based on new scores being entered.

 

In the original design phase, I ended up with about 10 tables, and maybe 6 joiner tables. I do have much of the logic worked out in my head as to how the program will work. My biggest concern is that the project gets scrapped because I got in over my head, but I believe I will be able to get it done, it just might take a while. I feel I am giving myself a fairly generous time table, hoping to have it done by next spring.

 

Any suggestions would be greatly appreciated.

 

Link to comment
Share on other sites

If you're still new to both PHP and JS, then yeah, it might be a bit too ambitious.

With that said, I think that the best way to learn is to find something you're passionate about and pursue it.

 

Something you said really caught my attention: "... me continually adding features that I hadn't initially planned, implimenting some features that were more difficult than I had anticipated, and probably the biggest reason, that nothing is ever as easy as it first appears." That caught my attention because those three points are the hallmark problems of every project. In other words, you're in the same boat as every other developer in the world. With practice and time though, you'll learn how to better curb those problems.

 

So my recommendations are these:

- Keep going with your project. Set a deadline, but don't be heartbroken if you don't meet it. The important thing here is the learning experience.

- If you feel that something really is too big, instead of not doing it at all, try to reduce the scope so that it's doable. You can always launch with a particular feature set, and then add on features after launch.

- Use these forums to get help. Ask any questions you have regarding general implementation or how to just straight-up code something. We will try to assist you so you can reach your goal.

 

So yeah, I say go for it and good luck!

  • Upvote 1
Link to comment
Share on other sites

What you need here is planning. You already have a specific goal and a reason for learning how to program. I would thus suggest you look into something called agile development. While it may sound like one of those fancy buzzwords flying around - and maybe it is to some degree - it will give your project a sorely needed structure.

 

I'm not a sales man and won't try giving you a pitch here. In short, agile development is a framework and a toolbox to help you with planning small programming project for smaller teams. You break everything in the project down into smaller pieces (implementing tournament types, match events or point rules) and set individual deadlines and milestones for those parts. This will allow you to plan out each piece of the puzzle individually and will allow you to track progress in a better way. It will also force you to make sacrifices (do I have time for the fancy feature, or should I drop it?) and keep your head focused on the goal.

 

Agile development might not fit your needs, but make sure you at least deploy some kind of structural system to the development. It's a vital step to make sure everything doesn't boil down to nothing.

 

I'm a huge football fan btw, so this sounds like a fun project. I don't really know what you are doing here, but feel free to contact me if you are considering co-developers. I'm currently working on something that shares a lot of the common codebase to your project.

 

Forza Juve!

  • Upvote 2
Link to comment
Share on other sites

Thank you both for your advice. This is something that I am passionate about. In fact, it is to develop a system for a league that I am currently in. I continually get frustrated waiting for the current standings to come out. We play once a week, and the new standings usually don't come out until the day of league, and the matchups are determined based on player ratings. Everyone likes to know where they are at in the standings, and hate having to wait the week to get the new standings.

 

I will definitely look into Agile development. It sounds like it is for collaboration projects, but could also help break the project into smaller pieces so its not quite so daunting.

 

I believe I am about done with designing the database. I will start breaking it up, and then start some coding. I will definitely come back here if I have any questions. and provide some updates on the progress.

Link to comment
Share on other sites

Glad to hear you're passionate about it.

I definitely think you can do it.

 

Also, you're right in that Agile is usually for big projects (I currently work in an Agile environment), but the concept of breaking the project up into small, digestible pieces can be applied to any project.

 

Good luck.

Link to comment
Share on other sites

 Share

×
×
  • Create New...