This past week was one of the more challenging and productive weeks of our co-op so far. As we started to put the finishing touches on our program, we ran into a few obstacles with having to re-organize the business logic of our parsing program, but that only helped us get better at debugging and understanding our code.
Our main tasks this week included setting up a proper database schema and creating queries, continuing our work on the view template, and putting the finishing touches on our parsing program. We also had to get in touch with some of the clients our company has to outline the formatting requirements of the documents that they will be sending us to be used in our program. This is something that is often overlooked when working towards becoming a good developer, being able to communicate with many different parties and clearly express your thoughts. I feel that this is one of my strengths since I have lots of experience in customer service, communication, and even a little tutoring.
As far as our project goes, I spent time a lot of time Monday putting together a view that makes logical sense for our clients by showing the correct types of data in the right areas. Once this was finished I had to spend some time in the backend making sure our database tables were set up correctly and that the data arrays in our parsing program would be passing the correct data to our database. Once that was done all that was left was to build a query which would be used to display the correct information in our view. What I really came to realize, is that this is perhaps the most important skill to have when working as any type of developer-understanding the relationships between your data and how it all flows. I came to realize this after we were informed that the documents we received would be of a different format, which meant that the core logic of our parsing would have to be re-done. Luckily for us we didn’t have to completely redo everything, just a small chunk of logic that is responsible for splitting up our data into organized components. This also taught me that we not only have to have an eye for low-level details, but we also need to be aware of high-level design patterns so that we can build programs that are flexible and avoid fragility.
I would rate myself a 5 for this week since I believe I worked harder this week than any other given some of the challenges and problem solving I had to do. I am pleased to be working with a team that has been helping me become a better programmer and problem solver a long the way as I continue to contribute and add value. I am looking forward to next week’s challenges!