Categories
Uncategorized

Blog Post #8

My Project (Week 8 Update)

Our project is coming along and my group is coming pretty close to finishing the requirements. The website is still called “Software Programming Quiz” and looks like we are sticking with that name! Anyway, we currently have a login, an email form for contacting a potential candidate, and a survey form for the candidate to fill out.

Current Accomplishments

We have a login and registration, email functionality, a quiz creator, and a survey form. All of these features are working and we have worked out most of the bugs for these features. This CSS and styling have been fun to work on. We use Bootstrap which is a framework that makes it easier to style a website in a standardized way using rows, columns, grids, etc.

Crunch Time!

In less than two weeks we have to develop functional quizzes that can implement multiple-choice, true and false, fill in the blank, and free answers. The model that handles this functionality has been created. We also need another model that posts the results of the quiz to the database. The logic to accomplish this will most likely be done in the front end, but we are exploring a way to do it at the back end. After a quiz is recorded, we also want to display the results.

We can do it!

With the limited time left, I believe we can accomplish the last few requirements left. CS 467 Capstone has been a great experience and my group members have been a pleasure to work with.

Categories
Uncategorized

Blog Post #7

The Tech Interview

As I end my time at Oregon State University, preparation for technical interviews has been challenging and overwhelming. I have Googled searches on how to prepare and the results can be very intimidating. But, I think I found a way to train without stressing myself out too much.

Work on Soft Skills

Soft skills are probably my strong suit, but it doesn’t mean that I shouldn’t prepare for them. The interviewer will ask, “Tell me about yourself?” in most interviews. This seems like an easy question, but it is very difficult if you are not prepared to answer it. Your response shouldn’t start with your experience from Kindergarten to the present day, but rather relevant information about your life experiences that directly pertain to the job you are applying for. Other soft skill questions also inquire about how you work with others and how you resolved prior conflicts in previous professional settings. Interviewees should also be prepared to answer why they want to work for the company they are applying for. The responses to all of these questions should be practiced and prepared because you do not want to be caught unprepared during the actual interview.

Questions on a Specific Technologies

There are many technologies out there in the world, but you should not try to learn them all before the interview. Since I am interested in a software engineering job involving web development, I focusing on these technologies specific to the position. But I also have to make sure that I understand the fundamental of software development. Fundamentals such as basic syntax, testing and debugging, object-oriented programming, and the design process. If your knowledge of the fundamentals is strong, a software engineering position in technologies other than web development may be possible if the interviewer feels that I have a strong grasp of the basics.

Whiteboard Questions

Whiteboard questions will take most of my time and dedication for the technical interview. These questions involve solving algorithms on a whiteboard without the aid of a computer. When I first started to prepare, I tried to memorize as many algorithms as I could and this was a very difficult approach. I decided to go for a more systematic approach that helps me understand the underlying solutions pattern and apply these patterns to solve most of the questions that the interviewer will ask. The interviewer wants to assess your knowledge of common data structures such as arrays, linked lists, hashmaps, queues, heaps, graphs, etc. I plan on focusing on each data structure until I feel that I am confident enough to move to the next one.

Wish me luck and thanks for reading!

Categories
Uncategorized

Blog Post #6

My Project (Week 6 Update)

For my last course at Oregon State University (OSU), I have been working on a website with my group. The current name of the site is called “Software Programming Quiz”. As a reminder, the purpose of our website is for employers to create quizzes for potential candidates for software engineering/development positions, send the quiz to the candidates, and analyze the results from the potential candidates (similar to SurveyMonkey). Our group has made significant progress and we are currently hosted on the Heroku which is a platform as a service (Paas) that enables our group to build, run, and operate our website via the cloud.

Setting up the Database (MongoDB)

I was tasked with setting up MongoDB and creating a model for a user that represents the employer. The properties for the model were name, email, password, and date. Then I created a database for the project and I named it “Software Programming Quiz”. After a database is created, a connection string for Node.js is created that can be used for the project. I added a file for the connection string, and I successfully connected our database to the website.

Creating the forms

Create the forms were pretty frustrating at first, but I was able to find the resources I needed to successfull create a form for the login and register pages. The register page add new employers to the user database, and the login lets the user login via email and passord. I initaillay thought this task was going to be easy, but there was much more that goes into developing a log in for a website. I had to create checks to make sure that the text entered to the forms were validated before the data is sent to the database.

After a successful log in, I also had to make sure the an authorized user was logged in to the site and check for the wrong email, wrong password, etc. I used middleware to check both the validation and authorization of the users for all the page routes in our website.

Next Steps

I want add more validatation checks like checking or Caps Lock, editing profiles after they are made, retreiving a password if forgotton, etc. But I thing these features will be added after we acccomplish the goals that are prioritized in assignmed requirements.

