Adventures of Working on an App

While I teach my apprentices how to write code, there comes a time where I have to be able to write my own code.  In the classroom, I’m good at using canned examples and even better at coming up with other relevant examples.  I really enjoy that part of my job – while I’m the queen of typos when it comes to live coding, I’ve learned to get past that and just have fun, which makes it that much easier for me to live code.

However, when I’m out of the classroom, I somehow escape that mindset and end up facing the same issues my apprentices have – getting trapped in my head between ideas and code and fighting through analysis paralysis.  Thankfully, there is a part of me that listens to what I tell my apprentices, and this is what my latest adventures have led to.

Brainstorming on Paper

Despite this being a digital age, I am one who thrives when I have pen and paper.  From drawing wireframes to making lists of things to be done, I find myself making lots of notes.  Whether it’s drawing on pads from UI Stencils or the many notebooks I’ve gotten from conferences and other events, I’m making notes of what I envision the user experience of the app to be.  As I do that, I watch wireframes flying out of my head, followed by data models.  Notes are added by buttons and menus as to what I expect to put there.  It’s such a fun experience once I get going.  By sketching my ideas out, I can make sure I’m on the right track.

Recently, I was asked to create a dashboard application, and while it’s something I’m working on solo, I still drew out some of my thoughts. Since I’m using technology that I’m very slightly unfamiliar with and feeling very rusty with some of this, I bounced the ideas off of a friend to see if I was missing anything.  Had I not shown them my notebook, I probably wouldn’t have been able to properly convey where my thoughts were.  It was good to get the ideas out of my head.

Starting to Code

Once I get through the planning phase of an application, then I transition into coding.  As my apprentices tell me, it’s overwhelming when you have a large idea and don’t know where to start. When you feel so overwhelmed by analyzing the problem and don’t know where to  start – that’s analysis paralysis.  Sometimes, sketching out the app makes the app seem larger than life, a daunting, overwhelming task.  So many moving parts… how do you know where to start?!?

This is when I take a deep breath, evaluate ALL OF THE THINGS, and break them into manageable chunks.  Sometimes, this means drawing out class diagrams – which is sometimes done on paper and sometimes done in my development tools.  Once I have that outlined, then I have a better idea of where to go.  With my apprentices, I have them do flowcharts to understand processes and flow of the program.  Once we get through these steps, I encourage pseudocode.  This is where I am now on my dashboard app – pseudocoding things and figuring out my layers.

The Nerves of Working on Apps

While I tell my apprentices to get used to failure and to check their perfectionism at the door, I struggle a little with this as well.  Not the failure part – I’ve embraced failure and see it as a stepping stone towards success.  My perfectionism though gets to me on projects.  Does this UX flow well?  Did I lay it out right?  Do I like these colors?  Wait… what if I did…?  The questions flow and I second guess a lot.

In addition to my solo app, I have another app in my backlog that involves coding with a friend.  While I’m excited to be working with this friend on this project, I’m still nervous with my own issues.  What if my perfectionism brings out a not-so-nice, cranky side of me?  (Silly, girl… your friends know how to deal with you.)  What if my code is a mess?  (Seriously?!  You don’t put up with that from your apprentices.  You won’t let yourself be that scattered.  Your chaotic organization won’t be in your code.)

The Excitement of Working on Apps

This is why I’m in software development – the excitement of working on apps outweighs the nerves every time.  I love taking an idea and making it come to life.  I enjoy solving the problems that others are having and making their lives easier or better in some way.  To watch my wireframes and notes turn into something that makes the world a better place – regardless of the size of the project – that is awesome!  When I hit that zone where ideas are flowing and code is flying from my fingertips… such a great feeling!  As for working with friends… to see how we think, where we differ, how we handle differences, and how we work together to make our ideas come to life… it’s quite an adventure!

Conclusion

I don’t think my apprentices or friends realize what it is like when I’m working on an app.  This is what it’s like for me to go through developing an app.  And with that… I’m off… another app to work on!

Being Part of a Team

My 4 year old has been singing “Everything is Awesome” as he’s been playing throughout the house this weekend, and after last week’s blog post and important conversations, I can finally breathe easily and agree – everything is awesome!

Everything is awesome
Everything is cool when you’re part of a team
Everything is awesome
When you’re living a dream

And it’s true – everything is cool when you’re part of a team.  So today, I wanted to take time to talk about some of my teams and how fun it’s been so far.

DevCoaches

In the past year, I’ve become friends with two of my fellow instructors – Dave Balzer and Victor Pudelski.  We eat lunch together and talk about everything under the sun.  I really enjoy the conversations we have, as sometimes it’s pure laughs and enjoyment and sometimes I catch something surprising that I don’t expect.  Dave had the awesome idea of recording some of our lunch conversations and turning them into a podcast – hence DevCoaches!  We talk about topics that people in software development could benefit from – from technical (polyglots) to non-technical (interview, impostor syndrome) to coding bootcamp life.  If you haven’t heard it yet, check us out – subscribe with iTunes, listen on Stitcher, and check out our website!

The Software Guild

