Ego Check – Testers Are *Not* Inferior to Devs

After talking with people – recruiters, developers, testers, and many other techie types – I see a lot of people quick to judge testing as a task inferior to development.  Seriously?! Inferior?!  Ugh!  Time to level set and get some people off of their high horses….

Testing as a Subset of Development

Testing – in some regards – can be seen as a subset of development.  What do I mean?  Development is huge – front-end/back-end, APIs, database development, AI development, microcontrollers, search engines… and more!  There are plenty of applications for development.  Testing is one of these subsets.

In terms of testing from a development perspective, there are languages and libraries out there that allow us to use our development skills to automate the testing of things.  Whether you may be testing JavaScript with Jasmine, .NET with NUnit/RhinoMocks, Java with JUnit/Mockito, Python with PyUnit, ruby with Test::Unit, PHP with PHPUnit, headless testing with headless Chrome or phantomjs, Node with mocha and chai, general front-end testing with Selenium/WatiN/Watir/Watij… and these are just the technologies I personally am aware of.  There are a lot of testing frameworks, testing harnesses, testing libraries, and other support for automated testing in various languages.  And this development comes in many forms:

  • Unit tests – individual methods or blocks of code to be tested in isolation
  • Integration tests – how do things play together
  • Regression tests – end-to-end testing

And what if you want to take an acceptance test or behavior driven approach?  There are ways to integrate coding with that as well!  Think of SpecFlow for .NET, Lettuce for Python, RSpec/Cucumber for Ruby, Behat for PHP, JBehave or Cucumber for Java, Jasmine or Cucumber for JavaScript… and again, these are just what I’m aware of.  There are other tools out there!

Testing is not Solely Development

A tester’s world is a lot more than just automation.  There’s still exploratory testing – manual testing.  That’s right – people using an app sometimes with little to no documentation so that they are forced to figure out how the app works and find the flaws.

A tester’s mind is a bit different from a developer in that they think through things with a user’s mind and not just a developer’s mind.  Not all devs can think like their users, so the devs don’t know necessarily what to test.  This is why testers exist – they ensure the quality of our applications and are meant to help find these pain points for developers ideally before they hit a production environment.  Sometimes, testers focus on code, sometimes on user experience, sometimes on other things.  Overall, though, testers are a crucial part of software development and should never be seen as inferior.

Testers Aren’t as…

Just stop!  Just like there are general developer conferences, there are tester conferences as well, including things such as:

Some of the testers I follow on Twitter include:


I am tired of hearing developers say that testing is an inferior skillset and that the act of testing their code is inferior.  Seriously, it’s time to wake up and see that testing is a world of its own, with a lot of awesomeness going on.  And if you’re too busy on your high horse, don’t be blaming QA or your testers when your buggy code gets to production.

Why I Do What I Do

I have to thank Cory House for mentioning this article about Why Do You Do What You Do Because You Better Know.  With some changes happening, this is something I have personally had to face.  I am wrapping up things at The Software Guild at the end of this month, as I have decided it’s time for me to pursue other career directions.  Talking with some people, the “why do you do what you do” and the “what do you do” questions have come up.  It’s been interesting chatting with them, though, as I find my friends and contacts in the field see other directions for me, which don’t align with my vision.  So I figured I’d put this out there for others to see… what do I do?  And why do I do what I do?

What Do I Do?

There are many things that I enjoy:

  • Organizing conferences and other tech events
  • Speaking at conferences
  • Teaching in the classroom
  • Mentoring – in-person, over coffee/tea, via email, online
  • Creating technical programs for others – be it lessons, modules, after-school programs, or larger programs
  • Making tech less scary, more approachable to others
  • Social media – blogging, Tweeting, engaging with others online

