My name is Kate.

This is a blog website documenting my software development journey while picking up valuable skills along the way.

see my portfolio

Grad School

By Kate
Working remotely

I took a chance and applied to Georgia Tech....and GOT IN!

I'll be starting this August studying Applied Systems Engineering. I would like to thank my recommendations from Space Force, NASA, and Navy for supporting me. I can't wait to start this journey!

More than four years as a developer

By Kate
Working remotely

I decided to dust up the old blog to see where I've started to where I am now. It's been a long grueling process to say the least.

In my previous position, I worked in a team of 7 developers but the main developer team was between 45-50 developers in total. The environment was very structured and indeed hard. I eventually rose up from junior developer to senior developer in my short time frame. However, I learned how to develop standards along the way while mentoring my junior developers. Our record of 100+ points in two weeks hasn't been beaten :) I left that position after 2.5 years on the job and wanted an increase to my salary at the same time learning something new. I'm definitely grateful to Alex stating once you get comfortable as a dev it's time to go.

Therefore, I've put myself in situations where I'm learning something new on the job. I know there's a status quo when implementing a solution. However, when that solution is deprecated I start questioning is it worth it? Maybe it's because I come from a Cybersecurity background where I have to run my code constantly for bugs and errors before it hits production...

However, it is your responsibility as a developer to set standards for yourself - whether by commenting code, mentoring, peer programming, and etc. I've also come to find out in my career it's not the years of experience but what type of experience you gained.

Five month anniversary

By Kate
Working remotely

Wow! Time flies when you're learning. I would never imagine my one month anniversary would also be the same month we headed in to lockdown. It's been quite the process. There's no peer coding in person anymore due to the Coronavirus. As a result, attacking features now requires constant communication via email, screenshare, and RocketChat.

When I first joined the team, the workload seemed daunting as well as the coding process. I've learned a lot since then. I've resided in literally the 'full stack development.' From network, to database and stored procedures, to C# and Restful APIs, data dictionaries, to using Pipe transforms in Angular/Javascript as well as observables. It's a lot to take in. I'm always learning. When there's a new feature to attack I ask how to attack the problem, is there a similar method where this is used? I now know where to modify the code.

The tough parts I've experienced are unit testing and merge conflicts. Writing testable code isn't easy. It's not console log this or that via the DOM model. You have to take in to account the code timing (i.e. setting timeout). Unit testing is harder on the frontend than the backend since it tends to be more finicky. Little modifications in the UI can break the test.

Merge conflicts are not my cup of tea. I remember working on a feature which I was pumped to complete. However, I pulled from develop merged the source code with my branch. It broke my branch. I didn't know what to do and how to fix it. I was at a standstill and had to ask my lead to fix my item. I come to find out that Angular had some nuances compared to other Frameworks (i.e React and Vue) I didn't know about.

My team has been really supportive through this entire process as well as our weekly developer guilds. My guild makes sure that every developer is on the same page from coding standards, to learning new technologies, to UI/UX, and using in built methods and why we use them.

One month anniversary

By Kate
Job

The first week was drinking out of the firehose from my previous post. Now everything is slowing down as I'm getting my bearings in this new job. I think all new developers are afraid of the 'onboarding' process. The onboarding process is where you learn how the system and code flow. Don't worry about making mistakes. This is why you're a junior right? ^_^

Some companies emphasize a sink or swim approach to the process. Can you figure it out yourself? The caveat do you know the system more than the senior developers or database engineers? Likely no, the best way to approach this situation is to ask for help? Is there a similar method in the code where x, y, or z is implemented. Your team will be happy (not all teams) to assist you. If you don't ask questions, your team automatically assumes you understand the processes. Remember the dumbest question to ask, is the one you don't...

Similar to Github from Coding Dojo we develop on branches. I didn't even know how to set mine up and messed up repeatedly because I failed to do the naming convention. Also make sure you are on your branch as you develop your 'feature.' I have done this quite a bit and had to do a git stash and pop. That isn't good to use. As you push code, make sure you understand merge conflicts. Your code may override your teammates code as well as their work. This is why Coding Dojo should emphasize using group projects as well as the git merge process. You'll thank me later.

I'm definitely blessed with a team that teaches me constantly (collaboration days) and allows me to make mistakes (not on purpose ;) ). If you don't have a good environment to learn, it will be harder to grasp concepts. In your spare time, try to learn on the side any challenges impeding your work. Remember always communicate to your team any impediments you're having, so you can get your work done. Yesterday, I couldn't grab an observable properly because I used way too many brackets. Sometimes a fresh pair of eyes helps get you through.

How to approach a Senior Developer...

By Kate
Communication

I've been working with the Autism society to get some of their websites up to code (...literally).

My task was to support this static website in PHP (which isn't my cup of tea). I can't stand it. Sorry to you PHP lovers.

The client told me they want their website to be:
A. Responsive
B. Login/Registration (thank you Coding Dojo for those Python and C# belt exams)
C. The website must support multiple languages
D. Colorblind users
E. Realtime Facebook and Twitter feed
F. Calendar of Events
G. Must accept payments (Paypal for user yearly fees)
H. Implement a lottery system
I. Implement a digital wall

I mentioned to the Senior Developer that the website needs a huge overhaul. He stated the only way he will allow any changes is to develop a wireframe and make a dummy website. I am so tempted: A. Cheat and Wordpress the living heck out of it B. Apply a Framework like Angular or React

Did I mention I have only 2 weeks to complete this :(

Tackling a non technical interview

By Kate
Interviewing

Majority of my interviews have been technical. It usually starts out: HR contacts you, technical interview with conceptual questions in regards to the code, coding challenge, in person interview (2 parts the technical and the behavorial).

What makes a non technical interview harder? Your resume. How can I sell myself? Resumes only show a small part of the candidate. My interview last Monday was laid back which was refreshing for once instead of the stressful I'm going to pullout my hair. I was in a panel interview with 2 Senior Developers and 1 Project Manager. The Project Manager was really friendly and was an advocate in my corner. However, coming in as a junior you will be under scrutiny. What is your source control? How are you applying your software coding to security standards in a DISA format? When the lead developer says they have 40000 vulnerabilities alone in the code, you get kind of apprehensive. Looking back at all my Github repositories it makes me question maybe I should of called a certain object or variable differently. However, don't take these interviews lightly. Sometimes, they're even harder than the technical ones.

Front-End Developer vs Back-End Developer vs Full Stack

By Kate
Development

Where do I fit?

Am I one of the three?

If you're Front-End be preparded for a tougher process than backend or full stack. Remember Front-End is the face of the website. Do you believe a company will allow you to code their multimillion dollar app with nothing but CSS and HTML? The answer is...No. You will go through multiple interviews. I have been through 4 levels of the interviewing process for a front end position. The HR, technical with the senior developer, coding challenge, and the in person. Your Javascript, jQuery, and AJAX skills have to be on point. Do you know the difference between null vs undefined? What is hoisting? Lifecycles of different frameworks (Angular vs React vs Vue)?

If you're Back-End you will have the standard coding challenge. If you pass it, you make it to the final interview with the hiring manager and team. Don't forget about whiteboarding..

If you're Full-Stack be prepared to make an app that is both pretty and functional. It's the same process as the Back-End.

Apply Directly vs Staffing

By Kate
Applying

Should I apply directly to the company?

..or should I use a Staffing Agency?

The answer is it depends. To get your foot through the door most candidates go through a staffing agency. Usually, these agencies are 6 month contracts that will eventually lead to a permanent position (depending on your performance).

If you apply directly, there is no middle man. However, it will take some time depending how big the HR team is. Sometimes, you get an interview right away.