How can I learn new programming languages and database stuff on my own?

By mcmahone ·
I am currently a student in my 3rd year into a BS in Computer & Info Tech and I posted the other day about being concerned with the limited programming and database knowledge I will exit school with. To summarize it, when I first started my degree I had no idea what precisely I wanted to do in the field. Now I have narrowed it and know I want to either write code or work with databases, but my school doesn't offer many programming or database classes and I worry I'll be laughed at when I try to look for a job. I'll only come out knowing (very basic in all) C#, Java, HTML, CSS, SQL. There will be a couple courses in database administration.

Eventually I'll try to get an internship but I don't even think I'm prepared for an internship right now; it's been a couple semesters since any programming courses and I can hardly remember any syntax for the little I have learned.

Anyway, many of the comments I've gotten in posts have said something to the effect of "You need to learn to program on your own". So my question is: How?

I am a good self-teacher, and good at finding answers, but I wouldn't have any direction, which is something a person like me can't function without. I need some sort of structure even if it's vague. I need to have a goal - ie; "Write code in this language that accomplishes this." and something that is realistic for a novice programmer to take on. I'm not creative, I can't make up a project out of thin air. But even if I could, ideally I'd have SOME guidance similar to the specifications my professors give in programming assignments, and it would be appropriate for my level. So where do I find projects to tackle? Websites, Books? Programming for Dummies? I know there has to be something out there.

This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Answers

Collapse -

Most dev positions are more concerned with experience rather than

by Slayer_ In reply to How can I learn new progr ...

Specific language knowledge. In the end, most languages are very similar, an experienced developers should be able to learn any language on the fly.

Collapse -

There's creative and creative

by Tony Hopkinson In reply to How can I learn new progr ...

You don't have to be able to invent the next big thing in gaming, to be able to write a game that fits in with it. They boys who came up with Doom and Tetris were big ideas boys, an absolute shed load of people have cloned the idea though.
You are doing network admin, look at automation, maybe it's a script to do a couple of things, taking a lan report and massag8ing it in to an nice output, a little ticketing ort task system. a littel dooad that runs msinfo and emails the results to a mailbox then something to crawl through the contents and extra an report information.
How about a little gui front end for net commands with nice boxes for the many parameters?

If it was the net command thing, your first thing would be some sort of form with the varuious commands and when you click on them they put a "message box saying I haven't done this bit yet"

All your choice has to be is useful or interesting to you. That could be an automation tool, or trawling through the web for every jpg you can find with blond in the name, doesn't matter.

Given you want to learn languages and you have done a bit of .net, perhaps starting with C#, most of waht you learn will be .net anyway.

Just get on with it, if you have, you have a degree you know the differ4ence between do while and while do, job's a good 'un.
The HR numpties will only be looking for keywords anyway.

Collapse -

Try solving some simple problems

by robo_dev In reply to How can I learn new progr ...

I hate to say that books are useless, but the Internet can give you 99% of what you need. There are millions of sites with code samples, programmer forums, even sites where people pay for freelance programming.

What I would recommend is two approaches:

a) Check out a site like and see what kinds of programing needs there are. Don't let this discourage you, just look at this as a way to see what skills are in demand. Also look at job postings to see what skills are most wanted. This way you don't spend all your time learning, for example, Microsoft Access database when the market needs people who know Oracle.

b) Load up applications and servers at home and see what you can make work. Overall, it's valuable to know how applications such as web servers and database servers work, and how to configure these systems.

As an IT person in general, the broader your skill base, the better. While it's quite possible that you may get a very specialized job at a large company or as a contractor where you just work with databases or work with code all day, it's just as likely that you may do some installation and configuration of applications, or server performance tuning, which would be more likely at smaller company.

Collapse -

And make sure you have a good grasp of programming *in general*

by seanferd In reply to How can I learn new progr ...

If you do, you can easily pick up programming <i>languages</i> as needed.

You can read some of the programming and development blogs here for some example of self-teaching. Justin James is always trying something new and unfamiliar, and blogging about it. Chip Camden and Chad Perrin also blog on their forays into new territory. Plus, you'll probably see some articles which, while not directly on the topic of trying a new language or framework, may give you further ideas. They all participate in the discussions on their articles as well. (How cool is that?)

Collapse -

List of Programming languages learn online

by ravi922 In reply to How can I learn new progr ...

Here are programming languages list, top programming languages list learn some basics, evolution about it in depth. Know more about operating system, software companies list, software, online games and lots more at

Collapse -

Be careful with getting stuff on line when you don't

by Tony Hopkinson In reply to How can I learn new progr ...

