CodeMash 2017 Recap: Conference Talks, Day 2

Every year, I go to CodeMash with little plans made, knowing that the side conversations can happen and derail any plans.  This year was no exception.  I went into Friday with no expectations, and it turned out to be great!

Drops of Jupyter in Your Hair

When I saw the title of this talk, I had to giggle, as it triggered Drops of Jupiter in my head as well as Jupyter notebooks.  Well-played, Brian Sherwin! 🙂    I wish I had seen this earlier in CodeMash, as I could see using a Jupyter notebook for taking notes throughout other sessions.  An interactive notebook, where I can write in programming languages and make notes in code… I can see these things being super useful.

The Software Guild Sponsor Table

During the 9:45am slot on Friday, I stopped by the Software Guild sponsor table.  I’ve been with the Guild for a long time now – part-time teaching assistant for C# and Java off and on since June 2013, full-time instructor since May 2016, curriculum developer, and now the lead instructor for our online programs (with in-person responsibilities and curriculum responsibilities as well).  This was their first conference with me in person, and it was a great experience to talk with the guys at the table and work at the table.  It was great to see people coming by, especially after I had tweeted to come and get scanned to win a PS4.  Our founder Eric Wise and our Employer Network Manager Matt from our Akron office were on hand, answering questions from potential apprentices, potential employers for our apprentices, and other networking opportunities.  I also managed to stop by a couple sponsors to learn more about them and hopefully connect them with the Software Guild.  Whether you’re looking for junior Java or C# developers (join our FREE employer network to be notified) or looking for training to sharpen your object-oriented development skills, keep The Software Guild in mind!

Thinking Like a Hacker

It should be no surprise that I am still intrigued by the security realm.  In the 11am slot, I caught “Thinking Like a Hacker” with Chris Maddalena.  Listening to the ideas behind how hackers work reminds me of the things I would do in my college days, bored to death in my engineering labs and poking at the Sun machines to see what I could get into.  It also reminds me of one of my favorite movies – Ocean’s Eleven – and the stuff they pulled, both in the original movie and the newer remake.  It also reminds me of the mindset that came back to me when I was helping with a security audit for a non-profit last summer.  Listening to Chris’ tales of what it takes to be a pen tester or social engineering your way through things… and his other tales… overall, this session was a great catch!

Vendor Session – Building a Better Development Shop

I took a break after Thinking Like a Hacker so that I could eat lunch, say goodbye to new friends, and wrap things up myself.  I knew I was going to catch one more session before heading home to surprise my family for dinner.  The last session I caught was Building a Better Development Shop, as presented by my boss – Eric Wise.  In this session, he talked of how to attract and retain talented developers and even how to run them off.  All of the things he mentioned in his talk he also puts in practice at the Software Guild.  As he mentions… good developers are… worth it!  I also enjoyed how he mentioned what interviewing practices keep good developers away – I’ve had to set employers straight when there are bad typos in ads (such as Sequel, instead of SQL) and I’m not a fan of trivia games as part of interview processes.  The common traits of high performing teams and the stress of cross-functional teams reminds me of what I enjoyed on my past projects and what I look for when I’m building teams for projects.  Fatigue being deadly to productivity… this is something that we talk about at work.  When one of us is seemingly on a death march, our team talks about it and how we can all pitch in to get our colleagues off of the fatigue train and onto the train to success.  We’d rather divide and conquer than see our own die under the fatigue of work.  Overall, as he put it – good talent is hard to attract and hard to retain, but if you put the effort in and deal with what truly matters, it will be worth it in the end.

Conclusion

Overall, this CodeMash has been an enlightening experience.  When faced with tragedy, it was good to see my conference family and the tech community in general come together in support.  It was great for me to meet my MVP community program manager and see other MVPs.  Networking with other conference organizers, speakers, and community folks, I see a lot of potential for new events and new alliances in 2017.  It was good to see both my security and data science interests piqued. I look forward to the adventures ahead!

CodeMash 2017 Recap: Conference Talks, Day 1

For the first day of conference talks, I had some things I wanted to see and others that I ended up not seeing, due to a turn in events.  I may have been checking out topics I’ve been interested in, as well as scouting for speakers for Stir Trek (as our call for speakers opens January 15).   These are the adventures from conference talks day 1.

Data-Centric Encryption in Practice

I wanted to see data-centric encryption presented by Wolfgang Goerlich, as I’ve enjoyed his talks in the past and wanted to see what he had to say in this talk.  He is quite the storyteller, including Batman in his story.  For an 8am talk, there was laughter and sitting on the edge of my chair, waiting to see where the story would go.  It was great to see the cast of characters trying to get data as well as where the vulnerabilities lie.  I now have a list of more tools to play with.  One of my favorite words of advice in this talk is – encrypt everywhere, decrypt on use.  Overall, I really enjoyed this talk!

