How To Get Better At Computer Programming
Going From Beginner to Intermediate Programming
How Do We Get Better At Programming?
The answer to this question isn't going to be simple and will require we take a few steps into the world of code. Let us talk about some things you should know before you read on.
- You should have a thorough understanding of how to declare variables
- You should have a thorough understanding on how to use compound assignments and iteration statements as well as when not to use iteration statements.
- You should now have an understanding of how methods and classes work and the difference between the two.
- You should become familiar with overloading and using catch statements to define your data and prevent common errors associated with input.
- You should be able to create and manage classes, create arrays and list, collect to arrays and list, and depending on your language be able to use inheritance and understand OOP programming in general.
If any of these concepts are unclear to you then perhaps you should take some time and research them as you will need them all moving forward.
Getting better at programming takes a lot of practice and learning but at this point a lot of people start losing their way and wonder where to go next. There are many options ahead of us so buckle up and let's take a look at the routes we can take.
GUI Programming Is The Next Step
Most of us have been programming in console at this point. We have created many interesting programs but they haven't always looked the best. It is time for us to change that. The above video is a look at QT GUI programming for C++. You can use Visual Studio for most languages as well. I would encourage you to review tutorials on your chosen programming language with YouTube to get an idea of what you can do from here. Our code has been pretty much solid at this point but with GUI we will begin moving things to certain buttons, boxes, and forms. Our ability to get information from the user will change but most of what we learned will stay the exact same at this point.
While some programmers never use GUI, it is always a good idea to learn and know how to use it. You will need the knowledge moving forward and it will help strengthen the skills you have already learned. Consider you are writing a program that can track inventory and take orders. Your company sales five different kinds of books with five unique ISBN numbers. Each book is priced differently and there are different amounts of stock available. Imagine writing this in a GUI setting. What forms would you need the user to fill out? How would we allow a user to search our program? What tools could we add to help the user print, information after their purchase. These are things to consider moving forward.
Must We Choose
Time to Consider a Career Path
Don't let this scare you but it is likely time we start looking at our options moving forward. We have learned a language that will make it much easier to learn other languages. We are becoming decent at using this language and we understand some core concepts. It is time to try new things and learn new ways to code. At this points I would advise you start considering where you want to go with your programming career or hobby.
The two options:
Back end programming
From here we find a ton of directions to go. There are many languages that work together and we must start considering those we may need. Start looking at job listings and what the requirements are. For now ignore the experience, we still need knowledge and there is still a lot of work to be done.
Read up on different languages that job listings in your chosen language have listed. Try translating some of your current programs into this new language if possible. Use YouTube and other resources to really get a grasp of similarities and differences.
Consider Open Source
Open Source Code and Open Source Projects
You may be thinking, "Wow, slow down there bud", but it's time to set our fear of coding aside and move into the social world of programming. Here is where we get more experience for our resume. There are several options available to us and I will list a few but first I want to break down what Open Source means for our journey to becoming a better programmer.
- What is Open Source? - Open source means there are not copyrights to worry about in most cases. It is either code or a project this is available for outside programmers to join in on learning or developing code.
- Can I make any money- Yes! Plenty of open source software has made lots of money. At first you may not make much but some developers use open source as a way to reel the public into an idea. Then as it grows popular new features or sub programs are added for a small cost. Eventually a subscription type of system is set up and then the program begins making money. There are other ways to make money with open source too.
- But I don't think I am good enough yet- You don't need to be a great programmer to join open source. You will in fact open yourself to tons of resources and the ability to view tons of code. Open source has many levels of contributors from those who read emails and pass information on to those who read bug reports and work as a sort of help desk. You will gain experience as a team member and eventually you will gain enough knowledge to move into programming aspects of the project. Check out this Open Source Blog for more details on this process. I will write my own blog on it in the future.
- Can I really use someone elses code to help with my project- Yes, but I would advise spending the time to find out what the code really does and understand how you can use it as your own.
Other Ideas and Challegnes
The above video labeled 'Other Ideas and Challenges' gives some great examples on things we can do to become better programmers at this point. You want to challenge yourself with projects that are out there. You can enter contest and join communities who focus on making each other better. This will allow you to get tips from pros and increase your knowledge in programming as a whole. It's time to stop being reclusive in our learning and branch out. Make sure you understand the core content and ideas behind programming and review them often. This will help you debug issues in complex code along the way. Becoming a world class programmer can take 10 years for some people but some achieve it in as little as 3-6 months. We all learn at different rates so don't get frustrated and keep at it!
The World Is Your Library
Build Your Library Knowledge
I am not just talking about libraries inside of the language, go out and buy books. Many of the Programming For Dummies books offer quick references to code and concepts and can be kept at your desk as you code. These books simplify things and make it easier for you to dive in and find the issue with your code. They are also great for helping you come up with creative ways to create new projects. Most programmers have an extensive library at their finger tips. I personally have a collection valued at over 900 dollars but to start you only need to spend around 100 bucks at your local book store. Now let us move on to programming libraries.
The following are websites you should get to know as they contain detailed information on libraries and code from professional programmers and developers:
- Stack Over Flow - The QA sections of this website is excellent! It can be searched rather easily and you can find many posting, conversation, articles, examples, and video on content you are looking for.
- GitHub - GitHub allows you to do all sorts of things. You can store code, find others codes, join open source projects and learn from tutorials as well as ask questions from programmers. The site is 100% free unless you want to keep your personal code private, then you pay a monthly fee of around 5 bucks.
- Dream In Code - Just like Stack Over Flow , dream in code gives you forums to ask questions and research concepts and ideas for your project. You can find coding examples and you can find resources to help you find employment. You will also find the occasional listing for open source programs and many detailed post and blogs on amazing libraries that offer new flexibility to your programming abilities.
These are just a few of many sites that can send you on your way. I would also recommend you start looking into certifications for your chosen language. You can review practice test and focus on learning material to obtain a certificate. These certification hold weight with employers and also help you learn the language better. If this is your hobby than for nothing else you could just have a cool looking certificate to hang in your office. Remember that practice makes perfect for us all and I wish you guys luck on your journey.