It’s Sunday following the 8th week at Tech Elevator’s 14-week coding bootcamp.
This week we dug deeper into the ASP.NET MVC framework. The career-prep component of Tech Elevator is ramping up, so we spent a lot of time job-seeking for after the bootcamp. We learned about HTTP requests with the Post/Redirect/Get (PRG) pattern, sessions, server side validation, and we touched on automated testing with Selenium. Last week I explained how Model View Controller (MVC) works, and how the ASP.NET MVC framework relies heavily on libraries and convention.
In web development, sessions are a way to keep track of data from the user throughout a series of web pages. For example, to create an account on a typical website, you enter information into several consecutive form pages. Initially, there was no way to keep track of the information without having to write it to a database after each page. If the user abandoned the forms without completing the account setup process, the incomplete information would already be in the database, and would have to be dealt with in some way. This process requires extra code and server space. With sessions, you can temporarily store information and take it with you to successive web pages using the controller part of MVC. This way, in our example, you only have to write information to a database when the user finishes creating an account.
We also learned about server-side validation. Have you ever filled out an online form only to see a message like “Invalid field, please try again” in red text? Just kidding, I know you have. That’s done using server-side validation. Each time you enter information into a website, a back-end program ensures the fields are correct: email addresses must have an ‘@’ character and a domain, passwords must be ‘X’ characters long and contain numbers, a special character, and so on. Server-side validation is done using back-end languages; in my case C#. There’s also client-side validation, which uses a dynamic language like JavaScript. You can tell the difference between the two because client-side validation happens instantly; the site tells you a field is invalid right away before you hit a ‘Submit’ button.
At first it surprised me how much of the programming is done by the ASP.NET MVC framework. The programmer just remembers the correct library classes and syntax, and everything’s taken care of. But as I dig deeper, I’m starting to understand why… ASP.NET MVC is just a tool I use to build websites, similar to how a carpenter uses a circular saw to frame a house. The framework allows me to develop sophisticated websites with relatively little technical detail. If I really wanted to, I could develop functionality like sessions, or server-side validation from scratch, but it would take an inordinate amount of time. At the end of the day, a carpenter doesn’t manufacture his own circular saw, and I don’t need to know every detail about how the ASP.NET MVC framework is configured.
As the bootcamp progresses, Tech Elevator’s been ramping up the career search for students. Last week we were put through an hour of training on interview skills and had two practice interviews; one with the Tech Elevator career coach, Katie, and another with a volunteer tech-industry recruiter. These practice interviews were ‘behavioral’ interviews; the traditional, conversation-based form of interviewing. Next week we’ll start practicing ‘technical interviews,‘ which require students to complete coding challenges while being monitored closely by the interviewer(s).
Students are now encouraged to reach out to prospective employers seeking job opportunities. Tech Elevator has even instituted requirements which establish the minimum number of ‘job-seeking activities’ students must complete each week. These activities include attending networking events, submitting job applications, or cold-emailing recruiters. In addition to the hands-on career prep, Tech Elevator’s been hosting a lot of ‘Employer Showcases,’ in which prospective employers present their company to the students over lunch. We’ve had four showcases in the last two weeks with nChannel, Alliance Data, Ohio Health and CoverMyMeds.
Needless to say, my schedule’s been packed. Between the career search and learning the ASP.NET MVC framework, there’s not much time to spare. I also thought up a ‘passion project’ this week that I’m really excited about. It’s more realistic than previous ideas, and I’m really passionate about what it will do. More details on that to come.
Thanks for reading! As always, reach me at joeosterfeld@gmail.com with questions.