eemclaughlin / indieProject

Indie Project for MATC Enterprise Java Class
0 stars 0 forks source link

McLaughlin Final Evaluation #10

Open eemclaughlin opened 1 year ago

eemclaughlin commented 1 year ago

@pawaitemadisoncollege

I think I have grown tremendously with this course. Like a lot of people, this is my final class for my degree. I honestly worked really hard every semester but programming never really clicked with me. By the time I got to this course, i really was just trying to follow through and just complete the program but didn't have much intention of trying to work in the field. In fact, I technically already had a job opportunity that I passed over.

No joke, though, this course sort of changed my outlook. Finally being able to really devote a big chunk of time to really build something of my own creation made a big difference in how I view programming. Sure we had some smaller creative projects in the other classes but it was always a rushed thing at the end of the semester. It was hard to really enjoy it when you are trying to crank something out quick for finals.

All of that being said, this is easily the hardest class I have ever taken. I went through the Network Specialist program a few years back and the 'horrible' course that everyone dreaded there was CCNA 1+2. That course was nothing compared to this. But, as I was trying to say above, it turned out to be a good thing that this course is set up this way. Devoting that much time and brain power into this one thing really opened my eyes. I learned that programming doesn't have to be a stress inducing process and can actually be enjoyable (especially when you solve some big issue that you were working on). This class also reopened the idea of working in this field. So, Thanks!

As for my grade.... My heart is saying that I am probably at an AB level or even a B. I worked harder on this project than I have on anything in a long time but, of course, there are areas where I could have done better. That being said, I took this final evaluation very seriously and technically met all the qualifications for an A. So if we are going by actual criteria, I guess I would get an A.


---- Criteria Chart Below (Also can be found in my project in 'Design Documents/Self-Evaluations') ----

Ent Java Self-Evaluation - Final!

