Podcast 254: Code Newbie talks education and community on the web
This week we sit down Saron Yitbarek, founder of Code Newbie, a company that was acquired by DEV earlier this year. That pairing brought together two fast growing online communities dedicated to helping everyone gain access to the skills and support network needed to become a programmer.
Saron explains how she went from working in the marketing department of a startup to learning code, creating a supportive community for novice developers, and founding two podcasts about the art and science of learning to program.
You can read more about the Dev acquisition and what the dynamic duo have planned here.
Sara and Paul spend some time bantering with Saron on that classic developer debate: why learn computer science? Besides the ego boost and the desire to avoid imposter syndrome, how much of a four-year-degree is actually useful when you’re a new graduate trying to land your first job?
Later on, we dig into the debate over toxic positivity. During these challenging times, it can be addictive to watch others flaunt their hustle and hard work on social media. But there is a downside to tuning out the failures and negative emotions we all live with. You can read more about it here.
Ever wondered about the difference between a subview and a superview? Find out more with this week’s lifeboat badge.
If you would like to view a transcript of this episode, it can be found here.Tags: bulletin, code newbie, dev, saron yitbarek, stack overflow, stackoverflow, the stack overflow podcast
Re: Saron’s podcast, specifically about the lack of value of a CS degree.
I begin working as a SW engineer after only two community college SW classes. Five years later I enrolled in a college CS program so I am familiar with the issue.
I agree with many of the podcast’s criticisms but I object to several points. First, the importance of schools teaching modern development environments and languages is overrated. Whatever is modern for that freshman intro class will likely be outdated in four years when the student graduates. And, even if it is still used, the number of companies that use that environment will be a subset of companies hiring; the student will not want to limit their job search only to those companies. The podcast advocated Python but according to the StackOverflow survey it is declining in preference after 5 years, and it is only 10th in the top paying technologies. Rather than teaching a specific technology, schools should be developing the ability to learn new technologies. Some of that teaching involves understanding the design theory underlying various technologies.
It is true that an entry level coder will have little use for computing theory, and if all they want to do in their career is fix bugs and make minor changes to other developers code, then they don’t need to learn much. However, if they want to advance to doing design work and more sophisticated development, deeper knowledge is valuable.
When I was studying CS in school I had enough experience to recognize what was valuable and what wasn’t. Perhaps half of the classes were mostly valuable but some were a complete waste of time. I’m sure this varies from school to school and my school (Portland State University) was probably not the best. But there is one factor that is detrimental to most schools: The professors studied computer science in school, got PHDs in computer science, then began teaching computer science. Very few had real experience fixing bugs in other peoples code, scheduling and planning a SW project in the real world, making trade offs between schedules, team size, features, and all those other critical elements of SW development. And I worked with several CS professors who got summer consulting jobs with the company I worked for. They thought it was real world experience, and they cited it as such in their CV, but it really wasn’t. They worked in positions that were appropriate for their knowledge and experience, not the daily work of cranking out SW.
One aspect of school assignments I noticed was that they actually taught poor practices for the real world. For example, you are required to do your own work. Finding code that does what the assignment calls for and handing it in is not allowed. In a paid job, you are remiss if you write new code that duplicates what you could use for free.
The podcast description of what is taught as CS theory was different than my experience. I had few, if any, required classes in hardware architecture and assembly language. I did have classes in computability, data structures and their impact on processing times, etc. These topics were valuable when considering SW design trade offs.
I wanted to comment on your chat with Saron, and about computer science, software engineering, coding, computer architecture, etc. I want to remind you that CS is a sub-field of *mathematics*, and that SE is applied CS with lots of methodology.
A CS or SE degree is not a coding degree:
– CS is about data structures, computability, time complexity, and theory.
– SE is about how to create software in a reliable manner with groups of people, the design patterns and what has proven useful in the real world.
– Computer engineering is about the bits, how processors work, memory access, cooling, etc.
None of these degrees *require* coding. All of them can be achieved without writing code, and in theory could be entirely written in pseudocode on paper.
Most universities do use coding as a tool to teach these concepts and offer classes that specifically teach real world usage (albeit in a constrained environment).
At 16:35 Saron is talking about what she has heard CS degrees lack: Lynd Wieman addressed in a comment “modern frameworks”; “Product development isn’t taught…” this is SE, and is *exactly* what I learnt in my SE degree.
You speak of lack of practical development: In my university there were classes specifically for developing a product, one course called “From idea to product”.
It seems you were conflating CS, SE, and coding; they are all distinct.
Otherwise nice talk. Thanks for your good work 🙂