Running a software development business requires managing code, keeping it tidy, bug-free, up to date and easy to maintain. When you have millions of lines of code to keep in your head, you better as hell be organized. Add a few people to the team and the spaghetti code can quickly turn into mambo-jumbo. On the other hand if you are paranoid (like me) and spend too much time to make clean modular code, you end up with tons of API which no one knows about because no one has ever used it. It is probably full of bugs too. Whether you are working for a big company or a small and insignificant one (like Acouster lol) everybody should follow some guidelines to write clean bug-free code, separate it into independent easily testable modules and document it in a way that is easy to digest for people who are unfamiliar with it. Chances are, you yourself will not remember what you wrote a year ago. So document your work. Not for others. For you.
Firstly if you haven’t already done so, create an account at GitHub. There you can put out (publicly) some of your home-made projects. Now everything you put out will be public but there are many benefits to this. Firstly, you will be motivated to make your code bug-free and provide a README file for others to avoid running into problems when they download and use it. If not, nobody will use your code and you will not make a name for yourself. Think about your resume! Secondly, others will be able to contribute to your projects, enhancing it, adding more features, allowing you to collaborate with and learn from them. GitHub comes with a nice desktop interface so checking in changes to your code, adding new modules is as simple as a click of a button. Or two clicks.
Feel free to check out Acouster’s GitHub page. There we host our recyclable components that do not compromise the business.
The README files on GitHub have a very special syntax called Markdown or Showdown. Take a look. By writing README files you write seemingly simple text and yet end up with beautiful rich HTML. And, unlike messy HTML, markdown syntax is very readable and easy to maintain. Mind you it is limited, of course, but you are not exactly developing a homepage of a TV show with parallax! All you need is H1-H5, UL, OL, links, images and code snippets. All that is easy with markdown.
I went a little further and created the Easy Docu project that combines Markdown, AngularJS and Bootstrap affix/scrollspy. Using the markdown on the page the scrollspy menu is generated automatically. Download this project and modify/add the pages according to whatever your needs are. The result will be beautiful easily navigable documentation.
Good luck and let us know if there are any bugs!
Keep a blog about your work! It is helpful, if not to others, then to you. Always keep in mind that your blog is a resource for you to go back to when you forget something, so keep things objective and full of relevant details. Imagine someone wiped your memory and you need to use your blog to recall what you have lost. Also don’t get carried away too much, otherwise you end up learning more about your blogging tools than the actual work you are doing.
And since you will be typing so much, it may not be a bad idea to learn the 10 finger method for typing on the QWERTY or DVORAK keyboard. Hell, you are working with computers, might as well learn to type properly. More on that later.