Leadership Journey: From Software Developer to Leader

During the event, my conference family was shaken by a tragedy.  Of all of my friends at the conference, there were a few in particular that I was really concerned about, including my friend Mike Eaton.  When I saw that he was doing a talk on leadership, I suspected he’d reference Jim Holmes’ The Leadership Journey book, and after this event, I wanted to make sure all was well.  Also, knowing Mike’s story about going independent and knowing that he took a job full-time with Quicken Loans, I was curious to see how he brought all of his adventures together in this talk.  Sure enough, I was right in that he mentioned Jim’s book as part of his presentation.  Mike did a great job of keeping himself strong throughout the talk.   One of the questions that Mike mentioned in his transition from consultant to employee and management was What is your ‘why?’  I know my whys for going back full-time and taking the opportunities presented.  I will always have whys.  Another running theme in his talk was People are hard.  I am in the process of transitioning back to management (after years of being away), and it was good to hear Mike’s adventures to remind me of the path I’m getting back down again.  He’s right – people are hard.  But oddly enough, I enjoy those challenges.  And as always, I was glad to catch one of Mike’s talks, as it had important lessons.

TechHappy: Hacking Positive Communities

After I heard that my Microsoft MVP Community Project Manager (CPM, formerly referred to as our MVP leads) was going to be at CodeMash, I made it a point to catch at least one of her sessions.  I wanted to meet her in person, as I missed the MVP Summit last November and end up missing our regional gatherings due to work or family obligations.  Lisa Anderson did a great session on hacking positive communities – taking ideas from positive communities and how we can use them in our own communities and lives.  There was a lot of leading with positivity and happiness.  She mentioned two different leadership styles – resonant vs dissonant.  She mentioned How Full Is Your Bucket by Tom Rath, which is now on my list of books to check out this year.

One of the things I really enjoyed about this talk was the reference to Tina Fey and the improv exercise of “Yes… And…”.  Lisa mentioned Second City in Chicago, and this made me think of the improv sessions I’ve seen or gone through in the past with Mike Hagesfeld at Stir Trek and with Jessie Shternshus at a past CodeMash.  I also had to think of Bob Coppedge – one of my favorite people to talk business with – and his improv background and how he recently retired from Point of No Return, a local improv group.

I also enjoyed how she brought in the discussion of Hacking Your Flow State from a guy from Shots of Awe.  She asked us for how we felt when we feel we are at peak performance.  She also mentioned the Flow Genome Project and Flow Dojo.  Finally, she mentioned positivity and play – and she brought play dough!  I took 2 containers home to my boys, and they really enjoyed playing!

My boys playing with play dough from @LisaAnderson312

Have Your Best Season Yet: Becoming a (Microsoft) MVP

After meeting Lisa, she convinced me to join the MVP panel in the afternoon.  It was great to join in on the panel of what is a Microsoft MVP, what do we do, how do we get to become one, and all of the other details around the MVP community.  The panel was made up of a bunch of Visual Studio MVPs, all of us with varying backgrounds:

One of my favorite questions was about what we’re looking forward to this year.  After having presented Microsoft technologies on non-Microsoft platforms in my past (IronPython on Linux at PyCon 2009… with Jim Hugunin and the IronPython team in my audience!) … I am beyond thrilled to see .NET Core on Linux being an official stance.  I am looking forward to .NET Core, seeing its possibilities, helping talk about it on a non-traditional platform, and see how it gets adopted.

I really enjoy my adventures as a Microsoft MVP, and I am thankful that they renew me.  I am also thankful for the privilege to be on this MVP panel with such a diverse group of techies.

Bringing Up Our Future – On Mentoring Junior Developers

Last year, I had a standing room only talk on mentoring junior developers. This year, they moved me to a bigger room, and I had a lot of fun presenting many of my mentoring experiences and lessons to a larger group.  (For the record, I was wearing my Sadukie Squadron shirt that my Akron Java September 2016 apprentices from The Software Guild created to represent our group.  My apprentices rock!)

Representing #SadukieSquadron

The thing that got me the most excited about my talk was seeing Melinda Walker of One Squiggly Line come into my room with the tools of her trade.  I had seen her in action last year, and when I saw her walk in, I knew what was going to happen in my talk – Sketchnotes!!

SketchNotes from Mentoring Junior Developers, courtesy of DevCoaches

Long story, short – I really enjoyed sharing my lessons on mentoring – both with my interactions with my own mentors and with my apprentices.  I will be writing a couple blog posts in the future to talk more about my mentors and my relationships with them, as well as how to find mentors.

Laser Pong 2 – Taking Back the Record