Earlier this year, I signed on full-time with The Software Guild.  At the Guild, I am a lead instructor – contributing to our curriculum for HTML, CSS, JavaScript, C#, Java, and SQL.  I also am privileged to teach one of our Java cohorts out of our Akron location.  I am lucky to be part of the Guild’s team – not just as an instructor but also working with our other teams – enrollment, marketing, curriculum, employer network, and operations.  It’s great to be part of such an enthusiastic team that is all committed to the success of our apprentices.  While we are in different locations and serve different roles, the end game is to our customers and we are truly, genuinely committed to them.  Our Akron team is where I call home, and it feels like I’m going home to another family – the staff is that close-knit and welcoming.  They make my job a lot easier and more enjoyable, and I am still finding it hard to believe that I have such a fun job with such an impact on people’s lives.  I am thankful for Eric Wise giving me the opportunity early on to work with them and to keep me on board.

Space Apps Challenge – Cleveland

This is one of the few local teams in the community where I have been collaborating and planning events.  I get to work with some of the coolest people from NASA Glenn – some of the NASA GVIS team! – as well as Brad Nellis, one of the most well-networked tech business guys who’s down-to-earth and helped sponsor our Space Apps Challenge event from last year.  When I meet with these guys, I am in awe of the fun things we get to do while planning on bringing the community together to hack on challenges for NASA.  I look forward to our event in 2017!

Stir Trek

I’ve been working with the Stir Trek planning team for many years now, even though the event is in Columbus and I’m here in the Cleveland/Akron areas.  My fellow Stir Trek planners are friends of mine that I’ve met early in my career and have grown with throughout our community.  We work well with each other, helping where needed and making suggestions on how we can do better and become better.   Next year’s Stir Trek planning is already in the works, as we have a new location and new adventures with that.  No matter how difficult the challenge is and no matter how dramatic things can get, we’re still putting on these events, helping our fellow devs to become the best that they can be.  Guardians of the Galaxy 2 is our target movie for next year – stay tuned for more details!

The Dynamic Duo / Hacker Twins

A team doesn’t always have to be a lot of people.  In fact, my favorite team I’m on is a team of 2.  We have had people call us the dynamic duo, and when we were younger, our friends called us the Hacker Twins – Hack Boy and Hackerbabe.  Good times!  We are team Sadukie – that’s right, sadukie isn’t just me.  Sa is from Sarah and dukie is one of my husband’s nicknames.  This year marks 20 years of awesome adventures together as friends and more, with a lot of craziness ahead.  I couldn’t picture a better partner-in-crime for me, as we both bring out the best in each other and have brought two more lives in the world, with high hopes for them as well.  And yes, not just personally, we can also collaborate professionally, which makes me that much prouder of us.  We respect each other’s strengths and weaknesses and defer to each other when a situation requires one of our expertises.

Conclusion

These are just some of the teams in my life, and each team has shown me some of the various purposes I have in life.  I really enjoy my roles on those teams, and I look forward to serving them more in the future!  Everything is awesome; everything is cool when you’re part of a team!

Overwhelming Past Few Months…

Over the past few months, I:

  • moved my kids to a new daycare, full-time
  • took over a remote Software Guild cohort mid-stream
  • went house hunting much earlier than anticipated
  • helped the company my husband works for in moving to a new location
  • purchased another house
  • took a full-time instructor position with the Software Guild
  • started teaching my first Java cohort
  • moved to a new house
  • spoke at a user group in July

And now we’re in the process of listing our old house.  So to say I’ve been busy is an understatement for sure.  As I was going through this process, I kept mentioning to my husband that the day would come probably in August when it would all hit me and I would fall apart.  I knew it was coming rapidly when I woke up on Tuesday morning and firmly decided that I was taking Wednesday and Thursday as days to disconnect.  I mentioned to my boss that I was disconnecting, and he’s completely supportive.  While I could tell my co-workers were concerned, they too are supportive.  They all gave me the permission to disconnect, encouraging me to take the time for me.

Disconnecting with Distractions

Yesterday was tough – as much as I wanted to check on my friends on Slack, Twitter and Facebook… as much as I wanted to read my email…  I knew that I needed to disconnect.  I don’t rest well, as many can tell you.  Thankfully, I found distractions in unpacking boxes, catching lunch with my husband, and then taking on an idea for a small web project.  I also found a lot of distraction in Terraria – lots of fun with that.

terraria-20160901

Reconnecting with Words

Today, I decided that I couldn’t be completely disconnected and that I needed to get past distractions and face all of the overwhelming feelings that have hit me.  This morning was more focused on a personal meeting, but this afternoon is all about reflecting on the feelings and putting them into words.

I’m thankful that I moved – the commute from the Cleveland area down to Akron was really cutting into family time, which was taking its toll on me.  Becoming an instructor has been quite rewarding – it’s been something we’ve all wanted, and the timing just happened to be right finally.  The part that I really underestimated was the transition back to work full-time.  Thankfully, I was going to work full-time with co-workers I had already been working with for awhile in an environment that I was already familiar with.   However, I hadn’t realized how bonds would change from me working part-time to being there full-time and from developer mentor (teaching assistant) to instructor.  Parsing all of this information is definitely overwhelming.

Conclusion

If I seem a bit shattered, overwhelmed, and disconnected, it’s because I finally hit the “oh my goodness, what did I just go through?!?” realization and am slowly working out of that haze.  Thank you to those who have reached out to me in concern – I am getting past this and am looking forward to getting out of this chaos and back into the community.