Categories
Uncategorized

Blog Post #5

Favorite Technologies

One of my favorite tech stacks is Node.js, npm, MongoDB, and Express. This stack is primarily used for web development and I found it relatively easy to understand compared to other technologies like Django or Microsofts .NET tech stack. When I first started to use this stack in the winter term of 2021.

Node.js

Node.js has an asynchronous event-driven JavaScript runtime that allows a web developer to create an application that is scalable and can handle connections that is scalable. Node.js uses an event loop instead of a library and so when Node.js enters the loop, Node.js will exit when all the callbacks have been performed.

npm

npm is a javascript package manager for Node.js. Packages can be installed using the terminal/shell and these packages are downloaded and used for your Node.js projects. The packages that are installed in your project have a version that can be specified, just in case you need to have a particular version to avoid “breaking” your projects due to the version.

MongoDB

MongoDB is a database that uses documents instead of tables to persist data in your project. Instead of storing data using rows and columns, the MongoDB database uses BSON which is a binary representation of your database’s data. The data is displayed in JSON format which is serialized and deserialized through the web applications source code.

Express

Express is an open-source web application framework that is used with Node.js. It is written in javascript and is used to build single or multiple-page web applications and APIs. Express can be used to build simple servers to complex MVC architectures for your application. Express is for faster server-side development, middleware (database access or security), page routing, templating (EJS, Handlebars, Pug, etc.), and debugging.

There are many other technologies that can be used with this stack. But, I’m still exploring what I can do with this current stack, and I’m working on adding React, Vue, and Angular to my web development repertoire.

Categories
Uncategorized

Blog Post #4

CS 467 Capstone Project (Software Programming Quiz)

The project that I have chosen and have been assigned to for my final course at Oregon State Univesity (OSU) is the development of a testing website for incoming employment candidates. This website is similar to the website “SurveyMonkey”. I chose this project because I knew it was going to be a challenging endeavor, I was going to learn a lot, and it was a project that I was going to be interested in.

My Group

My group members have been great so far. I am doing my best not to let them down! We are all on the same page when it comes to logical and realistic goals for the project. So far, we have created a GitHub repository, a project plan, and an online/cloud database for our project.

Project Description

The employer needs to be able to create an account and log in. After the employer successfully logs in, the employer creates quizzes that will be emailed to potential candidates. When the candidates receive the email, the candidate will take a timed quiz which they will submit upon completion. When the employer gets the test results from the candidates, the candidates will be ranked and stats will be presented based on their results.

The Gameplan

We all agreed to start with simple and low expectations, to begin with. The requirements for the project state that the site needs to have an account page for employers. Since we have a hosting platform for version control and collaboration. This allows all my group members to have separate “branches” that will allow us to work on separate parts of the project. We all agreed to merge our individual branches weekly to make sure nothing breaks. We are also looking at hosting our site on the OSU flip server or GitHub pages after significant progress has been made.

Ulitmate Goal

My personal goal for this project is to meet all the requirements and add this project to my professional portfolio site. I plan on using a myriad of resources and I have planned to spend a significant amount of time on this project.

Categories
Uncategorized

Blog Post #3

Future Career

I am looking forward to what comes next for me after I graduate from Oregon State University (OSU). I have always been in computers and how they work and OSU has been a great opportunity to learn and practice new and old technologies vital for a new developer looking to make their mark in a new career in web development.

My initial exposure to web development in Microsoft .NET and the C# programming language. I really enjoyed web development from the beginning because I was able to render pages right away after the code was written. I liked the instant gratification of seeing my results right away. This joy has not changed much since my humble beginnings and I have learned so much since then. My first software job had little to no web development for any of their projects, but I did learn a lot about back-end technologies while I was there. But I was more interested in web development, so I spent a lot of time outside of work learning web development on my own.

Now that I am close to graduating, I am trying to implement what I have learned at OSU into what I know about web development to create a portfolio page that encompasses my hard work and accomplishments in the past 4 years. I have a good idea of how I want to set up this page, but I was to learn more about React which is a JavaScript front-end framework. React has a steep learning curve, but many large and small companies and businesses use this framework to create websites that are maintainable, dynamic, and high-performance.

I am currently searching for jobs that use React in their tech stack. I hope to get an entry-level position and I won’t mind if I am paired up with a mentor that can guide me through my first year of employment. Even though I have some professional experience, I think a mentor could help me progress quicker. I also would like to work at a place where frequent code reviews are conducted. I feel that I would benefit from learning proper coding standards and practices.

