Long Time No See

May 8, 2017

Almost a year since my last post? yikes. I hate to just walk out like that and return but I have returned with many stories! Unfortunately, most will go unpublished but you'll get a quick update on my whereabouts.

We'll begin with the birth of my Internship!

Last May I took my programming skills from the class to the workplace. I plunged into the world of Hewlett Packard Enterprise. I started and have been working for HPE as an intern in the HR IT department for almost a year now! Things have gotten kinda serious. I'll spare you the gory details of my Internship but there are a few notable skills I cultivated.

Skill #1: Communication

If you asked me a year ago "Do you have good communication skills?" I'd say yes and then I'd give you permission to slap year ago me in the face. There's a Grand Canyon sized difference between executing my solo projects and team projects. Sure, the end project should be the same but the route to that product is drastically different. From the beginning till now I've learned to utilize my resources and ask questions.

Every tech company will have a way to hold meetings through Slack, Skype, or some other means of communication. Now that's all fine and dandy, but my point is not that you can message your buddy at any time. The good and or bad thing is you can message ANYBODY and ask a question. When or if they get back to you are different problems but it was an amazing realization for me. My resources for knowledge expanded from people I could see to anybody in the company (who would reply).

Maybe that take away is only good if you work at a large company but it taught me something else. If I'm working on a project and requirements or user stories seem hazy, then I'm probably not the only one and it's holding multiple people up. The developer community can seem fraught with know-it-alls, but that's really just an image. We're not all cyborgs so it's best to not hold up progress and just ask questions as I get them.

Skill #2: C# & .NET

Now I wouldn't go as far as to say I'm a .NET expert, but probably just a .NET ninja. Okay, maybe not even that far but I did some stuff... About 6 months into my internship I joined a newish project that used C# and .NET to write an internal application. It was my first time using either, but fortunately not my first experience with the web. I started a few months prior with Rails, but that'll be another story. I thoroughly enjoyed using this language to write the backend. Here are a few notable things I liked and or learned about C#.

Strongly Typed, Polymorphism, Portability

I. Love. Types. This made learning the language really easy for me. Just initialize a type and then use a dot operator to see all the variables and functions to use on it. Now I know this probably has more to do with using Visual Studio than using C#, but still. I've used C++ and am much fonder of its brother C# because of this. It was also exciting for me to figure out how portable the language can be once it's compiled. Due to it's Common Intermediate Language it can be run in many places much the same as C++ when it's compiled.

Lambdas (aka closures?)

Coming from Swift, I'd never seen a lambda. These are beautiful yet confusing for a newcomer I think because of the token "=>" which is essentially saying "go to". To make it worse, I commonly saw them used inside of LINQ statements communicating with the database which I'd also never seen. Once I figured out they were essentially anonymous functions, I quickly caught onto their usefulness. They quickly became one of my favorite features because of how easy they made querying the database using LINQ.

I could go on for awhile outlining the uses but in broad strokes, that's a couple things I really liked.

Honestly, my time at HPE has been more valuable than I could write down. I made a lot of friends and learned countless other things. I feel lucky to have had the opportunity and appreciate everyone who had the patience to teach me. So what else have I done?

School Too

School of course! Summer, Fall, and I just finished my Spring courses. If you're curious how many hours I have then I'll tell you it rhymes with 187. Yea, that's a lot. But I'll be done at the end of the summer and I couldn't be happier about that. I can just tell you I learned lots about algorithms, databases, and why we shouldn't be building in backdoors to our software. Just kidding about that last part.

I'm purposely not putting too much down because it already feels long winded, but I will say I have a few things I plan to do and write about coming up.

To come...

I mentioned I started learning Rails. I'd like to harness the power of Rails to create APIs for Swift applications to communicate with. I plan on writing more on that and how I accomplish it because I've found an astonishing lack of information about the topic. More on that later!

Thanks for reading. Auf Wiedersehen!