
Improving my programmer skills - DarkContinent
How can I make the jump from knowing a programming language to constructing actual projects?
======
muhammadusman
Think of a small project you'd like to work on, something very small that you
can sit down and work on for about an hour. You'll realize that once you start
writing some code, you'll want to continue improving and adding more
"features".

It helps to think of some of your projects as a learning tool.

Don't hesitate to reinvent the wheel, you should definitely try rebuilding
something that's out there and you're familiar with it. It'll give you
guidance on what needs to come next and when it can feel "complete", I bet
you'll find a lot of tricky parts of that being things that appear to be very
simple at first. E.g. for a web project, for me, I always spend a lot of time
figuring out how to best organize a project, seems very simple in hindsight
but sometimes I just don't think about it when starting a project.

------
iSloth
I'm by no means a proficient programmer so take it with a pinch of salt.

Learning syntax is easy, the art form is morphing that knowledge into
something that's actually got a function or purpose, then making something
that's maintainable and secure is a whole different game again.

Most of my programming skill was improved from writing small apps to solve
something, generally something part of the day job that was boring, menotinous
or time consuming.

When I'm going to benefit from the output it's far easier to be motivated, I
find it much harder to code on side projects as they're benefiting others more
than myself...

Keep expanding and improving your small scripts, and you'll eventually end up
with a "system" which does a load of different jobs, then improve that system

------
crypticlizard
You know, imo the funniest thing happens when you find a small project that's
interesting: you solve it by writing the solution. But then wowie, suddenly
there's the thrill, the adrenaline rush, and boom! you're now asking, what can
I solve next? It happens to people putting in patches for open-source stuff,
or whatever coding it is that gets you excited.

I wouldn't say start small, or learn anything in particular. My suggestion:
get excited, get pumped up, find something fun to do and do it! Project euler
and /r/dailyprogrammer are imo both ways to amp up the fun and get in the
zone.

------
sedeki
You have to practice. What sorts of projects would you like to work on? Just
knowing the language is usually not enough; you'll have to learn some
libraries and frameworks. Also, most people learn the important stuff on the
job.

------
LarryMade2
One tactic I've used is start with modifying something that already exists -
something you kind of like already.

Certainly as you work with it you will have changes, as you work with it you
will get the feel of the structure and mod it all the ways you want to see if
you can do it different or better. Once you’ve groked that project a bit you
will realize the basics of writing yours from scratch, make something maybe
borrow code, it get easier and more you as you work on stuff.

