The Fear of Not Appearing Technical

Inspired by the greatest Sarah that I’ve met this year who has introduced me to #SarahConf…. this thread really hits home:

Sarah mentions the fear of being less technical, and it’s something I’ve felt as well.

Topics Early On

When I first started speaking, I focused on technical stuff:

  • Samba with SWAT (1999)
  • Squeak (1999)
  • IronPython on Linux
  • Data Types in SQL Server 2008
  • Silverlight
  • Python

And that was just in my first years speaking.  (And yes, I spoke in 1999 and 2008 was when I got started again.  Notice – they were technical talks.)  Looking at my files, it looks like I had one non-tech talk in that first year – on social media for geeks.

In 2009, that changed a bit as I did my social networking talk at Kalamazoo X, but I felt like things balanced out as I did IronPython on Linux at PyCon.  So a soft skills talk and a serious languages talk (one that I – to this day – look back and wonder how I survived without dying of stage fright and fear since the language team and father of the language were in my audience.  Holy nervousness!)… most of my talks though early on were more leaning on the tech side.

More Recently – Adding UX for Devs, Mentoring, and Leadership!

Adding UX to the mix, I worried that I would appear soft and non-technical.  Even though I care about the tech side, I also know that UX isn’t well-understood among devs.  I think coming from non-technical parents and having been in a customer-facing role, I have more luck understanding users and translating their needs to techies.  So UX is a natural affinity for me.

I’ve recently been speaking on mentoring, and in 2018, my servant leadership talk will be debuting at CodeMash!  While these are departures from technical content as well, these are still more skills that I feel solid in and that I also feel like others could learn a lot from me, my experiences, and my perspective.  This is part of why I talk!

But Wait… I’m Technical, Too!

The main reason why I decided to do talks on data science, R, and Python is to remind people that I’m technical too.  I’m not just a soft skills person, and I am terrified of being painted as weak in tech because I don’t speak as much on the technical side.  I’ve been interested in data all my life – if you hear me talk of mentoring, you hear my story of my internship right out of high school, which shows an early love of data and how much I light up with that guidance.  That curiosity and enthusiasm came out more in the past year and change, which inspired more talks.  So I inevitably add technical talks to my repetoire so that I can remind people – I’m still technical, too!

So yes… this fear of appearing less technical… it’s real.

Earning vs Learning

Once again, Cory House has a blog-inspiring question:

Earlier in my Career

Much earlier in my career, I would take pay cuts to learn technologies.  I thought that was the way to do things.  Once I felt comfortable enough with a technology, I wanted to know enough to apply it but not enough to deep dive and harvest the returns as long as possible.  I knew early on that if I sat still too long, I would feel like I wasn’t learning as much and growing stale while technology evolved around me.  I would rather have taken a pay cut and learn new technologies than harvest returns and stay put.

Current Point in my Career

Having been in technology for about 15 years, knowing what I know, knowing that I have an immense skillset with an aptitude to learn new technologies fairly easily, I find that I am not as quick to take a pay cut for new technologies.  I learn new technologies as side projects so that if I want to work with them professionally, it’s an easier slide and less chance of a pay cut.  Now, if I had to learn a new technology for a gig (which I’ve done A LOT in my career), I am fine with that.  However, my employers and clients pay a certain rate for me, knowing that they’ll get a certain quality out of me.  If I feel like I cannot deliver the quality while learning new technology, I might lower the rate, but it depends on the impact overall.

Constantly Learning

Regardless of the earning part, I am always learning.  I am one who cannot stay put, sitting still, getting idle.  I need to always stay busy – whether it’s work or play.  So for me, if I have down time, I am playing with new technology, learning how things work.   What can I say? I find technology fun, and learning how to learn technologies early on has set me up for a good career path. 🙂

These are my experiences.  Yours may vary.  I’d love to hear your thoughts, so please leave a comment below!

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:

Conclusion

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:

And…

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