know what you are doing. Unfortunately the same can be said for a lot of the suthors of the stuff on there.....

The best way for you to learn is the the way you learn best.

Collapse -

Search Free downloads

by jeremy.nieuwoudt In reply to How can I learn new progr ...

Search free for free downloads and get down and dirty. If you want to get involved with SQL then two databases that stand out are SQL Server Express (the free versions of Microsoft's SQL Server), and MySQL. My recommendation would be to bury yourself in SQL Server Express because whatever you learn here will hold you in good stead for a lot of future job opportunities. Microsoft's SQL Server is considered the defacto industry standard (and this is coming from a former Oracle DBA). There is also a lot of help around for Microsoft SQL Server, and plenty of free online tutorials to get you started, including a few on Microsoft's web site.

Go for it!

Collapse -

Reponse To Answer

by rmaleshri In reply to Search Free downloads

SQL Server 2008 is a good one. I have learned and practiced and also have some experience with Oracle 7. Unfortunately, my employers doesn't provide me any opportunity for hands on experience and I am stuck to Desktop Support role. I cannot afford to change my job. Any advice on how to gain experience and become an expert so that I can be confident enough to leave this job and move to a DBA role in a different company ?

Collapse -

Approach it from the building blocks principle

by rwb1912 In reply to How can I learn new progr ...

Hi There,

I understand your frustration and that you currently feel like your spinning around in circles. Getting a sense of direction in our field and what makes your wheels spin can take some time and you'll find that as you gain more experience and move into the exciting world of IT, your path will change over time as your interests will change.

A great point of entry is Microsoft. You won't got wrong by learning (or in your advancing your knowledge) dot net and C#. A great place to start there is

And follow that up with their virtual labs,

This will be a great basis for you to build up your skills. Microsoft is very good at helping people start out, they also provide you with the necessary tools to help you start coding. You can download for free their dot net express editions and this includes SQL Server express which is a great database platform.

A couple of alternative web sites that can guide you along the way are,

Once your up and running there are plenty of other sites which will help you advance your skills.

Also, check out your local library as they will probably have a few programming books to help you along the way.

An important thing to remember, don't be afraid to learn and make mistakes. It a part of the learning curve and we have all had to go through that.

Best of luck

Collapse -

Re: How can I learn new programming languages and database stuff on my own?

by sitebro03 In reply to How can I learn new progr ...

I have had to learn programming from scratch myself and it was equally confusing for me, especially because I got my university degree in a completely unrelated field.

I had a browse through several different languages (there are so many of them out there, its hard not to get distracted or discouraged)

What i did was first understand the basic principles of programming, which made me realise that all programming languages used the same basic principles with differences existing only in their syntax(vocabulary structure) and purpose.
I then identified what each programming language was designed for and grouped them according to purpose (Web development, desktop GUI, database or mobile).
Next I needed to determine what types of programmes I wanted to develop. That helped me make a shortlist of the programming languages based on the groups I identified. I was now able to shorten my list of languages, narrowing my focus.

In the end, I came to this decision. Like you, I decided that database programming was the route i wanted to go down.
I had two options: a database, accessed via a GUI on a Windows pc, or accessed via the web.
I considered the cost of learning and went for options with the most accessible learning materials.
I eventually decided to start with Web database development using php/mysql or - these have readily available resources and are fairly easy to get setup. php and mysql are open source and can be installed on windows, mac or linux. you will need a web server, which shouldn't be a problem as php has versions for apache as well as for IIS.

for asp and mssql Microsoft has express versions of Visual Studio and SQL server which can be downloaded for free and installed on a Windows machine.

I decided to start with php/mysql with the view of trying once I've mastered it.
PHP and are similar in that they are both server-side languages so work with the same principles but use different synax.

Of course Windows technology is preferred in most enterprise environments, but xhtml/php/mysql is becoming the most popular language combination used by most web developers. Mind you, Mark started building using php.

For web-based applications, the next ingredient is HTML/XHTML which is the standard language for presenting content on the web. It's faily easy to learn

If you choose to go the GUI route you can try the option, again, using Microsoft's express editions.

For development ideas I have looked at freelancer websites like and asked friends and family who run their own small businesses if there were any processes they would like to improve by computerisation and used the information I obtained to come up with project ideas to practise with. I also scoured the internet looking for ideas (its amazing how much you can find on the internet if you know what you're looking for).

I found other websites useful as well, like, which provide resources for web development, they even have pages dedicated to SQL, and youtube where i could watch actual tutorials.

I hope my experience will help you make a decision that can clear a way through the fog which all aspiring developers must pass

Related Discussions

Related Forums