Cover image of CoRecursive - Software Engineering Interviews
(38)
Education
Technology
How To

CoRecursive - Software Engineering Interviews

Updated 6 days ago

Education
Technology
How To
Read more

CoRecursive features In-Depth technical interviews with software developers. Learn about programming languages such as Scala, Haskell, Idris, Kotlin, Erlang and Functional Programming and Type Theory from experts in one on one interviews. Similar to podcasts software engineering daily, functional geekery and hanselminutes technology podcast.

Read more

CoRecursive features In-Depth technical interviews with software developers. Learn about programming languages such as Scala, Haskell, Idris, Kotlin, Erlang and Functional Programming and Type Theory from experts in one on one interviews. Similar to podcasts software engineering daily, functional geekery and hanselminutes technology podcast.

iTunes Ratings

38 Ratings
Average Ratings
38
0
0
0
0

Currently my favorite tech podcast

By Joel McCracken - Aug 04 2019
Read more
I love how this podcast tackles interesting ideas in tech. It’s unique in that. I don’t love every episode, but overall it has some absolute gems.

Fantastic For Newbs & Experts!

By CoRecursiveStudent - Jun 01 2019
Read more
I was introduced to CoRecursive by a friend who also responsible for getting me excited and engaged with Scala / Functional Programming. I was immediately enthralled with the depth of the topics, the audio quality, Adam’s expertise in thoughtfully guiding the direction of the interviews, and the desire to understand software development in each episode. Every time I listen to one of these podcasts I can’t help but feel that I’m sitting in the lecture hall at some reputable institution, learning from the very best thought leaders in the field. What’s more is that Adam breaks down these concepts into bite size pieces that even a newb can process and understand. If you just want to learn more advanced programmatic concepts, but in an unbiased, fun, objective way, through self-introspection, and learning from industry leaders, then this is the podcast for you.

iTunes Ratings

38 Ratings
Average Ratings
38
0
0
0
0

Currently my favorite tech podcast

By Joel McCracken - Aug 04 2019
Read more
I love how this podcast tackles interesting ideas in tech. It’s unique in that. I don’t love every episode, but overall it has some absolute gems.

Fantastic For Newbs & Experts!

By CoRecursiveStudent - Jun 01 2019
Read more
I was introduced to CoRecursive by a friend who also responsible for getting me excited and engaged with Scala / Functional Programming. I was immediately enthralled with the depth of the topics, the audio quality, Adam’s expertise in thoughtfully guiding the direction of the interviews, and the desire to understand software development in each episode. Every time I listen to one of these podcasts I can’t help but feel that I’m sitting in the lecture hall at some reputable institution, learning from the very best thought leaders in the field. What’s more is that Adam breaks down these concepts into bite size pieces that even a newb can process and understand. If you just want to learn more advanced programmatic concepts, but in an unbiased, fun, objective way, through self-introspection, and learning from industry leaders, then this is the podcast for you.

The Best Episodes of:

Cover image of CoRecursive - Software Engineering Interviews

CoRecursive - Software Engineering Interviews

Updated 6 days ago

Read more

CoRecursive features In-Depth technical interviews with software developers. Learn about programming languages such as Scala, Haskell, Idris, Kotlin, Erlang and Functional Programming and Type Theory from experts in one on one interviews. Similar to podcasts software engineering daily, functional geekery and hanselminutes technology podcast.

Rank #1: 013 - Rust And Bitter C++ Developers With Jim Blandy

Podcast cover
Read more

 Rust, the programming language, seems to be really trendy these days.  Trendy to me means shows up a lot on hacker news.  Rust is really interesting language though, and I think the growing popularity is deserved.  

Today I talk with Jim Blandy, one of the authors of Programming Rust.  We talk about what problems rust is trying to solve, the unique language features and type system of rust. It includes both algebraic data types, type classes, and generics.  There is even a proposal somewhere for adding HKT.  We also touch on why it is so hard to secure code. Jim works on Firefox and his insights into the difficulty of writing secure code are super interesting.

Show notes

May 16 2018

1hr 2mins

Play

Rank #2: 004 - Design Principles From Functional Programming with Runar Bjarnason

Podcast cover
Read more

Runar Bjarnason has been exploring how writing in a functional style increases modularity and compositionality of software for many years. He is co-author of functional programming in scala, a book that teaches these principles in scala. It is a very challenging yet very rewarding book, sometimes referred to as simple ‘the red book’.

In this interview Runar explains how writing in a functional style involves limiting side effects, avoiding exceptions and using higher order abstractions.  Writing in this style places constraints on what a module in a software system may do, but by constraining modules in this way, the software modules themselves become endlessly composable.  

Enjoy

Show Notes:

