Categories

Archives

Importance of Internal Tools for Software Company

I lot of software company don’t see the importance of internal tools for their company, what they see is how the final product should look like and they don’t care how its build. Building one software or website from the ground up or using open source framework might be good especially for the programmers who wanted to learn stuff, but this will becomes a problem especially when a new project arrives and that project looks like the previous one but its quite unique in some sort of way. Ideally programmers must program with modules or no reinventing the wheel kind of code but most of the time, especially with online media company or small company, programmers are pressured by the dead line, their peers, the lack of help from other programmers, the team’s man count (total number of people working on the project) and the outcome of the project according to the their supervisor, other team and the client. Now with all of this to worry about, will the programmer even have the time to think of making the code usable for future uses or making it a generic code?

Internal tools or tools that only your company uses, provide and maintained are important not just for the developer but also for the company, i’m no expert at in-house based software but i do build tools that could help other programmer in my team, and in the context of that here are the reason why i think internal tools are important.

1) Internal tools provides a way for your company to be above other company – having your own tools which caters to the business requirements of your company shows what your company is all about meaning you can recognize a person with the tools that he/she always use. Imagine your company is a java based company, one of your programmer uses eclipse, other uses netbeans, and others who think they are hardcore java programmers uses notepad and ant. While this is okay, your company should enforce one IDE or atleast create a small plugin that will only work with one IDE thus unconsciously making them use that IDE (lol).

2) Internal tools limit the repetitive stuff that your programmers are doing thus making a better profit for your company – most of the time programmers will rather do the same stuff again and again then build something (or even try to build something or worst even think of building something) that could help them in the future. Classic example would be copying file from one directory to another, renaming it with accordance to the new project and then changing all of the class path/package path/import path. Believe me most of programmers are doing this since they think its a lot easier and they are used to doing it.

3) Internal tools could be one of your company’s assets in the future – in context of internal tools is internal software then example of these are google’s gmail, moderator and app engine. Internal tools starts relatively small with relatively small target output but as we all know software evolves so it evolves until the time that it could eventually be a product. There are a lot of products in the IT world that just started as internal tools for their company.

4) Internal tools keeps your programmers – programmers will be bound to the tools that you provide, while this is bad for them, its good for the company. Now there is a solution to this and that is to involve them with the creation of those internal tools, they will not only know the inner workings of your company’s tool but they will be trained as well, making them an asset to your company.

5) and Internal tools motivates your programmers to think of more important things than what they think is important – what? Example: On visual studio from Microsoft, if your company has the custom components (instead of writing from ground or copying from previous project) and your programmer is about to make a software that is base on that component. Now with that custom component panel (i dont know what its called) your programmers can just drag and drop that piece of stuff, this now points us to the meaning of the statement above. Programmer will now think of the importance of the component with regards to the business logic then thinking of how the component should work or even how to create a component like that.

To conclude, I like to think that programmers will change their mindset depending on which situation they are in, you provide them with tools they will think about the business logic, your dont provide them the tools they will think about building the software. Like fishing you provide them with a fishing rod, they will think of catching one fish at a time, you provide them with a net, they will think of catching a lot of fish at a time.

For those people who think cool now i can tell my boss to start doing internal tools for our company, please be warned that your boss or even your co-programmers will laugh or think that you are making fun with the whole thing. Especially when you tell them that you want to automate most of the stuff by building internal tools, they would listen but will not take you seriously. Been there, done that, and it just makes me sad that the stuff i created are just meant to help me and not other team members or at least some of them and it makes me sad too that the stuff i created is not maintained. But i learn, i gain and i see the importance of it.

Hope this helps

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>