ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

How To Get Better At Computer Programming

Updated on April 14, 2016
thatsprettygood profile image

Cole Delavergne has been working in the Computer Industry since 2006 and graduated 2015 from Baker University with a BS in Computer Science

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

GUI Programming

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:

Front end programming

or

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

Challenge Yourself

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:

  1. 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.
  2. 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.
  3. 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.

Comments

Submit a Comment

No comments yet.

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://hubpages.com/privacy-policy#gdpr

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)