Functional Programming In Scala

Constraints Liberate

Jan 10 2018

51mins

Play

Rank #3: 016 - Moves and Borrowing In Rust With Jim Blandy

Podcast cover
Read more

The surprising thing about rust is how memory management works.  Rust has the concepts of moves and borrowing.  If you have heard about Rust, you may have heard people talking about the borrow checker and trying to make it happy. In this interview, Jim Blandy walks us through what these concepts mean and how they work.  We also talk about how to avoid fighting with the borrow checker at all and why the conceptual model that Rust adopts, though it may seem unusual at first, is actually more representative of how computers work and therefore an easier programming model.

Jul 03 2018

1hr 7mins

Play

Rank #4: 019 - Test in Production with Charity Majors

Podcast cover
Read more

"Metrics and Dashboards can die in a fire and every software engineer should be on-call" - Charity Majors

Today's Interview is with Charity Majors. We talk about how to make it easier to debug production issues in today's world of complicated distributed systems.  A warning, There is some explicit language in this interview.

I originally saw a talk by Charity where she said something like fuck your metrics and dashboards, you should test in production more. It was a pretty hyperbolic statement, but backed up with a lot of great insights. I think you'll find this interview similarly insightful.

Charity and her company are probably best known for popularizing the concept that observability in the key to being able to debug issues in production.

Also if you are a talented developer with functional programming skills, I've got a job offer for you. My employer Tenable is hiring.  Tenable is a pretty great place to work. Here is a job link.

Show notes:

Show Link

Aug 31 2018

47mins

Play

Rank #5: Software as a Reflection of Values With Bryan Cantrill

Podcast cover
Read more

Which operating system is the best? Which programming language is the best? What text editor?

Bryan Cantrill, CTO of Joyent says that is the wrong question. Languages, operating systems and communities have to make trade offs and they do that based on their values. So the right language is the one who's values align with you and your projects goals.

This simple idea carries a lot of weight and I think has the potential to lift up technical discussions to a higher level of discourse. You will find it to be a helpful frame next time you need to make a technical decision. Bryan is also pretty excited about how the values of the rust community align with his values for system software.

Also we cover Oberon, Clean and Simula 4, none of which I've never heard of and how IBM System/370 's Global Trace Facility doesn't hold a candle to Dtrace.

Webpage for this episode

Show Links:

Dec 18 2018

1hr 19mins

Play

Rank #6: 003 - Scala at Duolingo with Andre Kenji Horie

Podcast cover
Read more

Doulingo is a language learning platform with over 200 million users.  On a daily basis millions of users receive customized language lessons targeted specifically to them.  These lessons are generated by a system called the session generator.  

Andre Kenji Horie is senior engineer at Doulingo.  He wrote about the process of rewriting the session generator, as well as moving from python to scala.  and changing architecture all at the same time.

In this episode Andre talks about the reasons for the rewrite, what drove them to move to scala and the experience of moving from one technology stack to another.

Show Notes:

Rewriting Doulingo's Engine in Scala

Jobs at DouLingo

Jan 07 2018

53mins

Play

Rank #7: Burn out and recreational coding with Jamis Buck

Podcast cover
Read more

A decade ago Jamis Buck was not loving his job. He was an important open source contributor. He worked for the hottest trendiest software company at the time, 37 signals, creator of ruby on rails. He was on top of the world but also he was burnt out.

Today Jamis talks about how he overcame burn out. 

We discuss how his struggle lead him to write a book about generating mazes and another about building a ray tracer. His books are great fun, and all about recreational programming.  You will learn to build things with a focus not on the latest trends in software development and not even a specific programming language. 

The focus instead is on fun.

Jan 25 2019

59mins

Play

Rank #8: 015 - Dependent Types in Haskell with Stephanie Weirich

Podcast cover
Read more

At Strange loop 2017, a wandered into a talk where I saw some code that deeply surprised me. The code could have been python if you squinted, passing dictionaries around, no type annotations anywhere.

Yet key look up in the dictionary was validated at compile time. It was a compile time error to access elements that didn't exist. Also the dictionary was heterogeneous, the elements had different types, and it was all inferred and validated at compile time.

What I was seeing was Dependent types in Haskell. In today's interview Stephanie Weirich explains her efforts to add dependent types to haskell and how that example worked.

Shows Notes:

Jun 13 2018

58mins

Play

Rank #9: 012 - Erlang And Distributed Systems with Steven Proctor

Podcast cover
Read more

Today's interview is with Steven Proctor, the host of the functional geekery podcast.  We talk about distributed programming in general and specifically how erlang supports distributed computing.  We also talk about things he's learned about functional programming and applying FP principles to various non FP contexts.  