Some people may see my steps in the leadership, teaching, and mentoring realm as going soft.  However, I also have technical interests, including:

  • Data engineering – especially exploring various platforms and tools:
    • D3.js
    • R
    • Python
    • SQL Server
  • Web development – especially looking at the various CSS platforms and JavaScript libraries out there
  • API development – reading up on strategies
  • DevOps!!!
    • finally, something that allows me to put my dev skills and IT skills to work TOGETHER and makes sense
  • User experience development

Why Do I Do What I Do?

Long story, short… it’s fun!  I have always enjoyed playing with technology.  When I learn a new tech, you will hear the word play used, as that’s how I see exploring applications of technology and concepts.  Whether I’m building a sample app to prove a concept can be done or really have a legitimate use for these tools, I take fun approaches to technology, keeping my curiosity and interest up.

When I take on contracts and work with others, I choose to partner with companies that keep me on my toes, challenge me in good ways, and help bring out the best in themselves and others.  I find companies and people that align with my beliefs, morals, ethics, and general career direction.  I want to make sure that I make a positive impact to the world.

Over time, I have realized that not all people can teach others.  There are certain levels of communication and patience needed, and somehow I have those.  I enjoy building materials and teaching them because of the impact – watching others become more informed, seeing those “ah-ha” moments.  When I know that I can teach others something complex and have them realize it isn’t that complicated and really is approachable, that makes me have hope in the world… hope for humanity, hope for future generations… or at least for today.

I also appreciate the flexibility that I have in this career, especially at this point in my career, over 15 years in tech.  Being able to make my own schedule, being able to volunteer at my kids’ school, being able to go out to lunch with my husband… being able to put in time working when my kids are asleep (or choosing to spend some of that time with my husband)… having that kind of flexibility is invaluable.  So part of what I do is indeed for the flexibility.

So What’s in Store for 2018?

I have some folks reaching out to me to help build programs for them.   Also, restructuring my LLC for Space Apps last year means I have contracting companies trying to get me into federal contracts.  If you see something in my “What Do I Do?” that may benefit you and if you see that we may align in the “Why Do I Do What I Do?” part, reach out to me here or on Twitter, and we can take it to email as well.  I look forward to partnering with others in 2018, especially those who can put my talents to use and align with my goals and beliefs.

Why I Participate in #PayToSpeak

Over the past few days, I saw a lot of people talking with the #PayToSpeak hashtag, and knowing that some of my followers were curious, I figured I better weigh in.

Community-Run Events

When I know an event is community-run, then I know to expect some degree of #PayToSpeak.  Face it – when a community group is just starting out, sponsorship is a tough thing to get.  I want to see a community be stronger from our community-run events, so if there isn’t a budget for speakers’ travel and entertainment, {shrug} that’s fine with me.  I’ve been organizing community-run events since 2008, so I am sympathetic with those running the events.  I really enjoy seeing communities help each other grow.

Now, if it’s a community event that’s well-established, then that may be a different story.  I may ask for some assistance with travel costs – a hotel room or a place to crash is appreciated.  But for me, I see value in speaking to particular audiences, knowing that it will lead to work.  So I take that into consideration and typically shoulder some of my costs since I know they’ll be recuperated later.

Events and the Distance Factor

If there’s one thing people should know about me, it’s that I’m a family person.  I like being able to talk with my family when I’m on the road and try not to travel far from home.   So you don’t see me leave far from the Cleveland area – usually sticking to Columbus, Pittsburgh, and Detroit.  Sometimes, I can make exceptions for Cincinnati, Dayton, and Kalamazoo.  If it’s a relatively short drive (one I can do in a day sanely) and if I don’t have to stay more than a couple nights, I’m happy.  So I keep fairly local so that if I have to #PayToSpeak even a little bit, the costs are kept down.

If I am far from home but have friends or familiar faces where I am, that also helps.  When I am traveling and knowing something familiar is at the other end, then I feel less anxious.

What About Flying? That’s Expensive to #PayToSpeak!

