Thursday, October 29, 2020

Capstone 2: Dead and Done!

 Hello, all! 

I haven't posted much because I was busy working on my second capstone for module 2. It was incredibly stressful, but my partner and I created something we are very proud of. 

Module 2 was fairly short and deceptively easy at first, but the last few concepts came in like a roaring lion and knocked me back a few pegs. Here is what we covered:

  • Introduction to databases
  • Aggregate functions and group by
  • Joins
  • Insert, update, and delete
  • Database design
  • Database connectivity
  • Integration testing
  • Database security

For our capstones, we had to create a command line venue reservation program. It was intense! My partner, Olivia, and I had both received similar feedback on our previous capstones. We both had put too much in our CLI in the past as opposed to breaking it up into smaller methods called from a different class. We caught ourselves making the same mistake this time, so we spent most of Saturday refactoring things! It was frustrating, but worth it. Our code was clean and easy to read. 

One lesson I learned during this capstone is to be proud of the work completed, even if the whole project isn't finished. We didn't have tests, but were able to recognize our product was the best we could do in the time we were given. 

Capstone reviews this round were done with another team in addition to Brian. This was helpful because we could see the different ways each team chose to approach the challenge. The other team had amazing formatting using printf, which I took notes on and hope to use in the future. 

In addition to the capstone, I had to prepare for my Lightning Talk. Lighting Talks are short presentations that can be about absolutely anything. Mine was about crafting prop weapons from EVA foam. 

P.S. If you're wondering about the aftermath of my last post, everything is okay. Brian scheduled an extra session with me to go over the part I didn't understand. It turns out I don't trust myself enough. If something doesn't work, I assume I took a completely wrong approach when in reality, a small adjustment needed to be made. This causes me to write a lot of code over again when I don't need to. In the future, I will focus on refactoring what I have before I try different methods. I will also try to reach out sooner when I'm stuck as opposed to struggling to the point of despair, haha. 

Friday, October 16, 2020

5.4: Why Can't I Git It?


I feel like a girl who dies in a horror movie. Not the first one --the one that is typically offed because...well, slut-shaming, but the second. 

The Second Girl is blissfully unaware of the imminent trauma. She is busy working at a hip coffee shop alone at night, hiking, or being a good friend to The Final Girl. Basically, the kind of stuff that would make a great medication commercial if played in a series of short clips with an uncomfortable smile. 

Second Girl is just trying to live her life and then she gets knifed or eaten. She takes out the trash and ignores the faint scuttling from behind the dumpster. Then poof. Gone. 

That's how I feel. 

I'm overwhelmed and second-guessing myself. There's a voice in my head that tells me I'm too stupid and might as well quit. Java is the monster and the program being executed is me...sorry, that's a bad joke and the analogy breaks down there.

I'm telling you this because I want to represent an honest look at what coding boot camp is like. It's not always easy;  there's a reason why Redrum is one of my most popular posts to date. 

So, what set this off today? I had an issue with an optional exercise and went to my instructor for help. He explained some things but when I went to implement his instructions, my code still didn't run and so naturally I assume I am dumber than the troll in the girls' first-floor bathroom. It is late and I am too ashamed to admit to him I didn't understand his instructions, thus the natural decision was to admit it publicly to a bunch of strangers. :)

I will play around with it more tomorrow after some rest. I didn't really get to stop coding today, so I'm feeling fried. If I don't figure it out, I'll swallow my pride and ask again because I really care about learning this stuff.

Just an FYI: I know that this shroud of despair and self-doubt will pass. I will be able to look back on this post with a feeling of accomplishment, just like I do with Redrum. Eventually, I understood how to use loops and arrays. The same will happen for this concept, too. 

~~~~~~~~~~~~~~~~~~

TL;DR: Coding boot camp is hard. You will have bad days. It gets better. 

Monday, October 12, 2020

5.1: I Was Publicly Wrong and Didn't Burst into Flames



Fear and pride are two things you need to get rid of if you're going to be a (happy) software developer. 

I don't know why, but for whatever reason, I have a deep-seated need to be correct. Perhaps I think my value comes from being right all of the time or fear others will think I am stupid, but it's there. This desire for perfection has made me terrified of answering questions in class. If I am wrong, everyone will know and my value in their eyes will be diminished. 

Guess what? It doesn't matter. 

Today, I awkwardly offered to try a problem in front of the whole class. We are learning how to select things with SQL in DbVisualizer. I got most of it correct, but floundered on further refining the data, which rendered an error. 

I did not burst into flames. 

It was seriously okay. Maybe I've grown since college, but I didn't mind being wrong. Brian didn't make a big deal out of it either and showed me how to fix my mistake. 

I didn't feel like my classmates were judging me and if they were, that's on them. By taking a chance at being wrong, I got a learning experience. I won't make the same mistake in the future and hopefully neither will anyone else who may have been confused about the same thing. 

Life gets easier if you don't take yourself so seriously. Correction is a good thing; it allows for improvement. Remember that you are not your code and your value as a human being is not linked to it. Even the best software developers have to Google things and need help. :)


Capstone 1: Complete!

Last Thursday and Friday were given to us to complete our capstone projects, which encompassed everything we learned in Module 1.

It was grueling! Our task was to create a catering system program. My partner, Kristen, and I worked all weekend in addition to the days given. 

If you're wondering about the process, it looked a bit like this:
- Thursday: We designed our program, created classes, created the CLI, etc. 
- Friday: We realized we were on the wrong track for certain parts and had to redo/remove sections. It was a bit heartbreaking because we had spent hours on them! 
- Saturday: We noticed that some of the things we removed needed to be recreated. :( At one point, we realized that even though we were working with money, Big Decimal was complicating things and we needed to change every occurrence of it to double. Around midnight, we decided we were done!
- Sunday:  I was playing around with our program and came across a few errors/bizarre returns. We spent a couple of hours fixing them and called it quits. 



In the end, I'm so happy we did it. It may not be perfect, but I feel like we made a real program! I know that technically we have written several others throughout the course, but this one is definitely the largest and most complex!


Wednesday, October 7, 2020

Pathway and Module 1 Summary

You know what really sets Tech Elevator apart from their competition? Their Pathway program, which equips students with the necessary skills to find their first coding jobs. 

At first, I was skeptical because I didn't find the job hunting program in college to be very helpful. I went to a few career fairs, but half of the time the person I was speaking to at the booth had nothing to do with the hiring process. 

The Pathway Program is nothing like that. It is crazy the amount of work Ben and Vinny have put into it. Each week we have panels with TE alumni on a variety of topics. They give some fantastic advice and insight on everything from different career roles to dealing with imposter syndrome. 

We have worked on elevator pitches and resumes. Before this, I actually had a pretty good resume, but now I have a great one! This week we are optimizing our LinkedIn profiles. Prior to TE, I never used LinkedIn and thought it was kind of weird. Now, I'm able to see how useful it is and know the tips and tricks to get my profile to appear more in search results. 

Eventually, the cohort will go through an employer matchmaking process, which is essentially speed-dating, but with job interviews. 

Since I'm a bit behind on weekly summaries, I'm just going to list the things we covered this module. Hopefully, I'll get back into the swing of things after our first capstone, which is due Monday! 

Module 1 consisted of:

  • Intro to Tools
  • Variables and data types
  • Expressions
  • Loops and arrays
  • Command Line Programs
  • Objects and Strings
  • Collections
  • Classes
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstract classes
  • Unit testing
  • Test Driven Development
  • File I/O Reading in/Writing out