Contact Proctor:

May 02 2018

1hr 1min

Play

Rank #10: Data and Scale with Pat Helland

Podcast cover
Read more

Pat Helland has a wealth of knowledge on building distributed data stores. He has been working on distributed data stores since 1978, when he worked on the tandem fault-tolerant database. Since then he has been involved in many distributed database projects.

Here is the key thing, he is also a master at explaining the key ideas of distributed systems using simple language and practical everyday examples. Can you get married on the phone? How are messaging systems and idempotence like regional offices communicating via fax machine? These are the type of metaphor that Pat uses. Today, Pat sits down with me and teaches me about dealing with data in a distributed, fault tolerant, infinitely scaling world.

Webpage : http://corecursive.com/028-data-pat-heland/

Links:

Mar 31 2019

56mins

Play

Rank #11: Chris Krycho on Typescript

Podcast cover
Read more

How do we make javascript easier to work with? Chris Krycho has been using typescript to add types to javascript since 2016.

Chris is a software developer at LinkedIn who, at his previous gig, worked on converting one of the largest Ember apps in the world to TypeScript. I was shocked by the size. Chris also loves Rust and types and is a former C and FORTRAN programmers. He hosted a podcast called the New Rustacean, which he has retired from.

Today we talk about TypeScript and when you should use it. We also talk about Language Server Protocols, Rust, working with large codebases, Structural types, row polymorphism and talking code over audio.

https://corecursive.com/034-chris-krycho-typescript/

Jul 15 2019

1hr 10mins

Play

Rank #12: Modern Systems Programming And Scala Native With Richard Whaling

Podcast cover
Read more

Richard Whaling has an interesting perspective on software development. If you write software for the JVM or if you are interested in low level system programming, or even doing data heavy or network heavy IO programming then you will find this interview interesting.

We discuss how to build faster software in a modern fashion by using glibc and techniques from system programming. This means using raw pointers and manual memory management but from a modern language.

Richard also shares some perspectives on better utilizing the underlying operating system and how we can build better software by depending on services rather than libraries.

Links:

Feb 22 2019

53mins

Play

Rank #13: Big Ball Of Mud

Podcast cover
Read more

Evolving software under constrained resources is a challenge, and I think we kid ourselves when we don't admit this. Software that is providing value often grows in scope until it is a mess.  Today I talk to Wade Waldron about how avoid this situation or recover from it.

Big ball of mud is the title of a paper presented at the 1997 Patterns Languages of Programs conference and I think it is super interesting.

The researchers went out into the field to see what architectures software in industry were following. Big Ball of mud is what they found, along with other 6 other patterns with names like "sweep it under the rug" and reconstruction, which is the throw it away and start again pattern.

Links:

Check out other episodes like this Philip Wadler:

https://corecursive.com/021-gods-programming-language-with-philip-wadler/

This podcast originally published here :

https://corecursive.com/22-big-ball-of-mud-architecture-and-services-with-wade-waldron/

Nov 14 2018

1hr

Play

Rank #14: The Little Typer

Podcast cover
Read more

When it comes to type systems "I am, so far, only in the dependent types camp" - Daniel P. Friedman

You can write more correct software and even rigorous mathematical proofs.  Prepare for some mind stretching.

Previous guests like Edwin Brady and Stephanie Weirich have discussed some of the exciting things a dependent type system can do Miles Sabin said dependent types are surely the future. This interview is to get us ready for the future.

Daniel P. Friedman is famous for his "Little" series of books. Little Schemer, Little prover, Little MLer and so on. These books are held in high regard.

Here is a quote from Doug Crockford:  "Little Schemer teaches one thing, a thing that is very difficult to teach, a thing that every profession programmer should know, and it does it really well. These are lessons that stick with you." The latest one is the little typer and its about types. Specifically dependent types.

Dan's coauthor is David Thrane Christiansen, Idris contributor, and host of a podcast about type theory that is way over my head.

Together they are going to teach us how the programming skills we already have can be used to develop rigourus mathematical proofs.

Stay tuned to the end for my guide to working thru the book.

Originally published at CoRecursive here

Join Our Slack Community

Dec 01 2018

1hr 7mins

Play

Rank #15: Learning to Think with Andy Hunt

Podcast cover
Read more

Andy Hunt is a celebrity in the world of software development. Or at least he is one to me. The Pragmatic Programmer is a classic book on software development book. He is an author of the agile manifesto and started the book company that has published many great books, including several by recent guests.

Today I talk to Andy about how software engineers can get better at thinking and learning. How can we develop this meta-skill and how can being aware of common mistakes our brain make us more productive?

Show notes:

Webpage for Episode

Apr 15 2019

54mins

Play