Criteria Not started or progressing yet Making progress Meets expectations Exemplary
Explanation of scale Not enough information is present in the work to determine whether there is understanding of the concepts. This might mean we haven't covered the topic yet, work is incomplete, or work contains too many issues to justify correcting each one. Partial understanding of the concepts is evident, but some significant gaps remain. Needs more work. Understanding of the concepts is evident through correct work, and clear documentation. Some revision or expansion might be needed, but no significant gaps or errors are present. Work meets or exceeds the expectations. A high level of proficiency with the concepts is evident. Work could be used as a classroom example.
Industry best practices --> --> PREVIOUSLY HERE AT MID-TERM: NO CHANGE: I think that am definitely at this level in regard to best practices and possibly bordering on exemplary. I went over my project very carefully and I think that, overall, it will show my understanding of industry best practices. I don't think any code is perfect. I am sure that there are methods that I could break up further and that sort of thing. But, I think that ultimately what we are looking for is for the code to be easy to understand and readable and I believe I have achieved that.
Documentation --> --> PREVIOUSLY HERE AT MID-TERM I am at this level now. I greatly improved my documentation in regard to project planning. Also, my project shows that I documented and commented my code very well and I have all javadoc html document generated. A good example of this is the project plan. When we started the project I was so overwhelmed that I didn't even know what to put down. As time went on and my understanding grew, I used the project plan more and more and really began to rely on it for what I should work on next.
Build and Deploy --> --> PREVIOUSLY HERE AT MID-TERM I built and deployed this project so many times it will be hard to say I am not good at it. Not only for project creation but I also posted my functional war file to AWS 9 times in the span of my project.
Unit Testing --> PREVIOUSLY HERE AT MID-TERM I think I moved up to this level simply because of all the unit tests that I created for my project. I think my coverage was acceptable and my code was solid. I don't think that I made it to an exemplary level though. I do see the value in it but it is tedious work.
Security - Authentication/Authorization --> --> PREVIOUSLY HERE AT MID-TERM: NO CHANGE: I have setup Cognito a couple times now and have integrated it into my project. For the project, I am accessing the Cognito data and adding the data to the database and utilizing it throughout my app. That Cognito is a complex system, though, that I feel I would need to go through it another several times before I could move up the exemplary level.
Logging Framework --> --> PREVIOUSLY HERE AT MID-TERM I definitely made it to this level. I used a TON of logging in my project. At first, I missed using the system.out.printlns but then i really grew to like having all the logs and log history together. I log all critical points where data gets moved around and it is great to see that all in one place where you can pinpoint where things have gone wrong pretty quickly.
Produce Web Services --> PREVIOUSLY HERE AT MID-TERM I think I made it to this level regarding web services. With the exercise and team project, I actually really learned a lot and learned to like building the web services. I would not have expected that when first starting out. Our team project wasn't perfect but I recognize the flaws and have learned from those mistakes. One area that I know needed some work was in regard to when to use the path param and when to use the query param which I think I understand better now.
Consume Web Services --> PREVIOUSLY HERE AT MID-TERM --> For consuming web services, I think I made a double leap to exemplary here. The web service I chose for my project was very complex (I thought) and it was a struggle to figure out the best way to utilize it. I think I did a good job of figuring it out though. Also, as noted in the producing web services section, I found I really enjoy working with the web services and have ideas for future projects....
Git and GitHub --> --> PREVIOUSLY HERE AT MID-TERM I think I made it this level. Between the team project and my owm, I had a lot of branches and had much practice in merging and conflict resolution. I also learned to ignore files and remove files after they have been uploaded. Along with that, I really learned a lot regarding markdown(.md) commands and formatting which is also a big part of communicating via GitHub. I was pretty vigilant with commiting changes often and putting down some relevant data about my changes. Any time that I made major changes, I always created a new branch and did the work there before integrating back into the main branch.
Asynchronous messaging Topic Not Covered Until After Midterm --> I think I made it to this level. I had a lot of fun learning this topic and even built a little automatic conversation. That being said, the lab was short so I know that I am not at exemplary level and that there is much more to learn.
Object relational mapping - JPA/Hibernate --> PREVIOUSLY HERE AT MID-TERM I met expectations here but am not going to say that I am amazing in this category. I didn't love Hibernate as a whole and also really struggled with trying to get a many to many connection functioning correctly. I do have multiple one to many connections though and was able to create references to the data successfully.
Patterns such as Data Access Objects (DAO) --> PREVIOUSLY HERE AT MID-TERM I used daos pretty heavily in my project and have a strong understanding of the concept of CRUD. I at least have a working understanding of many of the other concepts such as abstraction and polymorphism.
Debug and troubleshoot independently --> PREVIOUSLY HERE AT MID-TERM I solved some pretty big bugs that I am pretty proud of figuring out but I know I am far from being an expert debugger. Some troubleshooting took a serious amount of time to resolve and/or took many bouts of trial and error which keeps me from exemplary status. I was really proud of my work figuring out the Google Books API and with getting sorting and search capabilities integrated.
Learning process reflection and improvement --> --> PREVIOUSLY HERE AT MID-TERM There is always a way to do it better and we will never be perfect. I think that is extra true in regard to programming. I know that almost every time I look at my code (in this project or others) I see things that I could have done better or differently. Our code is always evolving and changing as ew grow and learn. I think that as long we acknowledge that we can always do better and we don't get complacent that we are on the right path. An example of a simple change that made a big difference for me is one related to getting user data from the database. I had configured several classes and they all were doing the same thing where they were getting one bit of data from cognito and then calling all these methods to get the user data again and again. Finally it dawned on me that I really on need to get that user data once and then can just send that around instead. This is a simple example, of course, but one I learned from and my code ended up being a lot cleaner because I took the time to reflect on how to do that better.
Collaboration/Teamwork --> --> PREVIOUSLY HERE AT MID-TERM: NO CHANGE: I think that I did a pretty good job collaborating and working with my other team members. In the team project, I hosted the meetings and contributed a lot to the project. I listened to feedback from the other members and we worke together to solve some of the harder issues.
Feedback - giving and receiving --> --> PREVIOUSLY HERE AT MID-TERM: NO CHANGE: I took my role in the peer reviews very seriously and spent a lot of time reviewing code and asking questions to give good feedback. I utilized your guides to break down all the project aspects and reported my findings back to my peers. I think I did good job at that part. I very much took the feedback I received to heart and implemented a lot of what was given to me as well.
Other? Is anything missing? n/a n/a n/a n/a
pawaitemadisoncollege commented 1 year ago

Hi @eemclaughlin! I'm so happy to hear that your work in this class restored your energy for software development! I never would have suspected that you had doubts or dislikes related to programming.

You clearly put a lot of time and thought into your self evaluation, just like you did throughout Enterprise Java. Your consistent, hard work paid off and it's clear to me from your assessment and all work you completed in this course that you achieved A-level proficiency.

It's been such a pleasure to work with you and I wish you the very best on the next part of your developer journey. I'd be happy to serve as a reference if you ever need one - it would be easy to tell employers why they should hire you!

Finally, I will provide a review of your final indie project, but I wanted to confirm grades first as I realize there may be some anxiety related to waiting for those.