Last weekend I was working on updating my linkedin profile. It did take both days, granted I did not work on this constantly. Worked it a few hours, put it aside, repeat. This came about after a week of looking over 9500 lines of C source code, integrating in into an existing system. The person who wrote it put a ton of work into that project. Suppose I have taken it over to straighten it out and make it work a little better. So, over the course of those two days, this is how it turned out.
Reverse engineering and legacy application code survey, identify areas
to gain efficiency. Function inventory, clean up and reuse. Implement
quality practices.
Study existing source files and command procedures, assess what is
needed for improvements. Clean, and improve function headers for future
reference and maintenance.
Use existing coding standards or conventions; propose the use of
standardized source templates for establishing coding and standards or
conventions.
Observe, inquire and study user experiences. Look for common patterns
and themes. Look for ways to automate and improve. Consult with users
and managers for proposed changes.
Use scripting languages for generating code templates. Assess and
prepare scripts or command procedures for automated loop unit and system
integration testing.
Use operating system tools (netstat, iostat, ps, pr commands) to monitor system environment during runtime and test events.
Observe, log and trend application run time performance, looking for
memory leaks, memory usage, cpu usage, system environment, networking,
peripherals.
Runtime troubleshooting skills, cause and effect analysis. Define system
problem boundaries and scenarios. Answer questions: If operated this
way, what happens; what indications are different than if system
operated another way; how does the code react under various scenarios.
Research, develop, standardize enforce coding standards, operator
messaging. This becomes helpful and is key for later maintenance and
troubleshooting.
Improve, instrument and add efficient logging to source code for runtime tracing and problem detection.
In the end, fairly pleased with how it turned out.