2

IT Enthusiast — Wrong "big projects" for beginners

 2 years ago
source link: https://rodiongork.tumblr.com/post/108155476418/wrong-big-projects-for-beginners
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Wrong “big projects” for beginners

While learning how to program it is useful not only to solve enough simple exercises (to learn the language and build general coding skills) - but also to attempt creating larger projects, at least sometimes.

Though this idea is that simple, many beginners could not come up with proper idea for such a project. Though usually they are impeded by one of only few general mistakes in this choice.

1. TOO LARGE PROJECTS

image

Trying to create something far exceeding your resources is the straightest way to despair.

One guy I know is obsessed with idea of creating ultra-cool web-application in the field of tourism. For several months already he is busy comparing his future application with TripAdvisor and other “rivals” and trying to calculate his future incomes and invent more ways of getting money flow from his future site. It is needless to say his work on the site itself almost does not move. And even if he will create some great site, he still is to face the problem of promoting it.

Advice1: if you are not sure how large your project is, try to describe it as well as you can and ask about it in the forum etc.

Advice2: if you realized your project is too large - try to see, whether it could be reduced for making its “first stage” significantly simpler to reach - that is how large projects naturally evolve.

2. TOO COMPLICATED PROJECTS

image

If you invented some project about which you completely have no idea how it should work like - probably it is not the good idea.

For example, if you want to write a kind of multiplayer game for mobile platform, and found that you:

  • have no experience in writing games;
  • know nothing about servers, clients, protocols and other things important for multiplayer infrastructure;
  • have no knowledge of desired mobile platform (e.g. iOS or Android);

Then probably you should not try this right now.

Advice: but you see, the task could be decomposed - e.g. in the three questions I outlined above - and you can try to create three small projects to learn each of these field:

  • try to write small single-player desktop (or client-side web) game to become acquainted with graphics, user controls, updating and rendering game state etc;
  • practice in building small (even console-based) chat for several participants;
  • lay your hands on tutorial (e.g. for Android) and write few simple programs for this platform to learn its features.

3. TOO SIMPLE PROJECTS

image

While “Large” and “Complicated” projects are sometimes related (though there exist simple-and-large and also small-and-complex ones) this is very different.

One of my colleagues after his internship was told to create “graduation” project. He was hinted on several possible topics, but he decided they are too complicated. Instead he created some cute demo in JavaScript (he was front-end trainee). Of course he succeeded and of course all reviewers kindly said “nice”.

However he learned close to nothing new from it. Project does not use any backend or 3d party API - because the guy decided he should not touch anything he do not know.

Well, he is still sitting on the bench and waiting invitation, though several months had elapsed. Not that employer is evil, but there just are no projects for such primitive set of skills.

With the same success he could instead work on basic exercises - though he does not like exercises either - which is another problem preventing him to secure a job.

4. TO WANT AND TO DO

The last thing I wanted to say, though it is not exactly about projects.

Many people I know are too hesitant or too lazy to start working even after they came up with idea.

They are telling about such projects to all their friends and colleagues day after day, they are “considering” these projects. They are asking “whether it would be useful”, or “would I be hired if showing it to anyone” or “perhaps I can come up with better idea” etc.

I’d say that Intention is not Action. You anyway should write something day after day if you are pursuing programming career. You can think while eating, or before sleeping - so do not waste all your time on thinking.

Unless you really want to be a philosopher rather than a programmer.

5. EXAMPLES

Here I’m going to collect few links to other posts describing people’s side projects which looks relevant to their skills:

more to follow as soon as I collect them…


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK