My Coding Place logo

The Source Code

A Blog on Learning Coding and STEM skills

Updated: Oct 26, 2020

Who ever thought AOL would die? Or Kodak, MySpace, and Hotmail? Five years from now, we can't even anticipate the latest AI or AR innovation that will power our homes, but our students tell us in camps and coding classes that companies like Apple, Google, and Facebook are not going away because they are leading innovation. That is true currently, but who ever thought Venmo would become a verb? Who could have imagined that Netlfix's streaming service would eventually overtake their DVD-subscription service? These young kids have never played Oregon Trail or Winter Olympics on a black and green screen on a Apple IIe. They've never had to wait for dial-up connections to be made or seen mobile phones that don't fit in their pocket. How does knowing about these older technologies benefit them? Are we teaching languages and technology that will not be relevant in their future?


First, coding is becoming more popular as software engineering talent is in demand. Coding is a new literacy that teaches problem-solving which is valuable no matter what language we use to teach kids to code. Once they understand the concepts, they will easily be able to pick up other languages. Our teaching approach fits how real developers learn new languages, by building something practical and applying their knowledge. The culture around technology and learning to code is something that kids should embrace in order to open their eyes, open doors, and get them curious and asking questions about the exciting developments around them.


Secondly, learning about technology that will later become obsolete is like learning about history. We study social events in school, why not the history of technology so that we understand how we arrived at where we are today? The evolution of technology is as interesting as the history of our country. You can study the invention of electricity, refrigeration, cars, phones, and the Internet. Today's innovations are changing the way we live, with Ring doorbells, Nest thermostats, smart watches, and smart devices. General knowledge of where we came from is relevant and makes a well-rounded individual.


And lastly, everyone who learned coding as a kid and marveled at the Apple IIe has nostalgia about Basic and their first language. To be able to participate and relate to that feeling makes a person feel like part of a community. These days, when Minecraft and Roblox is all the rage, I wonder ten years from now when they are no longer popular, if kids will reflect fondly on these games and think they played a significant role in their childhood.


In summary, while it's likely that the technology of today may not be present when kids are older, learning about the latest trends helps them appreciate and evaluate new trends, gives them an understanding of the rich history and evolution of technology, and helps them belong to a growing community of young developers and innovators.

Updated: Oct 26, 2020

It's my turn to be a consumer. I've worked in training, consulting, and sales engineering at three software companies. They were all enjoyable in their own ways but I probably enjoyed Post-Sales better than Pre-Sales, where you are trying to win the business. Post-sales was rewarding in that you were trying to teach the customer how to use your software and to support them during the migration and implementation process. Pre-sales involved trying to convince a prospective customer why they should choose you. This post is mainly about pre-sales though I do address the importance of services.


Yesterday I spoke with Salesperson A who had confirmed that they could meet my full list of requirements and share best practices, yet when I got on our two sales calls, it was clear that the software couldn't meet my requirements and he came across as condescending asking me why I did things the way I did. Contrast this with Salesperson B at a different company who was also missing features I am searching for but said that they are always adding new features and bringing up gaps to the Engineering team. She also suggested workarounds which is what I was looking for. Salesperson A was clearly trying to smooth-talk me, while Salesperson B was trying to understand my business and processes and doing her best to address them with her solution.


Having experience working at software companies gives me the desire to ask questions about the company itself: how long they have been in business, how many people are on their support team, and how many customers they have. Although I would love to get in on the ground floor and grow with a company, my priority is my business and my customers. I would rather make sure my operations are running smoothly rather than get a good deal from a company that is trying to build up its customer base. So knowing about the company itself rather than just about their product is helpful since I would have a relationship with their team. As a salesperson, it is good to have this information; financials would also help illustrate how knowledgeable you are about your company.


It's brutal out there. There are many types of scheduling systems and learning management systems so it's hard to differentiate on anything but price before a demo. I began this process by requesting demos thinking they are less time-consuming than doing a trial and reaching out to someone with questions. While the demos are a quick way to get someone on the phone and make sure questions are addressed, I'm hesitant to encounter someone like Salesperson A who was trying to spend as much time with me as possible without any substance or proven ability to meet my requirements. My latest approach is to try the software first so I can find the features I'm looking for, but some sandboxes are slow and some require support to experiment with tasks. However, I still prefer testing myself first before scheduling a demo so I can weed out solutions that don't meet my requirements.


The takeaway from all this, should I ever return to the corporate world, is that first and foremost, the people making the decisions on the other end have a lot to manage so please don't waste their time or yours. Secondly and on a similar note, the demo is very important so make sure it's executed correctly. All the demos were scheduled for 20-30 minutes but they always went over time with some salespeople explaining irrelevant material. Salesperson A was trying to highlight the effectiveness of Users and Roles, which was very annoying because obviously all software allows users to set permissions for particular roles in a company. Make sure you stay on point. Next, sell your services. It's not just about the product but also what kind of support you can offer prospects after the deal is done. And lastly, differentiate yourself during the sales process by understanding requirements. Even if you don't have a specific feature, come up with workarounds so that the prospect knows that you understand what they are trying to do.


Happy Selling! May the best solution win my business!


Updated: Oct 26, 2020

Roughly a year ago, I signed a franchise agreement to rent theCoderSchool brand for 10 years. The franchise owners, Hansel and Wayne, are amazing people - cool, smart, and fun - and most of all share my passion for teaching kids to code. The system seemed to be a good fit because all of us were in it to reach as many kids as possible by offering them opportunities to learn to code and change the world. I loved what theCoderSchool brand stood for and thought their logo and tagline were exciting, plus the schools themselves were beautiful, lively spaces where kids could be challenged and inspired.


Unfortunately, theCoderSchool and I were just too different despite having a similar mission and design ideas. I struggled regularly to understand their teaching philosophy and approach, and much of the explanation can be attributed to my background in both education and computer science. I was certified to teach Math and Computer Science in the state of Illinois. I worked as an instructional designer for a few years after graduate school before becoming a trainer at a software company. I'm not a fan of rigid curriculum but my K-12 training and industry training experience has made me a firm believer in structure. This is not to say theCoderSchool does not provide structure because they do, but this is an example of an area where I think we differ on teaching approach.


I was also too interested and passionate about content and delivery and had too many of my own ideas. The fact that I was a software developer and studied computer science in undergraduate and graduate school made it hard for me to fit into a franchise system. I wanted to spend my time talking to our instructors (called "Code Coaches" at theCoderSchool) and developing Scratch, Python, or Robotics projects and looking at ideas for teaching Roblox with LUA, Minecraft modding with Java, and Game Design or Virtual Reality with different platforms. I was regularly suggesting new ideas, questioning their ideas, and expressing frustrations to the point where I was unhappy and I'm sure Hansel and Wayne (theCoderSchool executives) were not thrilled either, though they were absolutely 100% supportive the entire year.


Eventually, we agreed that it would be best if I terminate my franchise agreement, and they offered to waive the non-compete that I signed in the Franchise Agreement allowing me to operate independently. So while I have to rebrand and there is so much to do like coming up with a logo, website, posters, swag, etc, I'm super excited about what's ahead and super grateful to theCoderSchool for all their support getting to this point.