My goal is to become a full-stack developer. I like the front-end more than back-end development, but I am a lot more comfortable working with both than I was four years. Hopefully, some company will give me a shot and things will work out for the best.

Categories
Uncategorized

Blog Post #2

Job search.

As I wind down my academic journey at Oregon State University (OSU), I have been preparing myself for potential software development/engineering interviews.  My first experience of searching for a software job was exciting, intimidating, and ultimately heartbreaking. The Microsoft Software and Systems Academy (MSSA) was not only an academic program, but it was also a military transition program that coached on both ‘soft’ and ‘hard’ skills for civilian jobs. The soft skill basically focused on how you work with other people and questions about why you want to work for the company you are interviewing for.  Hard skills were focused on technical questions and demonstrations of knowledge via a whiteboard or take-home coding tests. I learned valuable skills in MSSA, but I haven’t experienced too many technical interviews in my short career so far.

My previous technical interview experience.

In the MSSA program, every member of the program gets the opportunity to be interviewed by Microsoft employees.  The interview was conducted over Microsoft Teams. It seemed that the interviewer did not want to be there from the beginning, and there weren’t many following up questions to my responses.  I felt that the whole experience was cold, phony, and uncomfortable. I wasn’t chosen to move on to the next stage of the interview process, but neither were over half of the participants in the program.  There were participants that I felt that has been chosen (not necessarily including myself), the absence of positive or negative feedback for anyone that was not chosen, and I think was detrimental to the confidence of the interviewees that this program was supposedly helping to transition from military to civilian life. But, this type of policy is typical of large tech companies. 

My second interview experience with a military contractor was a completely different experience.   I was contacted by a recruiter from a government contracting company.  I agreed to the interview and the primarily asked ‘soft’ skill questions, I felt my soft skills and my prior military experience helped me during the interview. There weren’t too many ‘hard’ skill questions or technical questions (which I found very surprising!).   A couple of hours after the interview, I have presented with an offer and I decided to accept my first software developer job.

On the job hunt!

I left my first software job about a year ago, and now I’m ready to rejoin the workforce. After two years of work experience, COVID-19, and getting close to completing my post baccalaureate degree at OSU I’m a little nervous about applying for jobs. 

The first thing I want to do is update my resume.  My current resume reads like a military evaluation that is would be non-sensical to most people that were never a member of the military.  Most of the bullet point list quantities and terse explanations of accomplishments.  There are many examples out there, but I think I will seek professional assistance once I have a solid working copy of my resume. 

The next goal is the development of a portfolio page that showcases the projects that I have been working on for the past three years.  I have an idea of how I want to organize and display my work, but I still need to sketch out my ideas.  I bought a domain name a few years ago and I probably start using it soon.

Finally, there is the “eating my spinach” part of my job search/interview process. This includes practicing my data structures and algorithms.  It’s one thing to work through these problems with an Integrated Development Environment (IDE), which gives you hints and code snippets and writing while explaining the code from memory.  I tend to learn by repetition and I have a good idea of which coding problems and concepts I need to work on to prepare for a technical interview. It’s going to take a lot of time and effort, but hopefully, it will be worth it in the end.

Wish me luck!

Categories
Uncategorized

Blog Post #1

I would like to have the opportunity to introduce myself.  My name is Donnyves Laroque and I am a student at Oregon State University. This is my last term and I’m excited about moving on to the next stage of my software engineering career.

I earned a bachelor’s degree from Kansas State University and after I graduated, I was an elementary school teacher in Kansas City. I am also a Navy veteran, I served my country proudly for eight years as an Electronics Technician. While I was in the Navy, I earned another bachelor’s degree in information technology from Colorado State University. The only two courses that I enjoyed were my SQL and Visual Basic courses.  I wanted to learn more about programming, and I was lucky enough to come across a program called the Microsoft Software and System Academy (MSSA). MSSA is a program for transitioning service members in their last six months of service. After completing the MSSA program, I worked as a software developer for two years for a government contractor.

So, how did I end up as a computer science student at OSU? Well, I had a major case of ‘imposter syndrome’ at my first developer job and I was desperate to make this feeling go away.  I wanted to catch up with my fellow coworkers and felt that a computer science degree would be the best way to achieve this goal.  I learned immediately that it wasn’t about making up for lost time, but rather excepting that hard work and experience are the only way to improve as a developer. I was never going to catch up with the people at work, but I can improve and learn every day through both my accomplishments and mistakes. I stopped comparing myself to others and started to seek inspiration and wisdom instead.

With the support of my family, I decided to spend my last year dedicating myself to school.  I plan on rejoining the workforce soon during this last term or soon after. I’m ready to transition from government to civilian employment in the Greater San Diego area.  

Thanks for checking out my blog!