As long as I don’t have to fly through La Guardia, then I am okay with flying.  Anything with direct flights out of Cleveland or Akron is even better, as I have yet to fly somewhere with a direct flight.    I do fly for engagements at times, but I keep that to a minimum as that gets costly, and that’s a cost I’d rather see the engagement pick up than have to pick it up myself. (I will work with the engagement to keep that cost low.)

This year, there were a couple events that went outside of close distance, and within good reasons.  I’ve known many of the Music City Code folks since pre-parenthood, and many are considered part of my tech family on the road.  Since my husband has been pushing me to get back into conference speaking again, I figured I’d go to a familiar area.  As for KCDC, that was one I had heard my friends mention, and seeing Jeff Strauss involved with it and knowing that my friends Mike and Jay think well of him, I figured I should see what that was like. (Also, I’ve learned that the KCDC crew are just as awesome and are also friends with my friends. So the tech family grows!)

Why Not Ask ALL Conferences for Travel Assistance? Why #PayToSpeak at all?

I’m also an event organizer and not just a speaker.  So when I sign up to speak at an event, I am also considering what the event organizers have to deal with in comping speakers’ expenses.  As Jim points out,  the costs do add up crazily if we – as organizers of small to medium-sized conferences – comp ALL of the speakers’ expenses:

What About Larger, For-Profit Events?

Depending on where those are held, how they align with my schedule, and what is covered, I’m a lot more selective with larger, for-profit events.  These, I typically will not #PayToSpeak.

Why #PayToSpeak?

There are times when I have little hesitation on considering #PayToSpeak some:

  • Helping a new community up off the ground
  • Promoting community alliances
  • Seeing old friends and making new friends

I think David Tanzer captured my overall thoughts well:


So I am okay with #PayToSpeak for the right cases.

Kalamazoo X – Inspiring Change

For the past 9 years, my dear friend Michael Eaton has been holding an amazing conference in Kalamazoo, MI called Kalamazoo X.  In 2018, he will be putting on the 10th Kalamazoo X conference.  And he has quite the line-up!

In 2009, I had the privilege to be invited to speak.  I had the speaking slot before lunch and took advantage of that.  It was great to inspire others to talk to other people and share stories, encouraging social media.  Not only did I speak, though, but I also paid attention to other talks going on and learned a lot that day!  Check out my 2009 Kalamazoo X recap!

While I haven’t been able to make it back – as April is my chaotic month between family obligations and some of my own conference/events planning – I cannot recommend this enough!

All Speakers are Invitation Only

Mike handpicks those who speak at his events.  Whether it’s someone in the local Kalamazoo scene or someone in our speaking circles who really stands out and shares a message he really wants delivered, Mike has a variety of speakers of all walks of life.  As he attends conferences, he takes recommendations from us as to who else he may want to look into besides the usual people.  However, it comes down to what Mike wants for his event.

Topics are Geared for All Sorts of People

The topics that appear apply to all sorts of people and not just tech.  They can apply to juniors, mid-levels, seniors, technical and non-technical.  Some of the topics they’ve covered include:

  • Self-Promotion
  • Branding
  • Empathy
  • Change
  • Neurodiversity
  • Teamwork and Collaboration
  • Mental Health
  • Managing Expectations
  • Leadership
  • Geek Parenting
  • Culture
  • Mentoring

A little something for everyone!

Amazing Storytelling

Looking at past line-ups, one thing that all speakers have in common is that they’re storytellers.  They not only make a point, but they bring interesting stories to help illustrate their points.  They use empowering words while keeping it real.  They captivate, engage the audience, and make an impact whether it’s through introspection or an explicit call to action.  They motivate and are truly inspiring.

My Call to Action for You….

When I think about Kalamazoo X, the storytellers who’ve come and gone, and the lives it has impacted, it gets me feeling warm and fuzzy – in a “restoring faith in humanity” kind of way.  Go check out the Kalamazoo X site.  And if you’re looking for inspiration and motivation to be a better you in 2018, put “attend Kalamazoo X” at the top of your 2018 goals!

Thoughts of My Dream Job Situation

While watching Twitter, I saw this pop up in my stream:

As I have taken a twisty career – tech support to desktop admin/webserver admin/reports writer/DBA/developer (all under an IT analyst role) to web developer to independent consultant (mostly development) to teaching assistant to instructor to lead instructor – I have always wondered – what really makes up my dream job?  SwiftOnSecurity’s question has me thinking.  These are some of the things I’ve liked in past or current roles.

Flexibility – Not Tied to Certain Hours

As a mom, it is important for me to be in a job where I can volunteer at school every now and then and where I can be available to handle that call when the teacher has a hazmat situation where the kid needs to be sent home (you may laugh – I had this one happen in the past couple months).   I need to be able to address mom needs every now and then, unapologetically and without a lot of extra guilt.  As a working mom, I feel guilty as it is when I have to leave work early.  However, I end up working when my kids are asleep, so the time gets in eventually.

My strong productivity times are when my kids aren’t around – so when they’re at school and when they’re asleep.  Now, when they’re home, that’s my family time.  My guys are little – 3 and 5 – so I’m at a phase where I’m still an important figure to them.  I need to be able to have that time and not feel tied down by work.

Leadership – Two-Fold

I truly enjoy leading people.  Whether it is in an official capacity – such as leading my tech support team and leading an Online remote instructor team – or an unofficial capacity – such as mentoring juniors while I didn’t have an official “lead” title, I have enjoyed supporting others in their careers, being the voice of them against the business side (HR/accounting/etc.), and encouraging team morale.  Leadership is in my blood – it’s a part of who I am, and it’s something I’ve embraced.   My enthusiasm for leadership is quite clear in my servant leadership talk that I will be delivering in January 2018 at CodeMash.

As a leader, I thrive with other leaders who are communicative, transparent, honest, and know how to handle even the tough situations.  When the going gets tough, if my leaders are transparent with me, that makes it easier for me to be able to disseminate the knowledge appropriately to my team.  As a leader, I prefer to have that transparency and open door policy for my team and expect that of my own leaders.

Play and Creativity

For me to be successful in any role, I need to be able to play.  No, I’m not referring to Nerf gun wars or Corporate Challenge type things. I’m referring more towards having fun while learning.  Is there a way for me to learn a new technology while having fun?  Can I put my creative ideas to work to make my work environment or the tech community a better place?  If I enjoy whatever it is I’m working on, there’s a much higher rate of me being successful.

Education / Training Others

I am enjoying the education space, much like I enjoyed academia while in college.  The one downfall to this is that I only have a Bachelors degree – but I won’t let that slow me down.  I did have my app in for a Master program but rescinded it recently due to a downturn of events.  Maybe one day…

What do I enjoy about the education space?  I enjoy teaching others with examples and real world applications of concepts.  I especially like taking concepts that seem difficult to others and making them approachable.  I enjoy writing curriculum and presentations.  Most of all, I enjoy learning and helping others grow in their careers by learning.


This is something I really enjoy – being able to share my stories and experiences with those who are just getting started in the field, and learning about their journeys and how to apply their journeys to where they are today.  I remind those who learn from me – I also have my own mentors!  Having mentors – especially ones outside of your company – give you a wider perspective on things, and being that person for others is something I really enjoy.

The Road to my Dream Job (of Today)

For now, I will continue to go down the path my career has taken me so far and see where it will lead.  Every day is an adventure, and every step changes who I am.  And each experience, I learn more about myself – my likes and dislikes, what helps me thrive, and what sets me up for success in the future.  I look forward to seeing where this path goes.

CarNSteer - Sarah's first Squeak demo

Initial Thoughts of App Inventor

Recently, I was voluntold for a teaching adventure for a local high school.  We were going to meet with high school students for a career day and show off App Inventor 2, having them go through the Magic 8 Ball tutorial.  The night before the presentation, I ran through the tutorial and ended up with this:

Initial Thoughts – Complicated Yet Simple

When I first learned programming, I had it easy – one screen, no drag-n-drop UI, no properties.  For a starting tool, the App Inventor landscape is feature rich, which can be intimidating for someone just starting out.  Designer vs Blocks… the various groupings on each of those screens… if I wasn’t familiar with IDEs in general, I may find this to be a complicated setup.

However, at the same time, drag-n-drop development is a bit simplistic.  No need to remember when to use curly braces or square brackets.  Code blocks are different.  And what’s even nicer with App Inventor is that you can create an app that responds to an accelerometer shake with a few drags of code.

Something else that’s nice is that the App Inventor tutorials are well laid out, making it easy to understand what’s going on.

Puzzle Pieces as Building Blocks

When I first saw the Blocks interface with the puzzle pieces layout, I liked that I could talk to them as pieces of a puzzle.  This also reminded me of Scratch, as I am aware of Scratch and how it is used to get kids into programming.  And deep down, it reminded me of the topic of my first solo speaking engagement – Squeak!

CarNSteer - Sarah's first Squeak demo

Now What?

Now that the high school engagement is over, I want to play more with App Inventor.  Why?  Because I’d love to expose more people to coding and want to know more about this tool and use it when appropriate.  Will I recreate the Car N Steer demo that I presented in 1999 when I talked about Squeak at the Toledo Area Linux Users Group?  Will I write more apps that work with various sensors in my Android phone?  What will I create next?  Stay tuned, as I suspect another app will happen soon enough.

Before Contracting, Do Your Research

Within the past couple months, I’ve been dealing with junior devs who have taken on side gigs and signed up for contracting gigs without really knowing what they were getting into.  As someone who owns her own LLC and can do the side gigs, I find myself explaining to them things they should have learned about before deciding to go the contractor life.  So these are some of my thoughts and experiences.

Build a Support Network

Whether you are going completely on your own or doing side gigs while working a regular job, be sure that you have someone who can mentor you and can give you advice in situations common to contracting.  Find someone who understands the business side – timekeeping, billing, contracts, business pipeline, etc. – and who can help you understand it better.  Find someone who understands how to sell yourself and make yourself stand out.  Find someone who can help figure out problems such as work/life balance.  Don’t try to go it alone without a support network.

2 Key Allies – The Accountant and The Lawyer

Unless you truly are trained in these, you need to have an accountant and a lawyer on your side.  Some may meet virtually, some in-person, and some may mix both.  Go with what you prefer.  The accountant is the one who can help you figure out things such as setting up your accounting books, making sure AR/AP is set up properly, making sure you’re taking the right taxes, offering guidance if you are charging taxes, and everything in between for basic financial transactions.  The lawyer is the one you go to with the contracts to make sure that they’re written so that the best situations for both parties are represented.  Don’t want non-competes?  Specifically worried about who owns the work at what point? There are lawyers of various types out there to help with that.  There are certain things you can and cannot say in contracts, and lawyers are great for getting that in place.  There’s more to lawyers than just a courtroom.  Also, when forming a company, you may find an accountant or a lawyer that can give you their perspective of the various types out there – a sole proprietorship versus a partnership versus an S-Corp versus other types out there.  While these professionals may be costly, at the same time, it would be more costly to be without them and mess up any of their functions.  They are well worth the investment.

Know that it can be Feast or Famine

Contracting has its ups and downs.  Sometimes, business is awesome and the pipeline is overloaded.  Sometimes, business is down and the pipeline is empty.  It’s a balancing act in finding what works for you.  Know that those extremes happen, and be prepared for what happens if the worst points come and how long you can sustain those.  Know your audience and how to market to them – that will help you in your advantage.

Benefits… or Lack Thereof

Something that some of the younger ones are surprised with is that there isn’t health insurance, life insurance, training, mentorship, or {insert some other company perk} here when you’re contracting.  While you might get a flexible schedule or a certain rate or being able to pick and choose what you work on, you have to remember that – as a contractor – you typically won’t get the benefits that your clients have.  It is up to you to provide for yourself – health insurance, life insurance, business insurance, etc.  Want to stay up on your skills or learn new things?  The cost – and not just monetarily, but time as well sometimes – of conferences or things like Pluralsight or DevIQ also need to be factored in.  When you have to cover those yourself, you need to consider the cost of those when figuring out your rates.

Doing Research

Going into contracting wasn’t something I just jumped into – though when I had quit my job to go contracting full-time originally, it may have seemed like that.  I spent a couple years observing my friends in the field.  As much as I tease him for giving that workshop everywhere, I enjoyed Michael Eaton’s “Going Independent” workshop. I talked with some of my business owner friends and mentors in the field.  And I made sure that I had all my ducks in a row before making that leap.

So if you’re going the route of contracting, be sure you do the research before getting yourself into a tough situation.


I was contracting from late 2011 until 2016, when I took a position full-time where I am now.  I still have some work that I do under my LLC from time to time.  Would I be a contractor again? If it was the right time and all the cards lined up, absolutely.  But for now, I’ve done my research and am full-time with a company that aligns with my own career goals and allows me to bring out many of my tricks without having the administrative duties of timekeeping and billing.  However, with my experience, I have a feeling I will be talking with more who have entered into contractor life without really realizing what they’re getting into.

Finding Internships in the Tech Realm

A question was recently posted on Twitter on how we got our first jobs in the industry.  This was my response:

However, I had internships pre-college and throughout college and figured I’d share those stories as well.

Internship doing Datasheet QA – Pre-College

One of my brothers’ friends’ dads worked for a large company in the area, dealing with software-related things.  He talked with me and his team interviewed me, having me QA their database, checking that the data in the database matched the datasheets in the specs.  As someone who has an eye for data, this was a great step in the right direction.  While at this place, I found myself moving to a project with a contractor, learning how to migrate from an Access database to a SQL database with a Visual Basic front-end.  I was already familiar with Access and Visual Basic, as I had been playing with those as a hobbyist at home, working on an address book (that I later released on Nonags).  That contractor saw my love of data and introduced me to the Oracle DBA, so that I could see that as well.  Seeing SQL Server and Oracle, I hoped that (1) college wouldn’t be so awful and (2) once I get through that pain, maybe I’ll get to work with data.

Job Source: Family connection

Y2K Programmer

Yes – that was my job!  In the summer of 1999, I ended up working in headquarters of a local retail chain, making sure accounting, payroll, and other systems were Y2K compliant.  I learned FoxPro for this job as well as doing more ETL.  Now how did I end up in this role?  I used to work in the retail chain as a pharmacy tech, working for my now father-in-law.  I think he told me about the role up there.  It was great to get in at HQ, and it was even better when they walked me around on the first day and I ran into family from my mom’s side.

Job Source: Family connections

The Internship That Didn’t Exist

When I came home in the summer of 2000, I didn’t have an internship lined up, and the university’s co-op program placement was useless.  So I looked at the classifieds in The Plain Dealer, a local newspaper for Cleveland and its suburbs.  I noticed a Fortune 500 company with a listing looking for a developer with Visual Basic and SQL Server experience.  Knowing that I had those skills from my past experience, I wrote a cover letter that sold them on the fact that (1) I’m young (and cheap!!), (2) I already have the skills they need, and (3) I don’t need a lot of hand-holding and tend to hit the ground running.  Also, I pointed out that they could bring me on board so that the project didn’t get back-burnered and since I was temporary, it would give them more time to find a more permanent employee.  All the magic words led to an interview, which led to a corner office in downtown Cleveland and a project working on Visual Basic and SQL!  I finished the project with weeks to spare, and they didn’t need to hire an employee for the role after all.

Job Source: Classifieds in The Cleveland Plain Dealer + good personal sales

And, of course, the job I ended up at the longest while in college…

IT Support with the Coolest Guys Ever

Yes, I loved working in IT for the Arts & Science College Computing crew at the University of Toledo.  It was an adventurous part of my career in learning about just what IT encompasses and the good and bad parts, especially in the academia realm.  Supporting students, teachers, and executives, I learned a lot there and was privileged to work with a wonderful, supportive crew.  So how did I end up with this role?  A friend of mine was in the role prior to me, and he recommended me for the role.

Job Source: Friend 

Some Keys to Employment

This is something not just for juniors but for those overall – networking is key.  Talk to people, and listen to people.  Talk with family, friends, and yes… even strangers!  Go to Meetups, user groups, conferences, and other gatherings and network with others.

Don’t be afraid to see what opportunities are out there.  Newspaper classifieds were where I turned, but that was because in the late 90s and early 00s, that was where I knew to look.  Nowadays, we also have LinkedIn, Dice, Indeed, Glassdoor, Monster, Careerboard, ZipRecruiter, and other websites with job listings.  And if you see a listing you aren’t 100% qualified for, take a chance if it’s something interesting and you think you can learn the stuff they don’t have.  Most job listings are guidelines, not requirements that are completely set in stone.

You never know where your next opportunity will be.  Put yourself out there.  And remember – no one can sell you and your capabilities better than yourself!

Kansas City Developer Conference Recap

In early August, I had the opportunity to attend Kansas City Developer Conference in Kansas City, MO.  This was my first official trip to the city as an adult, as the last time I had been in the city was for the National Catholic Youth Conference in 1997.  My experiences this time around exposed me to a great tech community.

The Tech Family Reunion and #SarahConf!

One of my favorite parts of going to tech conferences is meeting other speakers and conference organizers, sharing experiences and learning from each other.   I enjoyed seeing friends I’ve made from my years in the conference organizing and speaking realms.  Most of all, I enjoyed meeting some of their local speakers and hearing about their adventures.   Great to meet new people and consider them part of my tech family!

Special thanks to Sarah Withee – @geekygirlsarah – for introducing me to #SarahConf:

Informative Sessions

In addition to speaking on “The Importance of User Experience for Developers”, I took some time to check out some of the sessions as well.  Some of the sessions I checked out included:

  • Sara Ford – The Psychology of Developer Tool Usability
  • Billy Korando – Everything Else New in Java 9
  • Michael Dowden – Introduction to Java Web Security
  • Jeff Cohen – Computer Science: The Good Parts
  • James Bender – I Promise to Give You a Callback: Working with Asynchronous JavaScript

The Psychology of Developer Tool Usability

