I had worked on the projects, and they both last nearly a year to do.
The first one is a module of the existing system integrated with E-commerce software.
Less experiences ...
when it started, I didn ' t has experiences on high demanding business project, also E-commerce software. Due to the demanding Todo, I didn ' t has time to understand the business workflow of both. The first project, I think, for me, called Software Engineering or software development, different parts of Tod O, I'll analyze the system, understand the TODO, and then code on it, test it then commit changes to remote repo from SV N, especially I would have the really careful on each assignment and test, to avoid any fault on real business Circumstan Ce.
In the project, I learned some real practical skills to deal with programming, it's like a learning curve. As a programmer lacking real experiences and knowledge on it, to write code intuitively based on the understanding of the Todo, each todo reflect a small part of the whole view of the project, and focusing on it, I missed the opportunity to Ana Lyze and understand the outline of the project, due to, many works is refracted, until it looks natural and elegant To make the requirement meet.
Less experiences on it, that's the major reason of why the project took long. For now, reviewing what I had done, and compare the difference in skills from now and then, I get one lesson, and very IM Portant lesson:
There is no-to-make TODO quick, no-it-to-finish project quick, to slow down and understand it clearly, was the only WA Y to make it quicker, take the it as part of a job, and not a task for a mission.
Again, a new adventure ...
The next project, is a new software, the "target is to migrate" the desktop software to the Web App.
To develop web App (not website), was interesting for me, I like to take new adventure on new and promising tech, even thou GH I didn ' t has experiences on a new software development.
I took about 1month to discuss it with project sponsor and made the plan on it, the plan is pretty immature, I would say n ow, many parts of it, is not possibly finished. That's the common mistake for a in-experienced developer and most of the possibility was depended on assumption, the logic is N ' t applicable for real project:
If There is a library, probably (even though not sure, not knowing it clearly) can do and then it can do. If There is no library, from the understanding of the lower level API, it probably can do and then it can do.
This logic is a mistake. As a in-experienced developer, what's the previous system is? What is the those library can do exactly (not from it demo or something), and can ' t do exactly? What the cost to change it or use lower level API if it can ' t, all unknown, but assumed to be no-doubt!
After the adventure finished, then I reviewed what I had done, and I knew I learned something new, and gain some more Better skills and experiences on it, if there are another opportunity to make the software again, I could make it probably My own. But the lesson are the most important part, which is:
Don ' t exaggerate the skill we had, and don ' t assume we can learn some new practical skill quick. And learn something new is a adventure, and risky for the development.
No Project is easy
There is no project to being easy, even though I am passionate in making it quick, but there is no success. I didn ' t lost the passion on it, and more reasonable, the passion of software development, the idea of create something NE W, they is attractive and fascinating, thats probably the easiest of the today to create something different and new, always Exciting, always opportunities, the feeling, kind remind me of the serious issue like "addiction", it wasn ' t that serious , but sometimes, when we did, we invested too much on it, so it's ' time to learn what to slow down, and make it fit into our Life, no stressful, no intervenient for my life, mostly we can ' t blame anyone of this, but give our persistence mind up.
No project is easy, am I right?