Ask IT Career Coach

Questions
Answers
Coaching
I am a Information Technology (Major in Artificial Intelligence) degree holder, and now i have been working around half years as a software programmer in a small company.
Now the language I use to program is PERL. And now I\'m handling a project, a logistic and tracking system. But actually I just adding a few modules to the existing system.
It is a billing and inventory system. The company is working on customized software. But I am not programming using any methodology.
As I am \'Fresh\' graduate and I didn\'t get any guide since I work, so I nearly code in a cowboy style.
Can you give me some advice upon my situation?
Thanks.

Subscribe to [ASK IT Career Coach] Newsletter

Get our latest posts delivered to your inbox ...

We respect your email privacy

Getting out of cowboy coding more is one of the most difficult tasks for a new or beginner computer programmer.
Here is what you can do to get out of that mode.
#1: Focus on the big picture
One of the reasons why coders work in a cowboy mode is that they are not spending enough time planning. So, spend a lot more time, planning which features will be released in each iteration.
By planning, group related features together and identify areas where there will be duplicated coding.
For example, if you use a Contact Form in several different areas of your website and all the contact forms use 80% of the same set of features or code, it will make more sense to place all that code in a class or inheritable piece of code.
#2: Take on Business Analyst / Project Management Duties
Sometimes, you may not be able to plan your work because your manager, stakeholder, users or customers just throw the work at you and then you have to code it.
If that is the situation, you will always be reactive and operating in a cowboy coding mode. So, take a step back, put on a project manager or business hat and start going to all those meetings where they make those decisions. If your manager objects, share with him/her that you need to get out of cowboy coding mode and then then discuss this article on the disadvantages of cowboy coding
The idea is that you need to get advanced notice of new changes or features or even better, influence the company towards the direction of scheduling thos changes, so that they will get a better product.
#3: Architect / Design your Product:
Cowboy coders have a harder time architecting or designing their programs because they are just a little bit too anxious to code and they see software architecure as a waste of time.
The remedy is the same as the problem. Take time to convince yourself of the value of software architecture and then start spending as much as 25% of your time in the software architecture phase.
What this means is that you should design all the classes, members, modules and the interactions between these classes before you start coding.
Does this help?
For reference purposes, \"Click here to read the article titled: Cowboy Coder or Agile Programmer\"