Steven's Notes
    • Works at State Industrial Products since last June
        ○ Will be 8 months on Monday
        ○ Getting hired as an analyst/developer was pretty shocking 
            - developers just do what someone tells them to do
            - he diagnoses the problems as well as fixes the.. stimulates rate of learning
        ○ Sales-based company; they sell soap
            - Used to be intercontinental, but now just sells in several states
            - They also do the water treatment here at John Carroll
            - Also do all the dishwashers, air filters, hand soaps, etc. at Winking Lizards in Cleveland
    • Brief overview of his environment:
        ○ Four different environments for .NET and SQL
            - Development, which is where they do most development.
            - QA, where they sit with the users and figure out if it's exactly what they wanted.
            - Production environment, where they roll the solution out to many people
            - DDay environment, which keeps a live backup of working versions
    • Interview Process
        ○ His wasn't very technical. They just asked him a couple of questions and then brought him on board
        ○ He didn't perform very well on technical interviews in the past.
        ○ They asked things like, what's your favorite Indians player?
        ○ They really just wanted the fact that he wanted to learn.
    • Starting his job
        ○ Ensured that he had proper training, making him take .NET development courses as well as SQL courses.
    • Day-to-day
        ○ Go to work
        ○ See if there are any support tickets
            - Typically end up being report issues or .NET issues
    • Q/A:
        ○ Coming in as a professional, how did you do it and how hard was it?
            - In their company, they have 1 gigantic project that's incrementally built upon
            - He used to just add folders outside of the main project, but that quickly became crazy.
            - They figured that out, and now there's less calamity.
            - Orders come into SAP via a sales rep's iPhone. 
                □ That's stored into SAP.
                □ Overnight, gets imported into a SQL environment.
                □ From then on, goes to wherever the reporting needs it to be.
                □ After that, frontend just handles everything.
            - There's about 12 people; the environment is quite disorganized.
                □ When he first came in, Sales Rep IDs weren't Sales Rep IDs universally.
                □ So the first 3 months of his job was filled with tons of questions.
                □ Familiarity with one's environment will be the biggest issue for everyone in this room.
        ○ Does your company hire consultants to help you guys out?
            - Absolutely. They work with Vision Solutions located in Parma; 2 .NET guys and 2 SQL guys to be experts in their respective fields. 
            - Usually, what happens is that marketing comes up with some crazy idea, and they sit down with these guys to see if the goal can actually be accomplished. 
        ○ How often do you guys use design patterns?
            - Usually, just hierarchical stuff when it comes to our .NET environment, but in SQL it's kind of hard.
            - Personally, he just follows the protocols that have already been set, which makes things a lot easier.
        ○ What was your biggest fear? Because Brandon's fear is coming in and being ignorant of everything.
            - They hired him on with the assumption that he knew nothing; but the intent was to train him with their environment.
            - He did look like an idiot for the first 3 months, especially in front of CEOs. But then he started to learn things.
            - Boss would always motivate him: "One day you're not going to be an idiot."
        ○ Do you have any tips for people going from collegiate environment to professional environment?
            - Have a bedtime.
            - Try and be as professional as possible. 
                □ Look as best you can.
            - Ask questions.
            - Volunteer to do stuff.
            - Be patient with end users.
        ○ Was there a specific CS class or lesson at JCU that helped you out in an impactful way?
            - Data Analysis was a lot of help.
            - Really, a lot of problems happen at the data-level; so one must be able to analyze data to be a proficient debugger.
            - Logic really helps the most -- you don't necessarily have to know the language. 
        ○ What tools do you use on a day-to-day basis?
            - Really just whatever's there.. JQuery, javascript, etc.
            - He's proficient at copying and pasting code.
            - He didn't use his full potential at John Carroll.
        ○ What standards do you use in a professional world that you didn't in an academic setting?
            - While at school, there were no "formal practices".
            - One day, they came across a comment a pretty vulgar comment, but that inspired them to standardize everything.
            - They have to take things pretty slow; but they pump out new stuff quite quickly.
            - Old programmers really wrote some short-sighted code. 
            - He looked at his old program from 2 months ago that got put on the backburner; he had no idea what he was doing.
                □ Therefore, one absolutely needs to comment everything.
        ○ What's the ratio of new development to old development that you do?
            - Probably 40-60; old-new. 
            - A year ago, it was 80-20.
        ○ What's the biggest challenge you've had to overcome at your company?
            - Day 2, he was put on a project concerning distributor sales process.
            - The company doesn't know what the distributors sell, so they needed to get all that information from the distributor.
            - That project still isn't finished to this day.
            - QA testing has been his biggest contribution thus far, because this project is so enormous.
            - Additionally, he knows how the entire project works; it's his first big project; so that's probably his biggest contribution.
        ○ Do you do all the testing yourselves in each environment?
            - Our new philosophy is that the users test once they determine that the code is good.
            - "You say when we go live."
        ○ Do you like working for a smaller company?
            - He lives with a man that works for Progressive. He's just a developer there, so he just puts the code changes in (no decision-making).
            - Kyle is both the foreman and the construction junkie, so he makes all the work for himself.
                □ But he's also getting a lot more experience doing that. If he were just a developer, he'd be stack overflowing his way through the job.
        ○ When developing something in javascript, do you use double or single-quotes?
            - Double.
        ○ Is there any upward mobility in your position?
            - Right now, he's really wading in the water. He's only been working for 8 months.
            - His manager just got promoted; he's probably going to be the next vice president.
            - His roommate keeps prodding him to go to Progressive to make more money; but, right now, he thinks he's in the right position.
            - He can see himself leaving in the next 3-5 years for more money; but he can also see himself in a management position.
        ○ What environment do you work in for Web Dev?
            - Web Forms, mostly.
            - SRSS reports are easy to handle because you just call 2 existing methods that were built in 1997.
            - New technologies allow him to learn a lot.
            - His buddy is working in Xamarin, which is pretty exciting.
        ○ Do you have a lot more say in what environments you're building things in if you're in a smaller environment?
            - Absolutely. The higher-ups just tell you what they want, and you build it how you want under the hood.
        ○ What's your experience with Agile or Waterfall?
            - They do both types of development.
            - A lot of the time, they do Waterfall method (like for the distributor sales project)
            - A lot of reports, they outsource to Vision and they come up with the report.
            - It really depends on the type of project.
        ○ What percentage of the time are you doing pair programming instead of working by yourself?
            - On new projects, he does pair programmer for 2-hours a day.
            - If it's something easier, he just does it by himself.
            - He really just consults his coworker for help if he really needs it.
        ○ How are your google skills now vs. when you started?
            - 10x better.
            - Especially with those darn multiselects on Internet Explorer.
        ○ What happens when you don't meet deadlines?
            - That's the great thing about IT. Everything thinks what you do is magic. So what you do is you push it out to production when you know that you're done and you're waiting on the business.
            - Yes, there's deadlines. For example, one of the ongoing project's deadline was 4 months ago.
            - You really just try to get it done as fast as possible.
        ○ How important is unit testing?
            - Not important at all.
            - You'll document most of your stuff, but that's about it.
        ○ What's the most important skill that you've learned over the last 8 months?
            - Learning to adult.
            - Every Saturday, he does his laundry and cook meals for the entire week.
            - Another thing is learning how to talk to your end users without sounding mean.
                □ You'd repeat things to them 2 days after you initially say it, and it's like raising a child.
        ○ We've known you since freshman year, and we see a lot of changes in you. What can you attribute this to?
            - I was not really held accountable for myself when I was in school.
            - I really needed to get in gear my senior year, or I wasn't going to graduate in time.
            - Whenever I'm help accountable, I'll get it done.
            - 75% of it is being accountable; 25% is his girlfriend.
        ○ How terrible is HR?
            - Oh, God.
            - My boss is awesome. He loves working with us.
                □ He fights in HR because everyone works at home until 1AM in dire situations.
            - They don't really have too many petty problems with HR.
        ○ We don't really touch on security or hacking prevention much. How much goes into this area?
            - Not a whole lot. That's more of the infrastructure team's jurisdiction.
            - Sharepoint also governs security.
        ○ Have you ever been in a position to make records more vulnerable?
            - Yes. But it's already pretty insecure.
            - He does what he's told.
        ○ How do you handle source control?
            - They use TFS.
            - When doing anything that isn't .NET, it's terrible.
        ○ Do you learn from other people's code?
            - Yes. My IQ goes way up when I look at other people's code.
            - He derives programming techniques from people's code from the past. It's great.
            - It helps to go through other people's code and saves a lot of time.
        ○ Do all small teams have poor conventions?
            - When the project stays small, it's okay. If it grows too large, then disorganization becomes problematic.
            - The smaller the team, the less disorganized it's going to get.
            - But, additionally, smaller = chaos.
        ○ Do core classes at JCU impact your career?
            - Definitely not. They haven't helped me whatsoever.
        ○ What CS class has been the most helpful?
            - Data Analysis, because he works with data all day. And knowing logic.
            - Syntax is the easy stuff. Figuring out what you need to to get the programming running is much harder.
        ○ What was the least helpful CS class?
            - Videogame Design
            - I'm not going to say that any class is worthless; but some class you just have to drop.
        ○ Do you use VB or C#?
            - If he can copy & paste it, then VB. But mostly C#.
        ○ Should 225 move to C#?
            - Definitely.
        ○ Do you know how big your system is compared to the average? How long did it take you to navigate it?
            - First question: no.
            - It took me 3 months to figure out where to put a project. 
            - Dr. Palmer's friend took about a year before he could actually assemble projects.
        ○ How much time do you spend programming versus other things?
            - Probably 25% of the time is spent programming.
            - The other time is spent doing other things.
            - The distribution is probably 15% .NET, 15% SQL, and the rest working with people
        ○ What kind of apps have you guys built using Xamarin?
            - We have dumb sales people. So we have floor calculators to calculate how much product a certain-sized floor requires.
            - In the beginning, it was pretty sloppy. But afterward, he refined it.
        ○ Do you have to do a lot of prep work to learn how to do the stuff you were going to be doing?
            - I went in and my boss gave me this big handbook about how the mobile app was supposed to work.
            - He had to attempt to figure all this stuff out. For some reason there were 65 databases on the server.
            - Navigating through the storm was the hard part.
            - It's a pretty convoluted system.
        ○ What's the general salary range for a JCU graduate?
            - Picking this job was the way he picked JCU. They were the first person to say "yes".
            - General salary is about 50-65K.
            - He's happy with what he gets paid.
        ○ Pillars of OOP are useful?
            - Inheritance is really useful.
            - You should be thinking about them constantly.
        ○ What was a major crisis that has happened and how would you fix it?
            - Biggest issue that he's run into was deployment.
            - He missed 2 views in the SQL environment when rolling out. Chaos ensued for 3 days.
            - He's waiting for the day that he breaks production. 
        ○ What's the worst documentation that you've seen?
            - There's been some pretty vulgar documentation.
            - You guys should really write all the comments that come to mind.
        ○ Do you communicate with other team members while you work?
            - Yes. We're the microsoft team, but we also work with the SAP team a lot.
            - When working with the SAP team, it's a little more difficult to understand what they're saying.
            - People always say to not create silo's (isolation). Communication is key.
            - We meet 3 times a week to organize deployment and checkdowns.
        ○ Are you happy that you found a job where you can do multiple things a day?
            - Sometimes, no. Sometimes, yes.
            - He's jealous that his friend Matt gets to go home at 3 because something got held up.
        ○ What's the most advanced programming concept you've used so far?
            - Recursion.
        ○ Do you have to choose between data structures frequently?
            - No, that's really optimized on the data side.
            - The most complicated thing is clientside stuff.
            - Your use of data structure are based off of preference.
        ○ Are you allowed to listen to music at work?
            - From what I've heard, the company used to be downtown and IT used to have their own section of the building.
            - They pretty much put all the IT people in the corner. That's when they had a lot of fun. 
                □ They used to play board games at lunch. And talk about movies.
            - Now, my desk is in between my manager and my VP. So I have to be professional, even when they aren't.
            - It's probably the best for me that I have to act professional. I need professional; if it was anything else, I'd be slacking off the whole time.
        ○ What advice do you have for people of less age, and thus less experience?
            - Everyone knows that you're fresh out of school. So they have very little expectations of you.
            - You have to warm up to some people;  some people are just not very social.
            - If Kyle didn't live with his roommates, he'd be bored out of his mind --- he doesn't talk to anyone at work.
            - The next closest person to his age is in marketing.
        ○ How often do you guys use the terms "second normal form"?
            - Never. But they do need to normalize their database. It would help to be more organized.
            - They really don't want to touch too much because they don't want to break anything. 
        ○ If you had to hire one of us in the room, what qualities would you look for?
            - The willingness to learn and the concept of IT culture that's associated with today as opposed to 10+ years ago.
            - The reason that I was so shocked about the interview process is that a lot of people look for people that are smart enough to do the job.
            - A lot of the times, he just "googles his way to victory," so you really need to learn a lot.