With UX and usability (and Sara Ford’s energy and #SarahConf), I had to start with a topic that might bleed into my presentation topic.  I am always curious to see what others have to say, especially when it applies to developers.  This presentation lived up to what I was looking to see, despite 9 am brain going “basal ganglia?!  so early… can’t brain…”

It was great to hear Sara Ford’s experiences both from her times at Microsoft and with her Master’s Degree project as well.

Everything Else New in Java 9

Part of my work at The Software Guild has been teaching Java and contributing to their Java curriculum.  I’ve been watching Java 9 to see what is included, and I’m excited about what it has to offer.  While at KCDC, I caught Billy Korando’s session on Java 9.  It is interesting to see the modularity that comes with the Jigsaw Project.  This isn’t the first time I’ve seen this concept – it reminds me of something similar to PowerShell’s modules.  I’m also excited to see the REPL – as someone who sometimes teaches Java and who helps write curriculum to teach beginners, I can see the REPL being helpful for teaching.  There were some improvements to streams – which I was happy to see as it’s functionality we’ve had in C# with LINQ.  I like when I can show my apprentices that you can do similar things in C# and Java, which makes it easier for me to tell them that if you can understand one, the other has enough similarities to be easy to pick up.  There are plenty of other advancements in Java 9, and Billy had a lot to show in a short period of time.  He did a great job of showing these features!

Java Web Security

After the Java 9 talk, I had to get more Java in!  Michael Dowden presented on “Java Web Security” – including Spring Security, Apache Shiro, and Bouncy Castle.  We teach Spring Security at The Software Guild, so I was well aware of what I was getting myself into, topic-wise.  I hadn’t heard of Apache Shiro, and just saying Bouncy Castle makes me smile.  (A bounce house for Java?!?  Hmm… sounds fun! 😀 )  Being a web security talk, of course, the OWASP 10 had to be mentioned.  Seeing referenced as a resource validated what I’ve been recommending to my apprentices.

Computer Science: The Good Parts

When I saw this on the schedule, I had to wonder – what is someone considering “the good parts” of CS?  I started out in a Bachelor of Science in Computer Science and Engineering programming and switched after 2 years into a Bachelor of Science in Computer Science and Engineering Technology program.  So I never left the CS part – I switched from theory-focused to application-focused.  There’s a part of me that gets bored with theory and history and just wants to get into applying it.  As I’ve gotten older, the theory part is slowly getting interesting, and I am excited about the historical parts.  So… what did Jeff Cohen point out as some of the good parts?  Data structures – and yes, these can be fun!   He also mentioned some of the historical figures:

He even mentioned Grace Hopper’s take on a nanosecond, which led me to post:

Algorithms are fun too, and Manning has a great book I recommend – as the practical me likes its approach to explaining algorithms:

And one of the most important points that I gathered from the presentation is that computer programming and computer science are not one and the same.  I see many people try to say they are, so it’s good to hear someone else stress that they differ.

I Promise to Give You a Callback: Working with Asynchronous JavaScript

In our curriculum, I also help with the JavaScript materials.  Promises have been on my list of things to read up on and understand.  I’ve known James Bender for awhile, so I was excited to catch a session on something I’ve wanted to learn delivered by a friend.  His absurdly true pizza delivery story – you have to ask him about it – is a great analogy for understanding promises.  James sets the story up right, and it’s an analogy many of us pizza fans can follow.  Thanks to this talk, I can understand promises enough to apply them to code and write curriculum for them – it was a nudge in the right direction.


This was my first KCDC, and I hope it isn’t my last!  Jon, Boon, Lee, and Jeff really take care of their speakers and put on a great conference.  It was great to network with others, meet the KC tech community, and learn about new (to me) technologies.  I am inspired to create some new talks and take on new adventures based on what I learned.  Thanks, Kansas City Developer Conference, for having me!  This is on my list of conferences to try to get to every year.

Code Tunes: Come Write the Code

One of my co-workers has gone down the path of creating song parodies for code, which has inspired me to follow suit.  Today, I’m trying my hand at this with Styx’s “Come Sail Away”:


I’m coding away
Set an open file in my IDE
‘Cause I’ve got to be free
Free to write the code that’s inside of me
On board I’m the coder
So git on aboard
We’ll commit for tomorrow
With every for
And I’ll try, oh Lord I’ll try
To write code

I look to the log
Issues in the tracker make me code along
Some bigger, some small
I think of all the bugs and how to squash them all
With braces and semi-colons, we code the fix
Without a good test suite, one bug is six
But we’ll try best that we can
To code on

A gathering of coders appeared inside my head
They sang to me this song of hope and this is what they said

Come write the code
Come write the code
Come write the code with me, lads
Come write the code
Come write the code
Come write the code with me
Come write the code
Come write the code
Come write the code with me, baby
Come write the code
Come write the code
Come write the code with me

I thought that they were coders but to my surprise
They climbed aboard their starship and headed for the skies

Come write the code
Come write the code
Come write the code with me, lads
Come write the code
Come write the code
Come write the code with me
Come write the code
Come write the code
Come write the code with me
Come write the code
Come write the code
Come write the code with me