Last year, they had a record setting laser pong challenge.  Apparently some guys claimed the record after the CodeMash record.  So this year, we came back with a vengeance.  I was hanging out with some of my DevCoaches friends – Dave, Victor, and Matt – and figured this could be quite an adventure for us.  We were seated in section R3 – probably the most united section.  Lots of cheering, lots of competition… however, in the end, Team Bitchin lost to Team Rad 11-7.  While there was a winning team and a losing team in terms of the competition, the main point of this exercise was to reclaim the world record.  Our independent witnesses counted 380 of us to hopefully take the record back!

Conclusion from Day 1 of Conference Talks

Overall, it was quite a busy day.  I really enjoyed the sessions that I caught and even in the ones I participated in.  CodeMash has been exciting, enlightening, and really inspiring… and there was still one more day to go!  I am thankful that my husband encourages me to go to CodeMash every year, and I’m most especially thankful for being able to go this year, as there are more friends to make and more things to explore.

CodeMash 2017 Recap: Pre-Compiler Day 2

As I mentioned in yesterday’s post, one of my personal tech topics that I want to explore in 2017 is data science.  For as long as I’ve known, I love data.  As a hobbyist in my teens, I was playing with Access and reporting on data.  I eventually migrated to Visual Basic talking to Access… which led to me taking an internship right out of high school where I was QAing data sheets and working with a contractor on an app that was migrating an Access database to a VB front end and SQL Server back end.  That contractor saw my curiosity and excitement around data, and he introduced me to the Oracle database administrator.  Fast forward into my career – lots of fun writing data reports in Crystal Reports and SQL Server Reporting Services and wearing the database administrator hat over many versions of SQL Server!  Moving right along, I end up writing and supporting web applications that talk to SQL Server back ends.  Nowadays, I’m working at The Software Guild, writing database curriculum for both C# and Java cohorts and encouraging our apprentices to explore databases – amongst other topics.  I get to play with SQL Server and MySQL.

However, as much as I get to play with these tools and data, I’ve been more curious about the topic that is getting a lot of talk – data science.  One of my friends asked what we wanted to learn more about in 2017, and when I mentioned data science, another friend asked if I had met Matthew Renze yet.  While I hadn’t crossed paths with him at that point, I was curious.  He linked me to his courses, which gave me an idea of what to expect with the pre-compiler.  Most of all, I was looking forward to a day of data science at CodeMash, hoping to see what all the talk was about.

Pre-compiler – Practical Data Science with R

With a name like “practical data science”, I went into the pre-compiler expecting how to work with R and put it in practice.  The name of the pre-compiler workshop set the expectations for me quite clearly.  Reading the abstract and the pre-reqs for it, everything was spelled out enough for me to have reasonable expectations going into it.

R and RStudio

In this Practical Data Science with R workshop, we learned about the R language and used RStudio to run through labs on various topics in data science.  I really enjoyed Matthew’s storytelling, weaving a story around a fictitious guy’s ridiculous idea for a space western musical movie.  We played with a movies dataset for many of our labs, looking at the data and seeing why this guy’s musical idea was a bit ridiculous and unwise. For some other labs, we also played with iris data.

Looking at the R language, it made sense to me.  Everything being treated as a vector… I had seen that in other languages before, so it didn’t seem foreign.  The arrows of assignment reminded me of lambda syntax in Java and C#… oh arrows and lambdas and assignments… again, it seemed familiar enough.  The indexing with the ranges reminded me of my adventures with Ruby Koans of CodeMashes past.    Even now, as I recap this, I am realizing that some of the familiarity is due to my past background – surviving engineering and math statistics courses using MATLAB and Maple.  In fact, during the workshop, I mentioned to my friend Victor that I wish I had this mentality back then, as my advanced math classes may have been more tolerable back then.  Playing with R reminded me of how much I love analyzing data and building out visualizations.

R in Visual Studio

In the workshop, Matthew Renze mentioned that you could also run these things in Visual Studio.  Of course, I couldn’t resist – running a new language for me in a tool I am quite familiar with!  I installed R Tools for Visual Studio and ran through the labs from today in Visual Studio.  I really like that the Ctrl-Enter to execute code in RStudio carried over into Visual Studio.  The visualizations were neat to see when I ran them in Visual Studio.

Inspiration to Play More

After sitting through the data science workshop today, I realized a lot about myself and my love of data.  I realize that my love of data really hasn’t changed in the past couple decades – I really do enjoy seeing what all is in a database, how the data relates, the various trends, cleaning it up, understanding why there are certain trends and what the outliers may indicate.  While I had a quick flashback to younger me not happy in my classes in college that introduced the concepts, I realized that I still like the visualizations and calculations, and with the right teachers, things aren’t as bad as they once seemed.  Playing with data makes me excited, and today’s workshop reaffirmed that.

