I think I understand what you're asking for. Some things you need to learn through experience and whether you can afford to spend any money on utilities, but if you're comfortable working in English check out url: <a href="http://github.com/plans" rel="nofollow">http://github.com/plans</a><p>If you read/write/speak a non-English language or character set you may want to try and find similar tools in your native language.<p>Generally speaking a development process can be exactly as you describe, but what you want to achieve in order to be professional varies widely. I had a point of sale vendor working with a customer (I was fixing their performance problems) and the developer was "source code controlling" with copy and paste on their personal work station. If I paid that person money to MAKE something, I would have had them shot. Except they are in Canada and shooting people is probably frowned upon.<p>So here is my advice:<p>1. Look at how you're working right now, strip out all but the essential steps that you can write on a piece of paper<p>2. Grade the list with how much time you spend each week on each step in the process<p>3. Keep working on that list for a few days or a week even, logging the time you spend - note also if you lose progress or work due to error, or how many times you do something where an automatic solution may help<p>4. Use the list above to determine, based on where you can probably save time with utilities and tools, or come back to ask HN more specific questions<p>For a one or two person shops, I'd be storing my source code online at github or similar source code repository. As for what you need to do for yourself, start abstracting what you're writing in script as an "architecture". Try keeping a high level document describing the workflow you're automating and what the purpose is.<p>From there, break down into component parts, how you think about it and how others may need to work with it.<p>The easiest way to act professional is learn how and what to comment in your scripting. What is apparent to you right now, won't be in a year when you need to back and chance something, or even better, when you start collaborating with other developers.<p>Being professional means that you invest in the time it takes to collaborate with others. Despite posting this on a site called "HackerNews", I'm SO not a hacker, and I would generally pitch a fit at hacker behavior. But then I've witnessed and personally experienced the pain and limitation of hacking, in lisp, pain, oh pain.<p>As to automated testing, don't worry about it until you're finding yourself testing more than coding. If you can't get a cheap hand, or friend or family member, or (chuckle) a customer to test the product, don't worry about getting a tool.