Programming and Education about Programming

The main target of this article is to answer different questions that I get about programming and process of learning programming. The questions are usually comes from people who working in different programming language and want to learn to new one, information about programming academies, about programming, and how hard is language. That’s why I think article may help to people who want to start to learn new programming language and who all ready did start. (The article mostly about how I think and about experience that I had. Generally I don’t think there might be the so much different between different countries, but this is also open topic)

Programming and Being Professional in Programming Language

Programming basically is not an easy but therefore an enjoyable work/job.  Of course this is relative to the language you use, work you do, application you do and so on. Anyway as a description I could say Programming is not learning a programming language, programming is learning to be able to program. I think programmer should be able to see programming language it is not as a target that have to reach, instead have to see as a tool that he/she have to use. A programmer should be able to work in more than one programming language. If you are able to use ActionScript 3.0 there is no reason why you can not program in Java or JavaScript. Of course syntax of those languages may be close to each other but my point is if you are able to program in certain programming language you should also be able to program with some other language too. The key point is the learning basics of the language, with other term learning the syntax. Rest of the knowledge you need you will get it piece by piece when you need it.

I don’t want you to get wrong. Being able to programming and being professional in certain language is totally different things. Being good in programming will help you to work with different platforms much more easily. But being professional in programming language means developing your self in certain field. Being professional in certain language is always give you chance to work in the better place and certain kind of works with it.

For instance, I am a web designer. The markup and programming language that I use usually is Css, HTML, PHP, MySql, JavaScript. But my main professional area is ActionScript 3.0, I focus on this language. If any company that I work with gets any project which including Flash, Flex or AIR they contact to me. Because it is the area that I mainly focus on. But more than 60 percent of the works that I get I am using those platforms that I listed above (Css,HTML,PHP…). The difference is no one will not call me because I am good in PHP, but I should be able to design dynamic Flash site which is working PHP on background. At the end this is a small example, we all know the number of tools and languages we use is more than that. For example I am not in to it C but I am working with Pixel Bender.

There is a huge difference between web and desktop programming. In web programming you might be professional in one field but working in other fields which is related sometimes is necessary sometime you have to do it. If you are working with Flash and ActionScript probably you might need or you have to use those platform as below;

PHP, MySql, JavaScript, XML, CSS, HTML

Of course they are one of the basics of the web programming. Maybe instead of PHP you could use ASP.Net but rest is necessary one way or the other.

Learning Process

Being programmer is a process. You can’t be a programmer by reading a book, either taking class won’t make you programmer. Unfortunately you cannot be programmer by studying in university either. I hope you don’t get me wrong in this point, for me being programmer is result of a long term working process. What I mean is you cannot learn anything from the books which has a title “Learn C/C++/AS 3.0/Java in 24 Hours”. If you have a capability of learning a language in 24 hours than you don’t even need that book. You become a programmer after many years of experience.

I think ideal time is between 7 and 10 years. You may have a good knowledge of language, you may know the week part, mistakes, positive and negative parts but all of those don’t make you a good programmer. A good programmer wouldn’t like the code which he/she wrote in past. Idea is simple actually ; process of being good programmer is long, so for example you work in similar project that you have work 5-6 months ago, than you realize code differences which you wrote before and which you wrote recently. New one supposes to be a better and cleaner event more useful. This is also a sign of self development. Much is you develop your self you will see the mistakes you are making and you wont do those mistakes next time when you code. You may write the same application that you wrote a year ago with 300 lines which was originally 800 lines of code.

Education about Programming

You can get education from different private schools(Programming academy,Programming training center, etc). I have no knowledge or idea which school or institute is better. Some of them are really good maybe some of course turn out so bad. But I also been witness a lot of people which can not do anything but took 1,5 year of education and paid a lot of money to those private schools.

Education of Programming is relative to person who is taking. Some people take 6 months of training and knowledge of that person increase just a bit. Some people quit after 4 month because that person think training is not good or not challenged enough. The point is your personal capabilities and your process of learning. If you think you can learn alone by having book will be enough to start to learn programming language. But if you don’t want to be alone in learning process and having people around which can help you when you need you can also go to one of private schools.

My personal opinion is, that you should choose the one which is better for you and one fitting your process of learning. Some people learn easy, some people get bored by working alone, some people love to read book, some love to work alone, so you should know better which one is fitting for you best. After finishing a book or training course in private school you should not mistaken that your knowledge might be complete. There is still a lot you haven’t been taught. That is just a beginning and going forward is only possible by practicing. On theory a lot of thing is much more easy and simple. But in practice you will be face to real problems. Each problem as equal to a question, and each answer will help you to solve new problems much more easy. Which I would say is basics of self development.

Up Shot

Being programmer is long process of working. As process is taking so much time there will be lots of effect which will slow down your learning process. But biggest effect is working place. Your working place will redirect you the area is necessary in that moment. This sometime might be good sometime might be bad. This is more up to where you working. If you think where you working currently is not good enough for you and you can do better works in better working place my advise is you should do it. In some country’s web design and programming still doesn’t get the attention as it worth. I know that from my own country so well.

Take Care
Engin

Leave a Reply