This really confirmed – 2017 will be my year to have fun with data science.

CodeMash 2017 Recap : Pre-Compiler Day 1

Tech-wise, personally, my goals for 2017 involve learning more about data science (especially R and Hadoop) and playing with .NET Core on Linux.  (Have I ever mentioned how excited I am about writing code in a language from Microsoft on an operating system that is not Windows?!?)  Work-wise, I should probably be focusing on C#, Java, and JavaScript-related topics – including which frameworks may win the framework adoption in the JavaScript realm.  Since I’ve heard Angular 2 was a much different beast than Angular 1, I figured I should probably learn more about Angular 2.  So with CodeMash – I knew I had to take advantage of learning from amazing minds on these things.

Pre-Compiler 1: Introduction to Angular 2 (Part 1)

Knowing we have Angular 1 mentioned in some of our curriculum at The Software Guild,  I figured I should at least know a bit more about what’s in Angular 2.  Seeing an Angular 2 pre-compiler in the lineup, I had to see what it was about.  Now, with Angular 1, we do all things in JavaScript – from templates to directives.  Angular 2, though, looks like a lot of TypeScript.

The pre-compiler’s description mentioned:

We will go over everyting that a developer will need to be productive in Angular 2, including components, directives, pipes, services, dependency injection, as well as overviews of RxJS and TypeScript.

Thankfully, I understand the above concepts very well in numerous languages.  However, I had only seen TypeScript in passing and hadn’t had any experience with RxJS.  That description though mentioned that there would be overviews of both, so I didn’t anticipate any issues.

In preparing for the pre-compiler, I installed my pre-reqs and ran through to make sure versions were correct.    I re-read the pre-reqs and still felt confident that this session would be for me.

Even though we will work in TypeScript, a working understanding of JavaScript is essential…

Experience with a modern web framework is not required but would be very useful (React, Angular 1.x, Ember, Vue)

An understanding of TypeScript would be helpful but is not required nor essential — there are lots of example provided

I’ve been working with JavaScript since the late 90s, so that didn’t phase me.  We cover Angular 1..x in one of our courses, enough for me to gather the overarching patterns of Angular.  However, again, no TypeScript here.

Going to this pre-compiler, I expected a little more guidance on how they structure their projects and how this code talks to each other.  However, there wasn’t much guidance.  The slides were also incorrect, but thankfully I know enough about git to  know how to search his tags and do git checkouts as needed.  For the first couple labs, I would check out the solution and then work backwards to understand how the code comes together and just what is going on in each of the TypeScript files.  Oh yeah… did I mention that this is heavily TypeScripted?  Yeah…

After a couple of labs of working backwards from the solutions,  I started to feel comfortable enough to attempt a solution on my own.  I was mostly there other than missing a little bit of component code.  However, I saw the pattern and started writing TypeScript files based on the pattern presented.  After a couple more labs, though, I realized we weren’t getting enough direction and were getting a lot of glossed-over descriptions of code. I could continue the lab on my own time and work backwards on my own time.  This wasn’t as beneficial as I had hoped – other than starting to pick up TypeScript and bolster my confidence in debugging and working backwards from solutions.  It’s time I use the law of 2 feet:

If you are neither learning nor contributing in a session, you are required to get up and leave and join another session in progress where you feel you’ll be more useful and inspired.

Pre-Compiler 2: Game Development with the Unity Game Engine (Part 2)

While talking with friends at lunch, my friend Victor convinced a couple of us to follow him back to Mike Geig‘s workshop on game development with Unity.  Thankfully, when I was installing pre-reqs for my pre-compilers, I installed Unity just in case I changed my mind.  I’ve known Mike from the conference speaking circuit, and I was curious to see his presenter style as well.  I was a little nervous as I really struggle seeing some aspects of games, and I really hadn’t had any background in Unity.  However, my C# background really helped in this when playing with the scripts.

I really like Mike’s presenting style:

  • Set the expectation of what we’re going to do
  • Do the thing while pointing out each step along the way
  • Recapping what he just did
  • Post the steps for us to do the same thing
  • Recap what we just did

For not having background in this and for jumping into the workshop halfway through, I honestly enjoyed this session a ton.  It was great to see how Unity works, and it gave me some ideas on things – granted I need graphics people for help, but it gets me thinking.  I also look forward to us having Mike come speak at our user group sometime this year, as he has some cool topics and has a presenter style that really works well.

Pre-Compiler Day 1 Conclusion

Overall, I learned quite a bit today.  There’s still 3 more days of learning at CodeMash to go.  However, today was quite an adventure in JavaScript, TypeScript, Unity, and C#.  I can’t wait to see what else I’ll learn!