Evolution of Software Development (feat. Jason Crum)

Evolution of Software Development (feat. Jason Crum)

In this episode, Krish and ⁠Jason⁠ discuss the evolution of software development and the changes they have witnessed over the years. They reflect on their first lines of code and compare the differences between then and now. They also explore the pace of change in technology and the challenges it presents for developers. The conversation touches on the importance of being a lifelong learner and staying up to date with new languages and frameworks. They also discuss the benefits and drawbacks of specializing in a specific language or framework and the role of opinions and design patterns in different languages. Krish and Jason go on to discuss the evolution of software development and the challenges and opportunities it presents. They explore the importance of flexibility in programming languages and the need for developers to have an open mind and adapt to new frameworks and technologies. They also delve into the difference between a developer and an engineering mindset, emphasizing the value of problem-solving skills and self-learning. The conversation touches on attention spans and generational shifts, highlighting the impact of smartphones and social media on society. Finally, they discuss the importance of finding fulfillment in one's work and making productive use of time.

Takeaways

  • Software development has evolved significantly over the years, with new languages, frameworks, and techniques constantly emerging.
  • Being a lifelong learner and staying up to date with new technologies is crucial for success in the field.
  • Specializing in a specific language or framework can provide job security, but it may limit career opportunities in the long run.
  • Opinions and design patterns vary across different languages, and developers should be open to learning and adapting to new approaches. Developers should be open-minded and adaptable to new frameworks and technologies.
  • Problem-solving skills and self-learning are essential for success in software development.
  • The rise of smartphones and social media has negatively impacted attention spans and the ability to focus.
  • Finding fulfillment in one's work and making productive use of time are important for personal and professional growth.

Chapters

00:00 Introduction and Background

01:19 The Evolution of Software Development

13:59 The Pace of Change in Technology

24:53 Specializing in a Language or Framework

29:12 Opinions and Design Patterns in Different Languages

31:25 The Importance of Flexibility in Programming Languages

36:25 Developer vs Engineering Mindset

41:56 Attention Spans and Generational Shifts

57:24 The Detrimental Effects of Smartphones and Social Media

01:02:07 Finding Fulfillment in Software Development

Snowpal Products

Jaksot(410)

(Feat. Special Guest!) Pros & Cons of Technology Choices (Part 1/3)

(Feat. Special Guest!) Pros & Cons of Technology Choices (Part 1/3)

(Part 1/3) When you are building a new app, you are bound to assess a variety of options available to you. Some of these choices are going to stick around with you for a while so it is imperative to make the right choices (with the information available at that point).   Manage your projects on https://snowpal.com.

25 Maalis 20219min

Upgrade Dart version to 2.12.0 to leverage null safety

Upgrade Dart version to 2.12.0 to leverage null safety

Starting dart version 2.12.0, there is support for null safety. Added to type safety, this will make flutter even more compelling. Having said that, it will take some work for an existing app to get there.   Manage your projects on https://snowpal.com.

22 Maalis 20218min

Polyglot Development is the best way to go today

Polyglot Development is the best way to go today

Polyglot Programming can be loosely defined as a programming methodology where you pick the right language, library or framework that best suits the needs of the given problem (and in particular, not let your "current" stack drive that decision).   Manage your projects on https://snowpal.com.

21 Maalis 20218min

(Part 1/N) Upgrading to Flutter 2.0.x?

(Part 1/N) Upgrading to Flutter 2.0.x?

Every time I run "flutter upgrade", I tend to have my fingers crossed. The most recent upgrade to 2.0.x was quite a challenge. I'll share my experience (both problems and solutions) in a series of podcasts.   Manage your projects on https://snowpal.com.

16 Maalis 20219min

Asynchronous Processing: Don't keep your users waiting. Accept request, process later.

Asynchronous Processing: Don't keep your users waiting. Accept request, process later.

Is there ever a good reason to do something synchronously when there is a way for you to do it asynchronously? Let's take a look at how we can implement asynchronous services using RabbitMQ.   Manage your projects on https://snowpal.com.

5 Maalis 20219min

Do you get anxious about LIVE Coding Interviews? Don't be.

Do you get anxious about LIVE Coding Interviews? Don't be.

It is quite natural to get anxious when you know people are going to be judging you. After all, isn't that one of the primary purposes of an interview? I may have a few tips to help you be at ease.   Manage your projects on https://snowpal.com.

21 Helmi 20219min

User Experience (UX) is not just the designer's responsibility

User Experience (UX) is not just the designer's responsibility

How many times have we used an app (on the web or mobile) and thought to ourselves, "Why in the world would someone have designed it this way?". That's plenty of times for me and here I talk about one of those experiences.   Manage your projects on https://snowpal.com.

19 Helmi 20219min

Performance & Scalability (2/N): Similarities & Differences

Performance & Scalability (2/N): Similarities & Differences

(Part 2) Let's talk a little bit about the similarities and differences between these 2 two terms that are sometimes (or, often?) misunderstood.

16 Helmi 202110min