With Andrew Mason: I Expected College to be Basically Boot Camp
Jun 27, 2022
auto_awesome
Andrew Mason, founder of the Remote Ruby Podcast, RubyBlend and CodeFund, discusses his college expectations, the flaws of FTP, reading code, ADHD, and more.
College didn't match his expectation of a bootcamp-like learning environment.
Exploring ethics in computing opened his eyes to the societal impact and responsibilities of software developers.
Agile methodologies and iterative development are crucial in successful software development.
Ruby's readability and flexibility reignited his passion for programming.
Deep dives
Learning Software Development in a Traditional Background
The podcast episode features a conversation with Andrew Mason about his journey in learning software development. Andrew discusses how he became interested in computers from a young age and pursued computer science in high school and college. He shares his initial interest in network security but ultimately found his passion in programming, especially Ruby and Ruby on Rails. He reflects on his college experience, expressing mixed feelings about the traditional curriculum and how it didn't align with his expectation of being a bootcamp-like learning environment.
The Importance of Exploring Ethics in Computing
Andrew highlights the value of taking courses that explored ethics in computing. He emphasizes how these courses opened his eyes to the societal impact and responsibilities of software developers. The discussions prompted a deeper understanding of issues such as the portrayal of women in video games and the harmful effects of certain algorithms. Andrew points out that software development involves more than just writing code and that engineers need to consider the broader implications of their work.
Gaining Practical Insights from a Software Engineering Course
Andrew shares his experience in a software engineering course that focused on software design and development processes. The course introduced him to the concepts of agile methodologies, stakeholder communication, and iterative development. Andrew emphasizes that while each team implements agile differently, the theme of adaptability and flexibility plays a crucial role in successful software development. Furthermore, the course taught him the value of iterating and avoiding waterfall-style development practices.
Finding Alignment in Ruby and Reflecting on Java
Andrew expresses his frustration with the Java programming language and how it didn't resonate with him. However, his introduction to Ruby, particularly within an internship, revealed a language that better matched his coding preferences and helped him rediscover his passion for programming. Andrew reflects on the significant difference he experienced in understanding object-oriented programming through Ruby compared to his prior encounters with Java. He appreciates Ruby's readability and how it stripped away the nuances of language formatting, allowing him to focus more on algorithmic modeling and problem-solving.
Observing processes and automating workflows
One of Andrew's key strengths is his ability to observe processes in various contexts, such as a coffee shop or a printing company, and identify areas for improvement and automation. He suggests starting with small problems and thinking about how to solve them with code. By applying an algorithmic mindset and understanding the flow of tasks, he finds opportunities to optimize and streamline processes.
Learning from reading code
Andrew emphasizes the importance of reading code as a way to learn and improve programming skills. He recommends studying open-source projects, including gem libraries, to gain insights into different implementations. By understanding how code works, he gradually develops the ability to spot patterns, identify opportunities for efficiency, and create more effective software solutions.
Balancing empathy with software solutions
Andrew acknowledges the significance of empathizing with end-users and understanding the impact of software solutions on their daily experiences. He highlights the need to prevent disruption while implementing improvements. By considering the existing routines and processes, Andrew aims for software integration that enhances usability, benefiting users without causing unnecessary resistance to change.
Andrew is the founder of the Remote Ruby Podcast (now a lot more prominent than when we talked!), RubyBlend and CodeFund. We talk about the prison and court systems, why FTP is a terrible protocol, reading code, ADHD and a lot more.
For show notes and links, see: http://justtheusefulbits.com/jtub/andrew-mason-i-expected-college-to-be-basically-boot-camp/
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.