¡Disfruta todo 1 año de Plus al 45% de dto! ¡LO QUIERO!

Podcast
Coders Campus Podcast
By Trevor Page
65
17
Learn how to program using the Java programming language. This podcast will teach you step by step how to use the Java programming language to create your own applications or web applications! These Java tutorials are presented in plain English and explain all of the important Java programming concepts needed to excel in the field of software.
Learn how to program using the Java programming language. This podcast will teach you step by step how to use the Java programming language to create your own applications or web applications! These Java tutorials are presented in plain English and explain all of the important Java programming concepts needed to excel in the field of software.
Unlocking Your First Coding Job: The Realities and Solutions
Episode in
Coders Campus Podcast
Episode Summary
In this episode, Trevor Page delves into the challenges aspiring software developers face when trying to land their first job. Drawing from his 15 years of programming experience and 12 years of teaching, Trevor offers a unique perspective on the realities of breaking into the tech industry. He discusses the common misconceptions new developers have, the difficulties of finding a job, and why having coding skills alone isn't enough to secure a position.
Trevor also introduces Coders Campus's new Guaranteed Internship Program, designed to provide real-world coding experience in a team environment while working on software projects for actual customers. This innovative program offers a profit-sharing model, allowing participants to earn money based on the success of the projects they work on. He shares insights into the structure of the internship, the roles participants will play, and the long-term benefits of gaining practical experience.
Key Topics Discussed:
The Reality of Getting a Coding Job: Understanding that having the skills does not mean you are guaranteed a job.
Common Pathways to Employment: Exploring traditional methods like open source contributions, volunteering, and unpaid internships, and why they might not be sufficient.
Introducing the Guaranteed Internship Program: A detailed overview of Coders Campus's new initiative to help aspiring developers gain real-world experience while working in a team and potentially earning income through profit-sharing.
The Importance of Real-World Experience: How hands-on coding in a collaborative environment can significantly improve job prospects.
Case Study – JP's Success: A real-life example of a Coders Campus student who secured a job after participating in the internship program.
Opportunities for Non-Bootcamp Participants: Trevor hints at a future program for those who already have coding skills but need certification and experience.
If you're ready to take your coding career to the next level and join a program that offers real-world experience, visit coderscampus.com/bootcamp to apply for the next cohort. For those interested in the upcoming certification program, email Trevor directly at trevor@coderscampus.com.
Quotes:
“Just because you have the skills does not mean you are owed the job.”
“If you and any other entry-level developer are applying to the same position, but you have real-world experience on your resume, guess who they're going to look at first?”
Links and Resources:
Coders Campus Bootcamp
Email Trevor: trevor@coderscampus.com
The post Unlocking Your First Coding Job: The Realities and Solutions appeared first on Coders Campus.
37:41
Alex almost quit coding forever while in this Bootcamp
Episode in
Coders Campus Podcast
Summary
To reach out and connect with Alex, here's her LinkedIn profile: https://www.linkedin.com/in/alex-mamolo-2a1b57222/
In this episode, Trevor interviews Alex, who shares her journey from being a musician to transitioning into the tech industry. Alex talks about her background in music, playing drums in a band, and the challenges she faced in her musical career. She then discusses her experience working in data entry and her decision to pursue a career in technology. Alex explains how she discovered coding and her decision to join a coding bootcamp. She shares her struggles with understanding methods and functions and the support she received from her instructors. Alex emphasizes the importance of understanding the fundamentals of coding and how it has impacted her personal growth and progress. In this conversation, Alex discusses her experience in the coding bootcamp and the challenges she faced. She shares how she overcame those challenges and gained confidence in her coding abilities. The conversation also explores the difficulty curve in learning programming and the importance of perseverance. Alex talks about her job search process and the need for relentless follow-up. The conversation concludes with an invitation for listeners to connect with Alex and seek advice on their own coding journey.
Takeaways
Transitioning from a non-technical career to the tech industry is possible with the right support and guidance.
Learning HTML and CSS is a great starting point for beginners in coding.
Struggling with certain concepts is common in coding, and seeking help from instructors is crucial for overcoming challenges.
Understanding the fundamentals of coding, such as methods and functions, is essential for building a strong foundation. Overcoming challenges in the bootcamp can lead to significant growth and improved coding skills.
The difficulty curve in learning programming often means that the second half of the bootcamp is easier than the first half.
Struggling on the job is different from struggling in the bootcamp, but both experiences can be valuable learning opportunities.
Relentless follow-up in the job search process can significantly increase the chances of getting an interview.
Revisiting assignments and focusing on mastering core skills can help improve coding abilities.
Networking and interpersonal skills are just as important as coding skills in the job search process.
Chapters
00:00 Introduction and Background
02:09 Interest in Technology and Music
05:31 Transition from Music to Data Entry
06:26 Exploring Tech Education Options
08:23 Choosing a Coding Bootcamp
09:52 Learning HTML and CSS
12:43 Struggles with Methods and Functions
15:35 Support and Guidance from Instructors
23:00 Importance of Understanding Fundamentals
24:25 Personal Growth and Progress
24:54 Overcoming Challenges in the Bootcamp
26:15 The Difficulty Curve in Learning Programming
27:44 Struggling on the Job vs. in the Bootcamp
29:38 The Excitement and Satisfaction of Coding
31:04 Job Search Process and Challenges
32:33 The Importance of Relentless Follow-up
34:01 Conversion Rate in Job Applications
36:55 Balancing Time Between Assignments and Job Search
38:23 Avoiding the Comfort Zone and Focusing on Networking
39:20 Revisiting Assignments to Improve Skills
40:46 Alex's Strong Understanding of Programming Terminology
42:35 Follow-up and Feedback in the Job Search Process
45:29 Proving Interest and Following Up After Rejection
47:22 Closing Remarks and Invitation to Connect
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
The post Alex almost quit coding forever while in this Bootcamp appeared first on Coders Campus.
49:28
From Struggling University Comp Sci Grad to Employed Coder – Tony Edmonds
Episode in
Coders Campus Podcast
Summary
To reach out and connect with Tony: https://www.linkedin.com/in/edmonds-tony/
In this episode, Trevor Page interviews Tony, a digital nomad who transitioned from a traditional university education to a coding bootcamp. Tony shares his fascination with Latin America and the digital nomad lifestyle, as well as his decision to pursue a degree in computer science. He explains how he discovered the Coders Campus bootcamp and the benefits of the program. Tony also discusses his job search process and the importance of a structured approach. The episode concludes with insights into the interview process and the successful outcome for Tony. In this conversation, Tony shares his experience of getting a job after completing a bootcamp. He discusses the job offer he received and the salary he negotiated. The conversation also explores the opportunities for remote work and the value of working in an office. Tony emphasizes the importance of mentors and the benefits of being able to pivot to different roles within a company. He advises aspiring bootcamp students to stay positive and not be discouraged by negative news. Tony also shares his advice for starting a new job and the importance of being resourceful and asking for help when needed.
Takeaways
Negotiate your salary and consider the market conditions in your area.
Remote work opportunities are available, but starting with a hybrid role can provide valuable experience.
Working in an office and collaborating with experienced developers can accelerate your learning and career growth.
Having mentors and leveraging their expertise can help you progress quickly in your career.
Bootcamp graduates can pivot to different roles within a company and apply their skills in various domains.
Don't be discouraged by negative news and focus on your own journey and progress.
When starting a new job, be resourceful, spend time learning on your own, and ask for help when needed.
Chapters
00:00 Introduction and Background
02:23 Becoming a Digital Nomad
03:42 Fascination with Latin America and the Digital Nomad Lifestyle
06:33 Choosing the University Path
09:20 Transitioning to a Bootcamp
13:03 The Benefits and Limitations of University Education
20:05 The Job Search Process
23:43 The Importance of a Structured Job Search
28:03 Seeking Remote Job Opportunities
30:50 The Interview Process
31:48 Job Offer and Salary
33:15 Remote Work Opportunities
34:39 The Value of Working in an Office
35:03 Transitioning to Remote Work
37:24 The Importance of Mentors
38:18 Opportunities for Development within a Company
39:39 Pivoting to Different Roles
40:36 Enjoying the Data Role
41:32 The Reality of Getting a Job
42:31 The Influence of News and Media
44:30 Advice for Bootcamp Students
48:16 Tony's Advice for Himself
49:41 Tony's Final Project
53:52 Connecting with Tony on LinkedIn
54:22 Questions for Trevor
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
The post From Struggling University Comp Sci Grad to Employed Coder – Tony Edmonds appeared first on Coders Campus.
01:03:45
From Backpacking Instructor to Coder in 5 Months – Jeff Podmayer
Episode in
Coders Campus Podcast
Summary
If you want to connect/reach out to Jeff, here's his LinkedIn profile: https://www.linkedin.com/in/jeffpodmayer
In this episode, Trevor interviews Jeff, who made a transition from being an outdoor guide to pursuing a career in tech. Jeff shares his experiences working as a guide in the mountains and his journey into the tech industry. He discusses his interest in coding and how he researched different bootcamp options before choosing Coders Campus. Jeff also talks about his learning experience at the bootcamp and provides feedback for improvement. In this conversation, Jeff and Trevor discuss various aspects of the bootcamp experience and the job search journey. They talk about the importance of exercises and assignments in solidifying learning, as well as the need for more exercises in the later stages of the bootcamp. They also discuss the challenges of covering advanced topics and the length of the videos. Jeff shares his preparation for the job search and the support he has received from the career services team. Trevor emphasizes the importance of networking and finding a support system during the career transition. They conclude the conversation by discussing the value of honesty and support in the bootcamp experience.
Takeaways
Transitioning from one career to another requires thorough research and exploration of different options.
Choosing a bootcamp with experienced instructors who have worked in the industry can provide valuable insights and guidance.
Learning to code is a skill that can be compared to learning a trade, and it requires practice and hands-on experience.
The struggle and frustration are part of the learning process, and it's important to learn how to respond to challenges in a calm and focused manner.
Completing a bootcamp program can provide the necessary skills and knowledge to pursue a career in the tech industry. Exercises and assignments are crucial for reinforcing learning and should be included throughout the bootcamp.
More exercises should be included in the later stages of the bootcamp to solidify knowledge.
Covering advanced topics in the bootcamp can be challenging, and there should be a balance between depth and length of videos.
Preparation for the job search is essential, and networking is a valuable strategy for finding opportunities.
Having a support system during the career transition can provide encouragement and guidance.
Honesty and support are important in the bootcamp experience, both from instructors and fellow students.
Chapters
00:00
Introduction and Background
02:58
Transition from Outdoor Guide to Tech Career
05:47
Love for Nature and Outdoor Activities
10:00
Exploring Coding as an Option
26:09
Choosing Coders Campus
31:49
Learning Experience at Coders Campus
39:08
Feedback and Improvements
39:38
Exercises and Assignments
40:56
Topics Covered Towards the End
42:25
Revamping the Videos
46:43
Preparing for the Job Search
47:42
Networking and Support
53:54
Advice to the Younger Self
01:08:12
The Importance of Support
01:16:29
Rejection and Selectivity
01:17:26
Connecting with Jeff
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
The post From Backpacking Instructor to Coder in 5 Months – Jeff Podmayer appeared first on Coders Campus.
01:18:41
From the Fashion Industry to Full-Stack Coder – Kevin Gallaccio
Episode in
Coders Campus Podcast
Summary
In this episode, Trevor interviews Kevin, who made a career transition from fashion to technology. Kevin shares how his interest in Microsoft Excel and his curiosity about technology led him to pursue coding. He discusses the challenges and rewards of the coding bootcamp, emphasizing the importance of building a strong foundation in programming and much more.
Connect with Kevin via LinkedIn: https://www.linkedin.com/in/kgallaccio/
Takeaways
Curiosity and a willingness to learn are essential for success in the tech industry.
Building a strong foundation in programming is crucial for future learning and development.
Imposter syndrome is common among aspiring coders, but it should not deter them from pursuing their goals.
Committing a significant amount of time and effort to coding can accelerate learning and progress in a bootcamp. Set realistic expectations and be prepared to work hard in the coding industry.
Take initiative and don't rely solely on a bootcamp to secure a job.
Follow up with employers and engage in conversations with real human beings.
Continuously code and build projects to enhance skills and stand out from the crowd.
Reach out to experienced coders for advice and support, and advocate for yourself throughout the coding journey.
Chapters
00:00 Introduction and Background
03:22 Transition from Fashion to Technology
06:14 Curiosity and Excel Skills
09:01 Imposter Syndrome and Learning Journey
12:21 Experience in the Coding Bootcamp
23:38 Future Plans and Job Prospects
27:22 Setting Expectations and Working Hard
29:14 The Importance of Taking Initiative
30:39 The Reality of the Job Search Process
31:35 The Need for Follow-Up and Marketing Yourself
34:03 Engaging with Human Beings and Overcoming Objections
36:17 Continuing to Code and Building Projects
45:41 Reaching Out to Coders for Advice
49:03 The Importance of Advocating for Yourself
53:25 Wrap-Up and Contact Information
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
The post From the Fashion Industry to Full-Stack Coder – Kevin Gallaccio appeared first on Coders Campus.
54:04
Unveiling the Future of Coding with AI: A New Era
Episode in
Coders Campus Podcast
Welcome to the fascinating world of the Future of Coding with AI, where artificial intelligence meets programming, and innovation knows no bounds. As a seasoned coder who has embraced this new wave, I invite you to step into my reality.
Our coding landscape is changing rapidly, fueled by advances in AI that are redefining our craft. From dawn till dusk and often beyond, we navigate through complex algorithms and machine learning models that bring our digital creations to life.
In this ever-evolving journey, every line of code becomes a stepping stone toward an exciting future. The Future of Coding with AI isn't just about automation; it's about amplifying human potential and unlocking possibilities we never dreamed were possible.
Whether you're an aspiring programmer or simply intrigued by how technology shapes our world, join me on this exploration. Prepare yourself for a thrilling ride into the
Table of Contents:
The Evolution of Coding and AI
From Manual Computations to Automation: A Historical Perspective
How AI Has Revolutionized Software Engineering
Predicting the Future of Coding with AI
Will there be a need for human coders in 10, 20, or even 50 years?
Job replacement predictions versus reality
The S-Curve Phenomenon in Technology Growth
Understanding the S-Curve Growth Phenomenon
Implications on Technology Development and Job Markets
Leveraging AI Tools for Efficient Software Development
Using AI Tools for System Design Creation
Case Studies Showcasing Efficient Use Of These Technologies
New Opportunities Created By AI-Driven Efficiency
Opportunities Ahead for Coders in an AI-Dominated World
New Startups Created by Non-Tech Entrepreneurs Leveraging AI Tools
Increased Demand Scenario – More Jobs Opening Up Requiring Advanced Skills
The Importance of Continuous Learning in a Changing Landscape
FAQs in Relation to Future of Coding With Ai
Is there a future for programmers with AI?
Is coding going to be replaced by AI?
Is it worth learning to code in 2023 with AI?
Is it worth learning to code with AI?
Conclusion
The Evolution of Coding and AI
Hey there, fellow coder. Let's take a second to reflect on the path coding has taken us down. From its humble beginnings with manual computations, it has now evolved into a world where artificial intelligence (AI) is driving automated systems. It's like we're living in some sci-fi movie, right? But nope – that's just how software engineering rolls these days.
From Manual Computations to Automation: A Historical Perspective
You know what they say about remembering your roots? Well, let me tell you – programming started off pretty rough around the edges. We were dealing with long strings of binary code; tedious doesn't even begin to cover it.
Then came assembly languages, which made things slightly easier by letting programmers use abbreviated codes instead of those mind-numbingly complex binaries.
We saw another major leap forward when high-level languages such as Fortran, C++, and Java entered the scene. Suddenly, coding was more accessible because we could write programs using syntax closer to human language rather than machine gibberish.
In recent years, though, our buddy Artificial Intelligence has been making waves in automating various aspects of software development too. I mean, think about it – Machine learning algorithms can generate chunks of code based on certain parameters or fix bugs all by themselves without any help from us humans.
How AI Has Revolutionized Software Engineering
If you ask me how much impact AI has had on software engineering, my answer would be “Huge.” One way this game-changer has transformed our field is through predictive analytics in debugging processes – basically identifying potential issues before they become actual problems for coders like us who are already juggling multiple tasks at once.
Besides troubleshooting assistance, AI-driven tools have also helped create cleaner and more efficient code bases via intelligent refactoring suggestions. They've proven handy not only for developers but also for project managers, as estimating effort levels required for specific tasks or predicting delivery timelines becomes so much simpler thanks to past data patterns
Key Takeaway: AI is rewriting the rules of coding, transforming it from a tedious binary affair to an intelligent, nearly automated process. It's not just making life easier for developers by predicting bugs and offering smart refactoring suggestions – it's revolutionizing software engineering itself.
Predicting the Future of Coding with AI
Questioning what AI implies for programming and software engineering, we contemplate the future. The answer lies in understanding both where we are now and where technology might take us.
Will there be a need for human coders in 10, 20, or even 50 years?
The progression of artificial intelligence has sparked much debate. Some see it as an increasingly clever AI program that will eventually replace programmers entirely. Others argue that while AI is indeed transforming many aspects of our lives – from automation powering tedious day-to-day processes to code generation – it's writing basic code rather than replacing humans altogether.
A study by McKinsey Global Institute suggests something similar: although certain tasks within jobs may change due to advancements like large language models and other great technical innovations; these shifts don't necessarily signal job extinction.
In fact, new types of work could emerge as technology evolves. For instance, roles focusing on maintaining and improving Zurich-based AI programs called DeepCode might become more prevalent.
Job replacement predictions versus reality
Futuristic prediction models often paint a grim picture when discussing job displacement due to automation powered by artificial intelligence. However, such forecasts frequently overlook key factors such as adaptability and evolution within industries, particularly those involving repetitive tasks which can easily be automated.
Rather than eliminating positions outright, technology tends to alter responsibilities over time, making some obsolete and creating opportunities for others – A prime example of this shift can be seen in the open-source library management tool GitHub Copilot, developed to help developers write better, faster, safer code without compromising quality.
Software development is no exception to the principle of adaptation and evolution. Traditional skills complemented by understanding how algorithms function and knowing how to fine-tune machine learning models become crucially important to stay relevant in the changing landscape.
While the tech industry continues to evolve rapidly, one clear thing remains constant: the ability to learn continuously is paramount for anyone seeking longevity in their career, especially if they're looking for careers involving programming languages, tools tied closely to emerging technologies like Artificial Intelligence, Machine Learning, Data Science, etc.
Key Takeaway: AI's impact on coding isn't about job extinction, but evolution. It automates mundane tasks and sparks new roles like maintaining AI programs. Continuous learning is key to staying relevant in this ever-changing tech landscape where traditional skills meet machine understanding.
The S-Curve Phenomenon in Technology Growth
When discussing the evolution of technology, we often refer to an S-curve. This model outlines how innovations grow over time, starting with a slow beginning phase, moving into rapid growth, and eventually maturing as they become mainstream.
Understanding the S-Curve Growth Phenomenon
In the initial stage of this curve, new technologies face hurdles due to factors like lack of awareness or technical challenges. It's akin to planting seeds – not much is visible on the surface initially, but significant groundwork is being laid underneath.
The second part represents exponential growth where adoption skyrockets and improvements are made rapidly. During this period, most adopters get on board, and game-changing transformations occur.
The final segment signifies saturation when nearly all potential users have adopted the innovation. At this juncture, further progress slows significantly until another disruptive innovation comes along initiating its own S-curve journey.
Implications on Technology Development and Job Markets
This pattern has profound implications for both technological advancement and employment landscapes. When applied specifically to coding with AI, it could be argued that we're currently somewhere between stages two (rapid uptake) and three (saturation).
We've moved beyond early skepticism towards AI-driven tools in software engineering; these tools are now widely accepted within industry circles because they offer efficiency benefits. They help developers identify bugs faster than ever before, which drastically reduces debugging code time. Moreover, automated testing ensures high-quality output without human error involved, thereby creating a demand surge for professionals who can effectively leverage these tools.
However, just like any other field experiencing quick tech advancements, there's also concern about what happens once saturation hits – will jobs disappear? While some fear automation may make certain roles obsolete, others believe it'll simply shift focus onto more complex tasks requiring advanced skills.
Autonomous vehicles could potentially reduce the demand for drivers, but they'd still necessitate skilled engineers to program them. So rather than eliminating jobs altogether, advancements tend to create opportunities elsewhere.
Ultimately, understanding S-curves provides valuable insights into future trends, enabling individuals to adapt accordingly
Key Takeaway: The S-curve model of tech growth, from slow beginnings to rapid adoption and eventual saturation, is key to understanding the future of coding with AI. We're currently seeing wide acceptance and efficiency gains but must prepare for job shifts as we approach saturation.
Leveraging AI Tools for Efficient Software Development
By leveraging AI tools, software development has been revolutionized with increased efficiency and new opportunities. This integration has resulted in significant efficiency improvements and new opportunities within the field.
Using AI Tools for System Design Creation
The shift from traditional methods: In the past, system design creation was often laborious and prone to human error. Today's developers are turning towards intelligent tools powered by artificial intelligence that can automate many aspects of this process.
Innovative examples: For instance, JetBrains' suite of developer tools uses machine learning algorithms to predict what coders might type next – significantly speeding up coding processes. Another example is Kite's Copilot feature which employs deep learning techniques providing real-time code completions as programmers write code.
Case Studies Showcasing Efficient Use Of These Technologies
Demonstrating effectiveness: A variety of case studies have highlighted how these technologies are being utilized effectively in practice. Doodlebug Interactive, a gaming company used an “AI-driven bug prediction” platform enabling them to identify potential bugs before they occurred, resulting in improved product quality and faster release cycles. The results were impressive: post-release defects reduced by 45%, and debugging time decreased by nearly half. These instances clearly illustrate that integrating AI into the software development lifecycle leads not only to increased productivity but also to enhanced quality outcomes.
New Opportunities Created By AI-Driven Efficiency
This rise in accessibility does not mean the end of traditional coding roles. Rather, it creates a demand for skilled coders who understand both the programming principles underlying platforms and how to best leverage them to achieve the desired outcome. In other words, the future looks bright for those willing to adapt and learn alongside the evolving technological landscape.
Key Takeaway: AI is reshaping software development, boosting efficiency, and opening new opportunities. Tools like JetBrains' suite and Kite's Copilot are automating tasks, speeding up coding processes while reducing errors. Embracing this change doesn't spell the end for traditional coders but instead demands adaptability in leveraging these innovations effectively.
Opportunities Ahead for Coders in an AI-Dominated World
The intersection of coding and artificial intelligence is paving the way for a multitude of opportunities. Despite apprehensions that AI might displace human coders, it's crucial to recognize how these advancements can also usher in new possibilities.
New Startups Created by Non-Tech Entrepreneurs Leveraging AI Tools
A significant opportunity lies within the rise of startups spearheaded by non-technical founders. These individuals often bring forward innovative ideas but lack the technical prowess required to actualize them. Thanks to AI-powered tools like Zurich-based AI program called DeepCode, they are now able to develop software without needing extensive programming knowledge.
This democratization not only broadens access to technology creation but also creates job prospects for programmers who can offer support or customization services on such platforms as GitHub Copilot.
Increased Demand Scenario – More Jobs Opening Up Requiring Advanced Skills
Furthermore, with AI's relentless upward trajectory comes an increased need for professionals adept at both coding expertise and understanding the principles behind artificial intelligence. The crafting of complex machine learning algorithms or neural networks calls for sophisticated programming abilities which cannot be wholly replaced by automated systems such as large language models used in code generation processes.
The Importance of Continuous Learning in a Changing Landscape
In this swiftly evolving landscape where traditional boundaries blur due to technological progress, continuous learning becomes vitally important. Coders must keep up with the newest trends, get to know new tech and adjust in order to avoid becoming outdated. Conversely, embracing change, maintaining curiosity, and continuously enhancing one's skill set could pave rewarding career paths brimming with exciting challenges and opportunities.
AI isn't displacing coders, it's creating new opportunities. With AI tools like DeepCode, non-tech entrepreneurs can launch startups and offer jobs to programmers. Embrace change and keep learning – the future of coding is here. #AIFuture #Coding Click to Tweet
FAQs in Relation to the Future of Coding With Ai
Is there a future for programmers with AI?
Absolutely. As AI evolves, it will require skilled programmers to develop and maintain these systems. Plus, new opportunities are emerging at the intersection of coding and artificial intelligence.
Is coding going to be replaced by AI?
No. While AI can automate some aspects of coding, human creativity, and problem-solving skills remain crucial in software development.
Is it worth learning to code in 2023 with AI?
Yes. Coding remains a valuable skill set even as we move into an increasingly automated world. Learning how to work alongside AI could open up exciting career paths.
Is it worth learning to code with AI?
Certainly. Combining knowledge of programming languages with an understanding of artificial intelligence can make you more versatile and marketable in today's tech-driven job landscape.
Conclusion
The journey through the evolution of coding to its future with AI has been fascinating. It's clear that technology, particularly artificial intelligence, is reshaping our world.
From historical perspectives to job market predictions and technological growth patterns like the s-curve phenomenon, we've traversed a lot of ground.
We've also delved into how AI tools are revolutionizing software development processes and creating efficiency like never before. The possibilities for coders in this fresh age are immense.
But remember, staying relevant requires continuous learning and adaptability as these advancements continue at an unprecedented pace.
If you're intrigued by what you've learned about the Future of Coding with AI and want to dive deeper or perhaps even embark on your own journey in this field…
Coders Campus invites you to join us. We're committed not only to helping individuals understand these changes but also to empowering them with the skills needed for success in this rapidly evolving landscape. Let's explore together!
The post Unveiling the Future of Coding with AI: A New Era appeared first on Coders Campus.
30:46
EP59 – From Stone Mason to Software Developer in 8 Months
Episode in
Coders Campus Podcast
In this episode we'll talk to Ethan, who is a recent graduate from the Coders Campus Bootcamp and managed to land a job within two months of starting the search.
Ethan and I talk about how, from a young age, he was guided away from learning technology because his teachers didn't feel he was cut out for the field.
In this interview we'll learn how wrong his teachers were and how Ethan was able to complete the coding bootcamp while also raising a small child with a pregnant wife and working a full-time job.
If you'd like to get in touch with Ethan, feel free to add him via LinkedIn here
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
Episode Transcript
Intro / Outro 0:09
Welcome to the coders campus podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcasts will teach you what you need to know to master the art of programming. And now, your host, Trevor page.
Trevor Page 0:27
Okay, ladies and gentlemen, fellow coders Welcome back to this what is episode 59 of the pod cast. So thanks so much for joining. In this one, we have another one just like the previous one where we are interviewing, we are checking in with a graduate of the coders campus boot camp. So we're going to speak with Ethan Bradley, He is a fellow Canadian resident of Ottawa, Canada. And his story is a good one. I'm specifically highlighting stories here of people who didn't have, you know, degrees or you know, big, huge software backgrounds or anything like that these are people who came into this whole process with the assumption or the the prerequisite or not the prerequisites what I'm trying to say here, with the prior mindset of thinking that maybe they can't do it, right, they come into this, you know, being told that they are bad at math or being told that they are not have the correct mindset or something to be successful in the world of technology. And I just want to highlight what you know what, I don't want to use expletives on this podcast. But if I were the Malarkey, there we go. That's That's my go to which I never say in real life, the the absolute Malarkey, that that that that statement is for for the vast majority of people who would categorize themselves as someone who is not tech savvy, it frustrates me because most people can achieve this, but not without significant effort. Right, not without significant amount of sacrifice. But maybe it is like sacrifice. It's it's a lot of work to learn this stuff. Which, you know, if you're this deep in the podcast, if you listen to every episode that you know, this is a lot of work that goes into learning how to code. And it's constantly a moving target and whatnot. But it doesn't mean that you can't do it, right? If you have more than just motivation. If you have motivation, plus this insatiable desire to figure this out this, this unstoppable attitude of Yes, I will achieve this goal of learning this stuff, so that I can get a job. And I'm not going to quit until I make it happen. So if you are of that mindset, I just don't see how you can fail. I haven't seen it yet, in my experience. So anyway, having said that, Ethan came into this with exactly the correct mindset. And we are going to learn all about that mindset. Shortly. When we flip over to the interview, we're going to learn how he was able to finish the coders campus boot camp and actually get a job as an entry level programmer before his pregnant wife birth to their second child. So as I am now saying shout out to Matteo, hopefully I pronounced that correctly. He was born just a couple days before I recorded this episode. So it seems like everyone's Healthy Mothers healthy babies healthy, everyone's happy. But Ethan managed to win in that race towards getting a job before the baby was born. So congrats on that all around to Ethan and his family. We're also gonna learn about Ethan sort of accidental secret that he landed upon to his success on his journey in the bootcamp, it isn't just that he was dedicated and and put in the time and the effort. And you know, got, you know, while he was knocked down, he would get back up. No, there was there was something that happened, a constraint if you will, on him that I think was an advantage. And we'll dive into that. And finally, obviously, probably what you guys want to hear about is, Hey, how did Ethan actually get a job as an entry level coder? After graduation? What magic did he do? What? What craziness if you have to, you know, did you have to pay off a bunch of you know, officials or something to get a job? No, we're gonna dive into exactly what he was able to what tactics he did in order to eventually land that coveted first beautiful entry level position. And now he's working the job and loving it. So anyway, we're gonna talk about that in this interview. So without further ado, I'm gonna stop talking. It's been almost five minutes of me talking. Let's get into the interview with Ethan Bradley. Today we're joined by Ethan Bradley, as I've already introduced him excited to get into his story because I think you guys are going to like just like Dustin before him, he's another rock Star students in our coders campus boot camp that I've spoken about many many times. So I want to learn for you Ethan what what was life like before the boot camp paint the picture of Ethan's working life and I don't know however whatever many details you want to pay to in terms of what life look like before the boot camps,
Ethan Bradley 5:18
so I before that, I've been a breaking stonemason. So junk between bricklayer and restoration masonry back and forth for like eight years. Because in high school, they told me I was a little bit. But he told me I shouldn't go into technology, because I was a little too. Not correctly. binded I guess if it's bad man, and all those things. Anyways, so yeah, just I use the years leading up to boot camp. I just hated managers. It's just bad breathing work. Like I'm tired all the time, dusty, because I'm getting rasterization. Like, right now. I got one week before I start my new job. A good description of my job is I'm in a target in scaffold. The sun is beating down. It's like 30 degrees outside. So it's like 35 inside cells yesterday, we had like a plastic sweat suit with the respirators, like chipping dusts, jaw joints, is vast.
Trevor Page 6:23
It sounds awful. You say to get to 3035 degrees Celsius, I assume that's yeah, so So yeah. So that's like,
Ethan Bradley 6:29
I don't really measurement. Yeah,
Trevor Page 6:32
that's a very, it's very hot. That's, well, very hot for me in I'm Canadian. So I don't know what that would be in Fahrenheit that that's probably I don't know, in the 90s or something. That's my guess I could ask Google but who cares? It's hot. And to be in a in a plastic suit in a tarpit environment with dust everywhere and physical labor. Yeah, it sounds. Yeah. Sounds like science
Ethan Bradley 6:52
to me. The alternate is in winters, right? either. It's freezing work. It's really weird. Either you're freezing. You're outside doing stuff. Or you're in a darkened scaffold with Peters blasting on you. So it's even just as hot as so hungry. Totally moved super dry. Or you have no work for you to work. It's treated as a seasonal rate.
Trevor Page 7:16
Rats. Right. Okay. So not great. i That's a not not a great job, I think for Yes.
Ethan Bradley 7:23
People love it. I don't. Fair enough.
Trevor Page 7:26
And I think you you said something that is, is a very common thing that you hear is that oh, if you're not good at math, you know, why would you get into something like computer science or programming or like, Oh, you're gonna you're gonna do awful, you know, even don't dare do that going into grade 11.
Ethan Bradley 7:44
I really wanted to get into technology like I wanted to do here on Earth, because electronics engineering was the course I was looking at. And so I took like, physics, chemistry, math. A just passed, and they told me, you should switch. Yeah, I did. Well, and I guess treat all that. This is why I wanted to historic masonry was like, history. Gotcha. It was cool to me. But it wore off quit. Yeah. That wasn't my job. Yeah. Which is okay. And it's paid my girls that got one daughter, who's almost two, she was born 2020. Not meant to be a pandemic, baby. But she ended up being one. Same with my youngest son. Yep. Yeah. And now I've got another one who's supposed to be born in any any day now? To do on the 30th.
Trevor Page 8:37
Okay, so if all of a sudden you need to run out the door, we won't. We won't hold you to this, this interview. Okay,
Ethan Bradley 8:42
I did it. I did a couple of years in the military, the Army Reserves as well, just before the boot camp, I actually like left just as I was about to start the boot camp because I was like, This is too much stuff. I want to go in this year, I need to draw up some things to do this. Otherwise, I wasn't gonna be able to do it.
Trevor Page 8:59
So then what? So it's a lot of different stuff. That's obviously none of it's related to tech. What? I'm what yeah, what got you into tech? What, what sort of Oh, yeah.
Ethan Bradley 9:09
Because I always wanted to do that. I like, around when the pandemic started, I was thinking, hey, I'm just gonna try coding. See, see, see if I can do it at all. So I started. I think it was about 2020 ish. I started like just messing around a little bit of pipe on nubile Free Code Camp. See how it is? I was like, Hey, this is fun. building some web pages. I did a couple of Udemy courses. My issue though, was I Google a lot. And I'm always like, I want to do the best thing. I want to pick the one thing that's going to be the best. So I'd like people kept a Python. So I did a bit of Python. People were like, oh, no, JavaScript is everywhere. JavaScript is king. So I was like, oh, it's got to JavaScript. And then I'd be like, oh, people are saying go it was great. Right now I tried go and be like, well, so I'm going to go from there. I would jump around so much I think about like 14 different books and different languages C sharp but book on that. It was cut using podcasts or listening ton of politics. That's how I found your boot camp was while listening to your podcast because at one point I went on a Java stint, as soon as I learned Java was like, Okay. And I did the beginning part of like a code with Melosh. In the core course, which meant I knew what types were and I started the blockchain. Forgotten almost everything else. But yeah, I was not really getting where I wanted to go. Doesn't make sense. It's ADHD, it will add, but now it's technically classified ADHD inattentive type. So I jumped to the new shiny thing. All the time, and, you know, wasn't getting as much progress as I wanted, I had sort of settled on to the Free Code Camp, but wasn't super happy. Because like, everyone's like, Oh, you're not really gonna make a lot of progress. You have like a mentor, and you need someone to ask questions that I couldn't look like, for the life of me find anyone. I joined a bunch of online communities. But still, it's asked a question here, and people are like, Oh, well, you should know that. Or,
Trevor Page 11:25
hey, yeah, it's okay. And how long are you doing that for how much time you spend sort of poking around at like,
Ethan Bradley 11:33
a year and a bit? It was like, Yeah, until well, from like, 2020. Somewhere in the middle there until September, he started boot camp, right. And I did a couple of your little online seminar things that you put out. I think they were pre recorded, but one of them was a lot of
Trevor Page 11:52
Oh, really, I didn't know you tend to one of my live ones. Like I did do a
Ethan Bradley 11:55
live one where you were doing a promotion. You like at a discounted price. Next Tuesday, get a bed. But life goes on life goes on. But yeah, then I just started thinking like, should think he would go to school. But that was looking at prices. Really. There's a college here, and there's also universities, but it's expensive. Yeah. So that's good. Because we're like a baby and family. And we just our plans to buy a house gotten up real fast, because they started selling our apartment. So we're like, oh, well, we can either buy this apartment or we just move and buy a house. So we got a little stuck there.
Trevor Page 12:35
Yep. And that was it. Was that in 2020 that that happened? Yeah, we bought the beginning
Ethan Bradley 12:39
of 2021. We ended up buying it because it's holding us just before the end looks.
Trevor Page 12:45
Gotcha. Okay. Yeah. I mean, it's it's probably already gone up in value, right. It's the market the way it is. Yeah. Yeah. Well, we
Ethan Bradley 12:51
bought at 245 It's probably way higher now. Yes. It's crazy around as they're selling 300 something. Yeah, yeah, I'm gonna I should mention I'm not in the city city. I'm like in a small town outside Coast city. So yeah, a little jumper,
Trevor Page 13:04
the Canadian that while the most the Canadian real estate market is ridiculously overvalued at the moment. And when you say 200 or 300. To me that sounds like chump change. Because, yeah, in the cities, which is where one of the places where I am is near the city. Yeah, that you can find a place for that. So for
Ethan Bradley 13:21
example, the condoms, like colornews, like a bachelor apartment, where we just lived, where our apartment was that we were renting is now 700 Oh my gosh, yeah. Who do apartment? I'm like,
Trevor Page 13:33
nope. Yeah. So. So that's just to give you a landscape of like, yeah, so hey, why why do you want to get into tech? Well, the salaries aren't good, right? These days, you need a good salary. So okay, so you did a you did over 12 months of sort of prep work. It's a Free Code Camp. Yes. And Udemy courses you bounced around, which is very good base,
Ethan Bradley 13:51
it gives you a big a loop was I know how to do a loop and variables and some basic stuff in about five different languages. But I didn't know how to do it anything real writing any of them except HTML, CSS, I could put a page up.
Trevor Page 14:07
And that's, that's great for, again, fundamentals. I talked about fundamentals in the podcast and getting getting a really solid grasp on the fundamentals of programming variables, loops, data, structures, methods and understanding how they work the inputs, the outputs, it's very, very The only issue there is, and I'm not saying this to single you out, because everybody does this is that spending a year on that is a gigantic waste of time, you can get that solid understanding much faster than then in a year. And that's what you'll get from universities. Well, the first year of university is going to be that stuff, right? And it's if you already know it, it's like, oh, but you can get it. You can learn it pretty quick. But anyway, I don't want to toot the horn of the bootcamp, you know, but that's sort of what that's what you get. As part of any bootcamp I get. I talk about mine, obviously, but it can be any bootcamp, you're gonna get that fast paced learning and you're gonna have a mentor to help facilitate the fast Feet, right? You're gonna want to, you can ask questions and get immediate help. That's useful help not oh, you should already know that or just go Google it. Right? Although will sometimes say go Google it if it's something that you should be able to Google Crosta
Ethan Bradley 15:13
question on. Stack Overflow faculty understand?
Trevor Page 15:17
Yeah, exactly. So that's where something like a boot camp can really help speed things up. Right. So So you, you found the podcast, you started listening and you say, oh, you know, this, this coders campus boot camp? Sounds interesting. And you sort of you dove in? What was that experience? Like? What was was that? Were you panicking? Were you second guessing? Are you confident? Yeah. How did you feel?
Ethan Bradley 15:38
So I was super hesitant, and then I contacted you. I don't know if you remember emailing me back and forth. Maybe an email a lot of people I was I was concerned about pricing, because like, I don't know if I could afford this every year like, Well, I was like, maybe November, I can afford it. So I was planning my plan was to start November, actually. And then you're like, Well, I have this free beginner's course, try not to get like, ready. That's how I'd like did it. And I did it in a week and a half. And it was supposed to be four weeks of stuff. And you're like, Are you sure she should be waiting? You get to this, like, you're already ahead of the bootcamp. And you were really good about helping me. I did like the income share opinion. You probably needed. If so basically, there was like a down payment, which was paid you were helpful and setting that up. So it was easy for me to do. And then I didn't have to pay until after the bootcamp when I'm making over a certain amount money, which I'm about to start. And we work to start paying next month, I
Trevor Page 16:50
believe, yep. Spoiler alert.
Ethan Bradley 16:54
It's nine point something percent of your income until it's paid off for two years is what I believe.
Trevor Page 17:01
Yeah, it's it's, is that I can't I can't recall the specific I should know this. I think I think it's a three year maximum. It's either you pay for three years, or you hit the pay back balance, which most people will hit that in two years. I
Ethan Bradley 17:14
think that's yeah, we will. I'm going to show that pretty quick. Yeah,
Trevor Page 17:19
for sure. Even at the salary you're at right now. And we'll talk about that a little bit later. If you want to share that those numbers, you'll, you'll for sure. Hit that. So you're probably in about two years. So that's that's the average payback period that we see. So the beauty of the ISA is it, it allows you to get started for a lot less money, and you defer the rest of the payments until you know after graduation, so to speak. Yeah. Now I wanted was the only way I could afford to do a bootcamp, which is the way that those battery jority Yeah, that's you're not alone there, right? Most, I would say maybe 10% of the people pay the full amount upfront, maybe? Maybe 5%. So it's a lot of money, man. It's people who are looking to change their careers like yourself. There's sort of three groups that people fall into the career changers, which is where you are Ethan and where most of the people about half the people are coming from careers have nothing to do with tech. And they want to get into programming because this is the you know, the restaurant managers, the electricians, the Yeah, stonemasons, the landscapers, the, you know, these are all you know, what a janitorial staff. I don't know what the PC term for janitorial status, you know, this isn't on tech related issue. Sandy Yeah, something like that. So that's the majority, and you just in those types of jobs, you don't, you don't tend to have a lot of cash lying around. So you can't afford to pay for it upfront. So that's where something like the ISA helps. Now,
Ethan Bradley 18:33
I was talking to paycheck to paycheck. Exactly. My wife works to like, it's not like we don't, we're working, we're getting less expensive.
Trevor Page 18:42
Life is expensive, especially these days. So that's where the ISA helps. Now the downside to the ISA is you, you still have to pay it back eventually. Right? It's it's a, you know, if you choose to, to join, and then you don't graduate, because you don't put in the effort, eventually you start to pay it back. So that's this, this particular approach is only good for people who are willing to and ready to put in the amount of work that's needed to cross the finish line. And that's what I want to sort of transition the conversation into is what was the work like? So you talked about how, you know, you were hesitant, but the ISA allowed you to join the boot camp, and then you eventually chose to join the boot camp. What was the word like there? Even when you join late, you still You did great. You did a boot camp very, very quickly. But what was the work like how, what was the How hard was it? So
Ethan Bradley 19:32
it was difficult. A lot of issues. There's a lot of like, I knew the basic concepts, and I did the prep course that you have. So I was able to jump a little bit ahead, but then you hit like new stuff and you're like your brain stops for a minute. The way the bootcamp was set up for me was like perfect. Because of the way my learning style and the way my brain works. So we have like the video content every week. I actually need you to Ah look at where students change how the beat can run slow, we can get more content fast. Oh, that's right. I forgot that that was an interest to you. But he released more more weeks of videos. Yes, yes, yes, it's the video content. And where I can watch it like I could be doing something. Because we only got like a, an hour or two per night where I could sit on my computer. And that wasn't even every night, I could do that. But I could put it on my phone. I know, in your videos, you say don't watch Oh, and it worked pretty good. But I could put it on. Like, while I was doing something, I could be like, washing dishes, put the video up there. Watch and repeat. Listen to the concepts. The way my brain works is I remember where you would say something. And like, then reference back to it. So the key for me I found was I could watch those videos, even on my break your launch. And I had eight hours doing a mindless job where I could just think about it. I just like go through the examples in my head. What is this? So that I could sit down and do the work later? That was really important for me. That's a really
Trevor Page 21:11
thing. Yeah, that the the way? Like, first of all, I can't even I didn't know that. You would what you were watching on your phone, and then even then you were maybe doing one or two hours every other day or every third like that's and the speed. The reason why I say that that's surprising is Ethan was able to get through it in I don't know, four and a half months, the whole day, which normally it's six months. And right now, we've already introduced a nine month version of it, because people just can't go that fast, especially if they're brand new now you would fall into the six month because you already had 12 months of experience already. But yeah, that's still very impressive to do it in like four and a half months that
Ethan Bradley 21:50
time away from keyboard was was key. And I think that's right, yes. So I would watch through the videos, the first half of the week, I'd take a couple days when I would like be watching videos. And then I would read through the assignment. And I would think about the assignment in my head, eight hours a day, while I was chipping joints or putting money into cracks in the wall. So late by the time I sat down, I had a plan in my brain. So it was just a matter of good stuff fit on the page. And then debugging was finished. So I knew sort of what was abhorrent, like if I'd he'll bug usually, and I'd be frustrated for the last half hour of my coding session. And then the next day, I might have eight hours where I was like, what could I try? What can I try this and to like enjoy this thing. That it really was really important.
Trevor Page 22:45
Because here's, here's what happens. And I think you you accidentally were given this blessing of this of this constraint. The constraint was you had a job that you had to go to for eight hours. But the benefit of that job is it's pretty mindless. So the the the what you actually fell into is what some people do the opposite of which is they immediately just start coding, they read through the assignment and then okay, let's crack the fingers. Let's open the IDE, let's start coding, right? That is the almost guaranteed way when you're a beginner to fail. Right? When you're a beginner, that is not from experience, I'm saying this, this is not a gut feeling this is I've seen it happen over and over again, people will jump into it immediately start coding, and you just start creating this absolute pile of garbage. And you and you start with this pile of garbage and then you try to tweak it. I'll do this and tweak this and tweak that tweet and add this and remove that and it's like you're just it's it's garbage in garbage out. Dizzy is the expression whereas you took the meticulous approach, which is a lot more frustrating because it feels like
Ethan Bradley 23:47
it's slow. I I felt like I was like, Oh, just want to be in alignment computer coding, right? Yeah, exactly. But I'm sitting here on the stupid world during the stupid
Trevor Page 23:55
but that's, I think that that's faster, right? And there's an expression which are saying or something that can it sort of applies here if you want to go fast, go alone, if you want to go far go together. And that's it sort of applies here. The implication here of if you want to go far, then you gotta you got to take your time with it right? You gotta you gotta leverage the group and you have to spend time thinking and not actually typing keys on the keyboard.
Ethan Bradley 24:21
Really good part is Well, I started the September group, there was about two or three people that I but reached out constantly and we were always communicating. And we finished first. Like, it's so important to reach out to the group because like they're working on the same things are working on the daily calls. There's a daily call every day, I was on almost every single one nipping from the scarf. Let's put my headphones in. People had to stop it through mine. scaffold noises but it wasn't bad. I could sit and listen, even if I couldn't talk because there's too much noise. I had the earphones and I could listen watch pee Pull, struggle through problems and getting advice that the next thing like Pete was to use Well, like I couldn't share my screen on the daily calls, like everyone else could to get help debugging. So I would just harass Pete all the time. And who is Pete for the people who don't know who Peter, Peter is one of the instructors. So he runs the daily calls like, daily call, when you show up, you Salish, everybody gets a chance to say like, Hey, this is what I worked on. This is what I'm gonna work on. This issue I'm having Can anyone help me. And then at the end, everyone can jump in and help you give advice. And usually it's Pete giving the advice. But if there's a student there that now they're all together, there's a duck that has already done that they jump in and help out as one. Sometimes it helps the, it explained a different from different points of view. Yep.
Trevor Page 25:55
And that concept of, here's what I worked on last year. So I plan on working on today. And here's sort of what we call blockers that comes from the business world. It's called an agile what's called Scrum. But it's part of a methodology that's used with developing software specifically. So we use that on purpose, because that's eventually probably when you start your job, which maybe we'll talk about soon, when you start your new job, that might be what you're gonna do on a day to day basis, every day, you're gonna say the same thing. Here's what I worked on yesterday, here's what I'm working on today. And you're just gonna naturally be good at it, right? We try to force you to be succinct, which means quick, you have 60 seconds to get all that information, which is needed. When you have a team of like eight people, you don't want eight people talking for five minutes each or more, because then you're sitting in this meeting, not getting anything done. So yeah, it's good. I mean, having the community there little bit of accountability, and specifically reaching out and asking for help. It's so important. Yeah.
Ethan Bradley 26:45
And especially like, I worked along, Dustin, who did the podcast with before, me and Mr. Kind of like a little bit opposites. And it really helped like he would Dustin is he needs to understand what is happening all the time, he dives really deep into things. Whereas I'm like, I gotta do this. I got to learn as I go. Makeup work admin, then refactor the code that's written. So she was always asking you questions. I'll get back to your book and figure that out. Yeah, like, I would have done something and passed an assignment and I would have done it in a not as good way. And he like, asking him asking questions is, can you key? It like, I was like, Oh, I could make that a lot better later. Or the next time that it's gonna be better. And I would just get something working, like write that. And then he'd be like, No, I need to understand it. Now.
Trevor Page 27:42
I was going to hopefully say is, if you don't have like a Dustin or someone who's like that, we try to capture that as part of the code review process. So once you submit your assignment, we have experts who I say experts, we have two two people who have been coding for more than 10 years, each who look at your code and who will give you their feedback. So if you do do something that's really not, you know, good, they're gonna say it well, not, they're gonna kick it back to you and say, You got to fix this. So and even even animatedly,
Ethan Bradley 28:10
they were really good at like, Hey, you did everything great. I had one really like you did everything. almost ideal. So here's some cool things you can add like to make it more performant or things. You can add validation or something, but you just have that info, which was just teaching me new things, which was great.
Trevor Page 28:29
Good. I didn't didn't didn't know that. They did that. So that's, that's wonderful. Yeah. The whole point to it is to try to make you as well rounded as job ready as possible. Right. That's the point of any bootcamp and should be anyways, ultimately, to get you ready for the real world, which I was going to start talking about job. But I do want to touch base on on the topic of knowledge, like, well, job, my brain is going all over. So you, you so you graduated really quickly. And let's talk about the job search first, because I think there's there's some, some knowledge to gain a whole cycle of that. Yeah. So let's talk about the job search. You graduate, you start the job search, how does it go? What what happens?
Ethan Bradley 29:06
Talk? Well, I start by making a resume, which I will deal with the help you help me and then I was in a couple of online communities. There's the resume making course that we got after graduating. So when all right, I sent it everywhere, absolutely everywhere. I think my the most I had out at one point was 400. And that was excluding the ones that had already emailed back and said no. And I think I had about four interviews from that. And the first one, I believe was one where they eventually told me like, yeah, you're nice, but we're actually just looking for seniors. We'll keep your stuff on file, let you know. Thanks. They were fine, but I was like, so bit of a waste. I don't know why you would talk to me in that case, a lot of calls being like, hey, can we set up a call and then I think they actually looked at my profile, it just goes to do it was just a bit of a disaster. And nothing happened. I got to one where they were, I liked their approach. But it was not good for my situation. They were like, We're bit I actually basing our thing more on interviews than the resumes. And like I had react on there because I did a little bit of React view. To learn something spirit ended up being a React interview. And what that taught me was, I really don't want to do react, okay? Only like, I don't want to get front. So at least I learned something from that. And I was like, I need to really narrow this down.
Trevor Page 30:42
So that what did you do? How did you so you'd sent out? You did the spray and pray method, which I always say you get about 1% conversion rate, which is every 100 applications you send out, you get one interview back. So that's pretty much it. The
Ethan Bradley 30:52
interviews were not what I wanted. Okay, it was so then what did you
Trevor Page 30:55
do? How did you fix that?
Ethan Bradley 30:57
So I did, I eventually, you had set up a deal with career sprout, to do some of their needs, which is that a company that helps you do the job search and negotiating, and all those things. And so it started doing that. And he got to the networking side, and realized that I've been doing everything all around, I started networking, and people started talking to me, like, I just messaged a few recruiters, they were like, Hey, let's set up a call, we'll see what we can get to do even the ones that didn't like end up in a job that they at least got me contacts. So I knew people in the area, I was the one and a couple online communities as in the discord community as well, nice. And a local guy EDB a lot of advice. Just by doing this, I was like, Hey, is everyone around here? And then we ended up having a private conversation. He's like, Yeah, you're doing exactly the right. Like you learned exactly the right course, I should mention that. He's like, Yeah, you learn Java and spring and exactly what he taught you for your local area, too, is, it's really important to find out what's your research where you are. That makes sense,
Trevor Page 32:07
which is just go to indeed, and type in different languages and see how many jobs are available. And they aren't really I can almost guarantee if you're in North America, the answers to that, to the to the most popular languages are going to be Python or Java. That's just where all the jobs are right now. So
Ethan Bradley 32:24
we're in JavaScript, everyone learns JavaScript. So it's like, yeah, it's flooded with JavaScript developers.
Trevor Page 32:29
Yes, exactly.
Ethan Bradley 32:31
Not that it's bad. Just thanks. A lot.
Trevor Page 32:33
There's a lot of competition. We could talk about that a lot. But yeah, there's a lot of competition. Yeah,
Ethan Bradley 32:37
the net working, got the conversations flowing, and then ended up working for me to actually get a job was actually through you. I think your dad was able to talk to to meet a contact here in Ottawa for the jobs and I'm about to start. Exactly. Um, so you have anything now? Freaking like leverage, like, and I know you're in my network. So that's what got me my job.
Trevor Page 33:07
It's such that's helpful. Yeah. When you have someone who has a network, it's very helpful for getting a job.
Ethan Bradley 33:13
Yeah. But yeah, once that started actually working, like, because I was I actually applied to that job once before, and no, but as soon as I like, got in, and someone was like, Hey, can you talk to him? They talked to me, and they're like, Oh, this is great.
Trevor Page 33:31
Yep. And the reason is, is because the everyone just does the spray and pray method, it's, it is a very easy thing to do. Right? So everyone does it. The problem with that is when you're on the other side of that, when you have 500 applicants, you don't have time to go through 500 Different people to pick the right one, right? Something has to stand out. Right. And oftentimes people will say, you know, make your resume shine, make your written and have a great portfolio. And yes, those things are important. That'll make you stand out from maybe 50% of the 500. But how are you going to actually stand out? So you're the top three, right? And that's where you need to have some sort of networking connection, a human to human interaction, to be able to say, Hey, listen to me, my name is Ethan, I am a good coder, I think I can genuinely help you. And when they listen to this, okay, I'll give this guy a shot. Right? And then you're
Ethan Bradley 34:23
getting in front of that person, they can actually judge you for who you are, instead of just what you look like on paper because I look horrible on paper for a coding job. I just do. I'm like a great player for eight years. And then a coding bootcamp and right. Like, I'd helped out a little bit in the bootcamp afterwards so that was that was it
Trevor Page 34:44
but you still got a job? Like yeah, I did can be done. So let's leave us alone. It was great. Let's talk about it. So you got the job offer. You've accepted that you signed the paperwork, you start soon. Do you want to talk more about the job itself? I don't know your title if you want to say salary or salary range. To you talk about
Ethan Bradley 35:00
it. I don't know, I don't have a lot of details on what the actual work is gonna be like, but well, you can glean that from Daniel, I'm going to be working with CGI, which is like a consultancy, where I'm basically I'll be on a team, and we'll get contracts. And our team does the contracts in Ottawa heads a lot of government contracts. So I'll be on a government contract where we writing a program for this department. It's written in COBOL right now. And so they're like, Oh, it's a little outdated. We're going to write a new one. Cool. I'm going to be a junior Java slash full stack developers by title, which feels nice to see next. Yeah, a year or two. I could take the junior year off. That's right. Yes. But I am taking a bit of a pay dip because unlike at the top rung of where I am coming from, right, and I'm going into an entry level position, but even then it's I'm gonna be making 55k a year plus benefits Plus, there's vacation a bunch of other things three weeks vacation. Yeah, we're adding paid vacation in my life. Yeah, so you have health insurance and all that stuff. And just paint really pleased. Excited for is the vacation. Yeah, exactly.
Trevor Page 36:17
So that stuff all adds up. And so now you've you've got this job and and and we're on time. Oh, and remote. Very nice. Yes, I'm
Ethan Bradley 36:26
gonna have a brand new baby, so I can work remotely be told to help me. That's also a valuable,
Trevor Page 36:32
yeah, although you'll regret that later. But anyway, it's nicely I'll be like, okay, honey, I gotta go to my job now and then leave. But the depends on the person. So I see that I've been working remote for 10 years. So I've been in the thick of it for both of my babies. And it's a lot of work. So So yeah, you have this job. And oftentimes people will focus on that starting salary, right? They're gonna say, you know, I'm not gonna take a pay cut. Like that's, that's ridiculous. And that ended up and what they don't see. And it's frustrating is that the first job and the first pay that you get, lasts for maybe 12 months, right. And then after 12 months, your your world opens up, you can now you don't have to stay with CGI, if you don't want to, hopefully you will. Because they're a good company. I've worked with them before. They're good people, they take chances on juniors, I think they should be rewarded for that with loyalty. But that's up to you. You can always play the field and go and get another job after 12 months, right? And so many more doors open up and now you'll have multiple companies reaching out to you saying hey, I want to hire you. And now you can say, I don't want to work for you unless you hit this number. And then you can jump right back up to where you weren't where you would topped out. After eight years as a stonemason. I forget the the brick and stone use brick and stone mason, I want to be accurate. So you can now take the top of what took you eight years to achieve as a brick and stonemason. And then do that at year two of your of your coding job right now, probably somewhere around there.
Ethan Bradley 38:00
Well, like the way I see it. I've got the starting salary. Okay. This is not a horrible salary in as far as salaries go. Right? For an entry level position in Canada, Canada's a little bit lower. So yeah, yeah. I mean, should I've negotiated the higher maybe, but I also negotiate my way up to five, detach it. Okay, good. So I'm happy with it. But now, I can prove, prove what I can do. And I think I get to discuss with them every year. Like, if I want, you have a ball, absolutely, I just spend a year and I need to get
Trevor Page 38:41
so the piece the piece of advice for you. Just Ethan although this helps for anyone else listening if they're in a similar position, when you have an accomplishment in your job now for next fall months, write it down, that's something I did not do. Write it down when you when you get any praise from your boss write it down date. And and you know, accomplishment, it may be even if you want to go overboard get like the email or something so that you can build a case for yourself a year from now. Because if you just walk up to your boss a year from now and say I deserve a 10% raise or a 20% raise or a 100% Raise, they're gonna say okay, why? Because they probably couldn't give it to you, you probably will be worth that. But you need to prove that you're worth that right. So that's the one little piece of advice that I did not do that you should is just keep track of it and say, you know, I I actually tend to work 50 hours a week or whatever the case may be and I'm only I never charged you for it or something. So I don't know, whatever it is that you feel allows you to provide value to them write it down. And anyway so super exciting. You've got the job you start soon you're gonna get all this experience your career trajectory is gonna go up and up and up. Once you get senior level like where I'm at and I have 15 years experience or maybe yeah, maybe 15 Maybe more I forget. Now once you get to like five or eight years experience, you didn't get to start swatting away deals for like 150k 160k Hundreds Then, like the the numbers, it seems like it seems like play money. It seems like something that's just not real, like how can ever you know, but that's just the reality of coding. It's, it's, it's ridiculous
Ethan Bradley 40:11
like 100k for me in my glass career just seemed like unachievable, unachievable exactly right. Like, unless I work a ton of overtime, which they don't always pay overtime, like, ton of hours never see your family going, like, I can see it now. And let's say I have a plane, I'm gonna get there. Yep. So it's, it feels like freedom. To me.
Trevor Page 40:36
It's good. I'm glad. And that's and that's what. So this is the end result. Right. So if I'm talking now about from the terms of marketing, from, you know, talking about the bootcamp or any bootcamp, there's a before state and an after state for the student, right. In this case, Ethan. Ethan's before state was job he hates you know it, okay salary, but, you know, lots of uncertainty around, you know what sick time if I'm sick, I don't get paid. If there's a strike or something, I take a pay cut in the winter, sometimes I can't work, you know, whatever. The before state is like a frustration, and I just am not happy. And I and I could do so much more, right, there's so much more in me that I have that I can do. And then you go through this transition, which is the boot camp. Now this can be done without a boot camp, this can be done on your own with self paced learning, it just takes a whole lot longer. And the chance of failure is a lot higher. I've said this many times, I don't need to go into the details. But that's just a fact. And then the after state is where we are now, which is this oh my god, this like, feeling of more light like this and like less pressure on the shoulders. And it's like, okay, like, I can see now this path and this amazing. And that is the key that you need to hold on to in your brain when you're starting out. Because that middle part in the bootcamp sucks. It is hard, right? And I've tried to express that. And I tried to say like to hit the brick wall of like, your something doesn't make sense. And you feel like you're never going to understand it. And like, it's, it's hard. And you need to remember the after state, you need to remember the ossicles.
Ethan Bradley 42:07
Specifically, I was trying to learn SQL and databases. And I was like, I think I did three different one on one calls with Pete in a day just like ranting, why this to stupid, it doesn't make sense. Horrible. potentially be like, Okay, take it hour, we'll come back later. If you notice, like I clicked on his new dishes. It's, it's frustrating. But like, I spent so many time just ready to get Pete about things. But like, I had to keep this in my brain, I set my goal. If I can do the end of this, by the time I'm 50 I could spend my winters in Brazil. At the end of the day. I close my laptop, walk outside, the wife hands me a coconut and we're sitting on the beach.
Trevor Page 42:53
Beautiful that is that and you have you have said that it really Yeah, you've you've you've kept that same, you've been saying that for months. So you have a very specific image of your, you know, after state your even your after after state, you know, somewhere down the road and you know, 10 or 20 years from now, the they could work from
Ethan Bradley 43:12
anywhere. So like let's say I'm a senior and people are like begging for me to work with them. I'm like, I can go anywhere you want
Trevor Page 43:18
anywhere. Man. The job I have is yeah, the job I have the company is 100% remote. There's like the the they have like 400 people working from like, 50 different countries don't quote me on that. But it's it's ridiculous, right? It is truly remote. They are never going to ask me to go into an office ever. Because if they did, they would have a nightmare on their hands of people like so those jobs exist. And they pay really well
Ethan Bradley 43:42
you go to the store, buy those 150 Sounds good.
Trevor Page 43:46
So okay, so there's the after state just so if you're in a before state right now, if you're in a position of like, oh my god, I can't do this, and I hate my job, and what are my options, and I'm not good at math. And I'm not I never do well in school, and I don't think I can do you know, it's, you know, the first thing I do is probably dip your toes in the water do kind of like what Ethan did try Free Code Camp, try some Udemy courses, dip your toes in the waters just know, it's still gonna be hard, you're probably still gonna be frustrated, you're probably still gonna feel like you're not getting anywhere and but you do want to just see if you're at all if there's still an interest if you still wake up the next day curious about how to solve that problem. Like, if you're still coming back to it, that's probably a good sign. Whereas if you're like, I never want to see that like you
Ethan Bradley 44:27
want to do like you every time you're doing something else. You're like, I wish I could be doing this. Wishing
Trevor Page 44:33
That's a great feeling. Right? That's that's what you know, you're meant to be doing this. So I think that
Ethan Bradley 44:38
like I could do that from within job like it's
Trevor Page 44:42
it feels like cheating is what I say. Feels like cheating. Because like, yeah, to get paid to do something that you'd like you'd probably be doing anyway. Like it's it's feels like cheating. So So if if I don't know if you have any advice for someone who's who was in your shoes, before you did the bootcamp, is there any thoughts or advice or anything that you could get? Give it's okay if you don't have any. But is there anything that you would say to someone who would be like, yeah, just starting this journey right now, and listening this podcast
Ethan Bradley 45:09
we play, we're not in a bootcamp, I would say, maybe see if you have option to join one, not that it's necessary. But if you're not going to meet up, try to do that kind of stuff, meet actual people, you're going to need people to help you. There were no meetups here, but when I joined the bootcamp, you need to take it in, get them really paid for it. So like, the takeaway is a Trevor, if you're in his boot camp, eat all the other people like I was on Slack all the time trying to get every meeting and good. So it's like, it's just like, in my boring work. It was like this little highlight outward spin thinking about coding with people. And just take advantage of every condition.
Trevor Page 45:56
Absolutely, because some people don't, some people will join the boot camp, if that's their journey, and great, there's some people who I've barely heard from, they graduated in the boot camp and got jobs on their own, I may be put, I maybe had three hours of conversations with them through the entire process, hey, some people can pull that off. That's rare, it's much more likely that you're going to have people who are banging down your door asking for help. Those are people who do great, right? The people who I know really well are the people who succeed, the people who I never hear from are very likely to not succeed. So don't also just join the gap and not use itself.
Ethan Bradley 46:31
It's about it's not so much about just the coating, it's like meet the people, these people are going to, you're going to know that. So later on you might need you might need an introduction and that person knows someone like it. And you've made that relationship. So it's not weird for you to just be like, Hey, man, how's it going? I'm doing this guy trying to look for a job. Do you know what he would absolutely be doing? Like, that's how I got a job.
Trevor Page 46:58
Absolutely. And that's how I've gotten a job in the past before I needed a job. And I've told this story many times, so I won't go in detail. But I went from sitting down with my wife one night saying, oh, I should probably pick up another job to 24 hours later, I had a job offer 24 hours. And that was because of my network. I reached out to a few people. And one of them said, Yeah, I could probably get you hired. Let me check with my boss. And they had a conversation with the boss, the boss called me and said, Yeah, I mean, we were looking for some help. Would you be willing to start on Monday? And I said, Okay, sure. Done. 24 hours, I had a job. And it was, yeah, I think it was, uh, that one was 140k with a potential up to 10% Bonus annually lay that in 24 hours. So it, it it's insane. Well, that's a living for 50 off, which is much better than 400 Plus applications. Yeah. So the network is very important. So yes, build those relationships in the bootcamp or wherever doing meetups, whatever worked on you. And because it's, it's it pays dividends big time in the end. So cool. I think we're, I think we're good on time. I know this is gone long. I can talk about this stuff for hours. Anything else you want to say? I know some people sometimes who listen to these things want to reach out to the bootcamp students to pick their brain? Would you be interested in having people like, I don't know, email you or message you on LinkedIn or anything like that to pick your brain?
Ethan Bradley 48:14
I mean, yeah, I mean, the slack. If anyone's in the prep course, were like, I'm on LinkedIn, you can grab me see my pace.
Trevor Page 48:23
Okay. So I can share your I'll share your LinkedIn, your LinkedIn profile link on on short, Elektra, something, they can go and click on it and talk to you. Totally cool. Cool. So there you go. So you can connect with that with Ethan. And in your message, just say, Hey, I'm a potential, you know, bootcamp student or something. And then he'll know to accept your, your, your connection request. What's something good, you'll build Ethan's network? You can build your own network. There you go. Wait. So it was an autopilot. There you go. Perfect. So yeah, thanks very much for taking the whatever hour whatever it's been that we've been chatting. We've got overtime. And yeah, I can't wait to get in touch with you, Ethan. And see how your journey goes in year one, and two, and three, and five. And eventually, you'll have to take a picture of you on the beach with the coconut and send it to me, because that'll be a good one. So it'll be fun. It'll be fun, man. So thanks so much for taking the time. And I'm sure we will hear from you again sometime. But you take care. All right. There you have it. Ladies and gentlemen, this is Trevor back from the future present. I don't know how you call it after the interview took place. And yeah, just wanted to say thanks again to Ethan. He really was very generous with sharing his his thoughts and his feelings about his experience. And again, so proud of the guy. I can't say enough how incredible he did in the boot camp just because he put in the work. You know, even though he had a pregnant wife, and even though he he had a job and you know, although it wasn't constrained on his time. I think it was an O overall a good thing that it forced him to think about how he would solve the coding problems that he was, you know, at any given moment working on right. So many students will just just dive right into the code. And I, you know, I was to blame, I did that as well, when I was new to coding, you know, way back, when I first started, I would just jump jump into the code to without really thinking much about it, because I figured that was the most, you know, the quickest way to get across the finish line.
Trevor Page 50:27
But now, seeing all these data points, I can see that's not the quickest way across the finish line, the quickest way across the finish line is to think is to plan ahead of time is to not write code until you understand all of the high level steps that need to be completed in order to solve whatever problem you're working on. So Ethan was forced to do that on his job, his, you know, repetitive and mindless job, he was able to think about all the those steps in the high level and what could work and couldn't work. And as you heard, I think that was a big asset. So definitely a big takeaway there. And also the whole, you know, hey, don't just spray and pray with your applications. You know, 400 plus applications with zero success is frustrating to anyone. So, yeah, there's always a better way. So leverage networks. Obviously, if you're interested in the bootcamp, hey, you know all about it, coderscampus.com/bootcamp, we have, you know, student alumni who are able to, you know, you're able to rub elbows with them, and get access to some of their network, and contacts, as well as some of mine, and hopefully, drastically increase your chances of getting a job. So these people that are getting jobs don't have degrees, these people that are getting jobs, you know, they just did the bootcamp, right. They just put the work in and the effort in and then follow the advice that they were given. And, you know, did what I said, and then hey, lo and behold, they got jobs, imagine that. So, you know, it's, it's, it's not a hard thing to do. And it's a, it's a simple process, I should say, to simple process to follow. But I guess it is hard to stick to it. Because it can be so frustrating. Anyway, I've done all this before, if you want help, if you want guidance, if you're someone who is driven, who doesn't, who won't stop until they get that job and are able to, you know, have this amazing, illustrious career as coders. As I always say, we are so spoiled as coders, you know, my my, I also work in the world of coding still, because I like to keep my skills sharp, while also doing this whole boot camp thing. And my salary now, I mean, it's, you know, it has the potential to be above 200k. Now, so it's like this, it is so unimaginably rewarding, to be paid to do something that's fun, right, and not only just getting paid to do something, that's fun, but essentially get paid what like, three or four times the national average salary, you know, it just feels like cheating. But anyway, you can't just have that as the goal. You can't just say I want money, money, money, money, you know, you have to actually like a little bit of what this is, you know, this, this coding stuff. So if you've dipped your toes in the water of coding, and you still like it, but you're struggling and you don't know, you need guidance, and you don't know what to learn, and you find yourself doing the the hopping that Ethan was doing in the beginning where he was learning a little bit C sharp, but then he was learning a little bit of Ruby on Rails because someone said, hey, you need to learn Ruby. And then he learned about JavaScript because someone else said, Hey, you got to know JavaScript. And then he learned a little bit of Java because someone said, Hey, Java is the best and you got lots of jobs with Java. And then someone else said, Hey, learn, you know, C++ because Bob, and you know, he's just bouncing around. It's like, No, you need to focus, right, you need support, to focus on one path, make it through that path to completion. So that you can open up the next step in your, in your journey, which is ultimately to get a job. And then hey, if you want to switch to another language, knock yourself out. The hardest part and the most important part is to get that first job. So this bootcamp is going to help you with that. It's going to teach you one stack one very popular stack. People always ask why teach Java, I teach you how because it's like the number one most available job you can get. And the skills that you learn as a Java programmer Trent are transferable immensely to other languages. And you know, web developers are our, you know, always in demand and you know, learning Java as a back end language for web development, as well as some JavaScript. I mean, it's just so oh, it just, it's so good and so helpful and it's so
Trevor Page 54:50
widely spread available. It's so there's so much opportunity, it's just you need to put in a lot of work, right that's what this comes down to. If this were easy Not everyone would be a coder already. Okay? It's not easy, but it is simple. And we are here to help. We are here to put you on that path and get you across that finish line. Like Ethan and like Dustin before, before him and like many of our students who graduate and gotten jobs now we're here to help you along that journey. So if you are dedicated if you want to get this done and if you're gonna stop at nothing, then please, please apply. I think we can really help you so coderscampus.com/bootcamp, all one word. And yeah, look forward to seeing you and speaking with you inside of the boot camp, because hopefully you'll apply and get accepted and make it through. And I'll see you on the inside. So we'll see you there guys. Thanks so much for listening. And until next time, take care of yourselves. Happy learning. And bye for now.
Intro / Outro 55:48
Thanks for listening to this episode of the coders campus podcast. But before you go, Trevor has a favor to ask you. In order to keep these episodes free. He'd love for you to leave a rating and review the podcast on iTunes. Just go to coaters campus.com/review to leave your own rating and review of the show. So if you have 30 seconds to spare right now, please help out by leaving a rating and review via coders campus.com/review It will ensure that you continue to get these awesome free podcast episodes each and every week. So if you like free swag, head on over to coaters campus.com/review Happy Learning
The post EP59 – From Stone Mason to Software Developer in 8 Months appeared first on Coders Campus.
56:33
EP58 – From Electrical Technician to Software Developer in 8 Months
Episode in
Coders Campus Podcast
In this episode we'll talk to Dustin, who is a recent graduate from the Coders Campus Bootcamp and managed to land a job within two months of starting the search.
Dustin and I talk about his prior coding experience that he had before he joined our Bootcamp (spoiler: it wasn't much at all), and we talk about his experience as he went through the curriculum.
Ultimately we know how his story turned out, but in this special interview we'll learn about HOW he was able to accomplish the task of completing the Bootcamp and landing a job while also being a father of a 2 year old, a husband, a full-time employee and part-time college student.
We'll also learn about the important lessons that Dustin learned once he began his job search, and what mistakes he was making early on before he pivoted his approach, which then lead to the job that he was offered.
If you'd like to get in touch with Dustin, feel free to add him via LinkedIn here
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
Episode Transcript
Intro / Outro 0:09
Welcome to the coders campus podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcasts will teach you what you need to know to master the art of programming. And now, your host, Trevor page.
Trevor Page 0:28
Alrighty, ladies and gentlemen, welcome to episode number 58 of the coders campus podcast. Thank you so much as always for joining and listening in. Today, we've got a good one, we've got another really impressive story from one of the students deep inside of the coders campus boot camp, I want to talk about his story. Today, I want to talk about some of the tips that we will be covering that Dustin, who is the gentleman that we will be speaking with Dustin talks about his experience in the boot camp, what he did during the boot camp to make sure that he was successful in completing the boot camp. And then what he did to make sure that he was also successful in landing a job. Very shortly after graduating from the boot camp, I believe he got a job offer within two months of graduation, which is quite good. And he shares some tips in terms of what a common mistake is that a lot of aspiring coders make when they're trying to get their first job. The thing he started doing this as well. And it was a big waste of time. He then learned that there was a better way to do the job. You know, landing interviews and getting a job, there's a much better way to do it. He'll talk about that. And then I add my own little spin on it and talk about another tip that I always see, again, aspiring employee to coders. Do they make this mistake. And it's so frustrating, because it's like, you're right there. You're right at the finish line. And then you just stop. And I want to talk more about that in. We will talk more of that in this episode. So it's full of a great inspirational story about Dustin and his current situation where he was a father husband employed full time attending some college courses as well as doing the boot camp. And yet he still managed to get the boot camp done on time and land a job within two months of graduation. So all in eight months later, he was employed. He makes a joke later about how you know, you can't even have a baby that quick. And yet I changed my entire career in that time. So it's a really great story. So I want to invite you to listen to it. So without further ado, let's flip over to the interview with Dustin from Louisiana. Let's go. So today we are doing by Dustin Vidrine past bootcamp students. And he currently is residing in Louisiana. I'm sure I probably talked about this already. And yeah, I just want to dive into who Dustin is what his story has been what the outcome has been inside of this coding boot camp that you guys obviously know, I have spoken about this many times since Yeah, I just want to talk about about depth and get to know a little bit more about him. So Dustin, talk about yourself. Let's let's let's learn more about where where you came from? Where were your roots? What were you doing? Before you ever stumbled upon the boot camp that you did? What was what were you? Did you have a job? What was your job? What was your life? Like? I don't know, anything that you feel comfortable talking about? Let us know what life looks like before the boot camp?
Dustin Vidrine 3:29
Sure. First of all, thanks for having me. It's a pleasure. I feel like I'm going full circle here. So at the time of finding out of the boot camp about the boot camp, I was working at a plant chemical plant, which is about an hour and a half drive from home waking up super early, you know, 233 o'clock in the morning to get ready to go out there work 12 hours, come back home, do it again. So on the commute, I actually started looking at podcasts or anything to listen to, you know, eventually music gets old, or the same songs get old. So it's like I want to have something conversation wise to listen to. And then I stumbled upon your podcast, which is why it feels weird going full circle. Because now I am portant
Trevor Page 4:15
now so you you So you worked at a chemical plant? Would you describe yourself as someone who again, I don't know many of these answers. So I'm gonna find out the same time as people listening to this episode. Would you define yourself as someone who was very tech savvy, not tech savvy at all a little bit tech savvy, like where did you fall on that sort of spectrum.
Dustin Vidrine 4:34
I felt like I was pretty, you know, seven out of 10 roughly in the form of tech savvy because prior to the chemical plant I was actually working in the electronics industry with within a hospital working on electronic equipment and medical equipment. So I still had the tech vibe but it wasn't any, any programmer of any sorts or coder right? But I still wasn't a tech umbrella. So and also at the chemical plant I wasn't an electrical tech So I was still kind of in electronics in the tech field, but I wanted to go deeper and get my feet wet in it without having to go through a full four year university. Because I just, I was ready to get out and do something different, especially after a long commute and drive every single day working the long hours. It was time for a change. And that's when I heard about the bootcamp on the podcast. And I was like, You know what, this is it, I'm going to do
Trevor Page 5:24
it. So it was you said, a one and a half hour one way commute
Dustin Vidrine 5:28
or one way, when we're three hours a day driving, right,
Trevor Page 5:32
three hours of driving, that's expensive, especially now. I mean, we're recording this in late April 2022. Gas prices ridiculous. So I can't imagine how many, you know, how many miles of driving that would be? Oh, my gosh, so and at the job itself? So you're doing some light? Like, what would a normal day be? Like? What what what, what are your normal activities and work that you did at that job.
Dustin Vidrine 5:53
So at the job, we would, you know, I think around 435 o'clock ish, the supervisor would come in and give us our daily task of Whoo, who's requesting what are whatever work needs to be done within the chemical unit that will be stationed in and we'll go out and start doing that, get the permits for you know, you have to get approval from the actual owner of the facility, which would be Dow Chemical at the time, we're still this now. get approval to start working, get your crew together, get your tools together, and head out there and get to it. And once you find maintenance work or maintenance, run wire pull wires to troubleshoot, install, whatever any kind of think of as a glorified electrician, basically, so anything electrician would do, but in the sense of bigger commercial equipment and whatnot. So no, that was it all day long, and you have your lunch break, and then go right back into it.
Unknown Speaker 6:44
And use it for 30 It
Dustin Vidrine 6:46
starts Oh, yeah. 435 o'clock, the meeting starts we've kind of talked, touch base, whatever thing you know, what needs to be done and whatnot, and then head out, head out to the unit and get to work.
Trevor Page 6:57
And 20 to 12 hour days. Yeah, typically go to the floor. Okay. Yeah, your make your I thought I you know, I get up at five o'clock. You know, doing a good job here and being Yeah, being at the job by 430 in the morning. I mean, you gotta get up at like, 230 or something to do that. Exactly. Wow. Okay, cool. So that I see where the where the drive would be to maybe pun intended. Yeah, that's, that's something so podcast. Hey, obviously, if you're if you guys listen to this right now, obviously, you know what a podcast is at this point. So I a very similar thing for me happened when I was doing my job way back when music got tiring, right, you want to start maybe learning something or doing something different? So obviously a great route to go. So I'm glad that you found us through the podcast. So that was your introduction to sort of the boot camp? And how, how much work had you done? I suppose the question is, how long were you actively learning about coding, either just learning about it and not actually doing it? As well as like learning it and doing it? How long? Did you do that? Before you even joined the bootcamp? Was it years, six months, 18 months more than that, and
Dustin Vidrine 8:06
probably less than that, probably around two to three months actually picked up a couple of books on Python, because you know, everything, everybody raves how it's like a good beginner friendly language to get into, especially if you've never experienced and it picked up a Python book, had a laptop, I bring him in to work on my free time, or lunchtime out kind of code, following along in the book learning concepts and practicing, you know, exercises and whatnot. Maybe like I said, maybe two months at most, and then listening to the podcasts. And it was like, Man, I need I need something more. And I don't want to drop this to go, you know, I need to make money. I don't want to drop this to go to a four year, four year university. And God knows what will come out on the other end of that, but I need something now. And that was just enticing. I was like, You know what, let's do it. And I wanted to take it to the next level, because I was really interested in it following along and the books and whatnot, and even some cheap Udemy classes here and there. Just you know, you don't know what you don't know what to do. You don't know what path to take, right? So it's kind of like I'm a Google stuff and see what comes up and read it and everybody points out, you know, start learning this Free Code Camp, get a free resources first and then see if you really like it, or if you think you can do this. And that's kind of what led me into getting pushed pushing it further along.
Trevor Page 9:18
Yeah. And that's really good advice. Because as I said, before I hit record on this, I said, coding boot camps are not for everyone, especially because you know, they come with a cost, they are more costly by far than just, you know, these cheap Udemy courses or, you know, obviously free tutorials. So it's a really good path to try to dip your toe in the water first, right? Like you said, buy a book, do Free Code Camp do. I don't know there's a bunch of great resources out there that are and see if it's even at all of interest to you. It's going to be hard. It's you're gonna not know what the heck you're doing. You're not going to understand 90% of what you're learning. That's a given. That's normal. The question is, do you wake up in the morning thinking about it? Do you go to bed at night thinking about it and being curious about it and like those are the signings, I look forward for someone who has a chance at being successful. Two things I want to follow up on, I say to I forgot the second one already. The first one is you said you've only did it for like, two or three months. And to me now,
Dustin Vidrine 10:16
when free time, which was much per day, right? No, no,
Trevor Page 10:20
this is, this is not to two or three months full time. This is definitely part time you say that. And now knowing knowing I'm able to look back, I have 2020 hindsight in my favor. You did phenomenally well for having two or three months of prior experience. Normally, for people with two or three, you know, less than six months. Now I've learned you really need more time than you know, the typical six months. So you did quite well. Did you do it in six months? I can't remember if if you
Dustin Vidrine 10:50
actually I was I think a week before or maybe right. I was right out
Trevor Page 10:55
that deadline, a little bit of an overachiever. So we'll talk about slightly very slightly less really, it is quite impressive for you know that. So I want to dive into that in a bit. And let me just think if I can think of the second thing that I wanted to talk about. So you're doing it in your free time you were you were so Oh, you said you brought your your computer to work and you're actually coding at work and doing a little sample. So that's also really important, right? It's one thing to have a book to watch tutorials to, you know, watch a Udemy course, it doesn't account for anything unless you actually start you know, fingers to keyboard, right, you have to do the stuff you have to type it in, you have to fail, get frustrated and whatnot to really start any sort of learning. So while podcasts are lovely for maybe, you know, skimming over broad concepts, or maybe getting motivation and inspiration, they're not a substitute for actually doing doing the work.
Dustin Vidrine 11:47
Absolutely. Absolutely, though, it's like I use analogy a lot. It's like watching someone swim. Trying to learn to swim by watching someone swim. You won't until you get in the water, right? Yeah, you might struggle. But eventually, if you keep doing it, you're gonna get better and better and better. So
Trevor Page 12:02
the good news is, was when you struggle at coding, you're not going to drown. Drown. So you might metaphorically drown. That's yeah, we can always help. Yeah, that's what the bootcamp is for. So, so cool. You, you, you learn about the boot camp, just as this is for my own purposes. You know, everyone else listening, this may not be of help to you? And maybe I'm curious what factors led you to say yes to this boot camp that you took the coders campus boot camp? were you considering others? Or was it just like, yeah, I want to do that one, how much time I
Dustin Vidrine 12:30
looked, I looked around and you know, Googled stuff, read it, you know, read, it's pretty unbiased. And some things you know, you ask a question, people are going to tell you their honest thoughts, a lot of places where it's super expensive, and you know, or even fast, like, oh, in three months, we'll have a job. I was like, Oh, I don't buy that. I don't buy that. And then they charge you know, $30,000 or whatever. Right? So what led to this one, it was just affordability and the time duration. You know, of course, you want to get done quick, but you don't want to get so cool. Done. So quick, always feels like you didn't learn anything. So I felt like the six, even to a one year mark would be perfect, because you need some time to actually understand and digest the material. And also the price of it was was nice for me as well.
Trevor Page 13:11
Now you Yeah, the price is always we always sort of we try to keep it as best as we can most affordable as we can. As I said before, my life would be far easier. If I did not run a coding bootcamp, life is far easier just selling online courses. It is so much easier, so much less overhead, there's no staff needed. There's no like, it is so easy to run a bit I shouldn't say so he's gonna run a business selling information courses. But the that's not where the impact is. That's not where you're actually really changing lives. Because there's such a high failure rate for online courses. And I know, I can say that from experience did it for seven years, right? 95% of the people who took my courses didn't finish. And of the 5%, who did finish, there's a smaller fraction of those who actually succeeded in getting a job. Right. So it's just, it's such a high failure rate, because it's so difficult. So I would much rather just do that. But just, you know, it, the doing the bootcamp and getting to know people like you, Dustin, and I can name like, you know, whatever. 50 other names right now that, you know, I wouldn't have the pleasure of getting to know these people and actually really helping to not to be put too fine a point on it, but changing their lives. I don't know if you would agree with this changing your life. So it means something to me. And I think that's a cause that's very much more worthy than just, you know, doing online courses, in my opinion. So having said that, that boot camps are not a magic pill. I want to talk more about your experience in the boot camp in terms of your like, how hard was it? And do you have any stories about did you ever actually want to quit during the bootcamp? Did you ever actually want to break your computer like yeah, let's talk more about that. Of course.
Dustin Vidrine 14:55
Of course. It is difficult to say the least. Definitely good for sure. Get a few times on certain concepts and they'll fight that rated on a scale of one to 1010 being the hardest. 10 being impossible, right? I'd say it depends. So there's a factor. And if you take out the networking aspect with your community, right with your fellow classmates, I guess you could say, if you take that out is probably eight, eight and a half out of 10. Pretty hard, pretty hard, you throw in help of friends and nice community that we have within the bootcamp, that's a six and a half to seven, it makes it slightly easier, but not so much where it's, you know, you pay your money, you finish it, and okay, where's my job, you still need to work, you still need to work, right? It is difficult, but it is manageable, you can do it, I've done it, working full time, I have a two year old, you know, my husband, and I still had time to finish it within the time timeframe. So you don't need to be disciplined. And you do need to know how to do some research. And I think a big factor for me, the way I learned is I need to practice any a lot of practice. So I would watch you know, some of the course material and talk about it with other classmates and then get some hands on with it, even make my own versions of programs and whatnot using the same concept just to really drive the material in because I can't just learn it and then move on. Because you know, two or three lessons down the road other than forgot about the previous stuff material, right? So it is hard, but it is doable. You just need some discipline and some be intuitive, you know, you've learned something on Google stuff you need or you get stuck or reach out, don't be scared to reach out, it's okay to fail. Basically,
Trevor Page 16:38
you're going to use the way I define failure as a cheesy way of saying you never you only fail if you give up. Failure is something that and this might be more part of the entrepreneurial circles that I run in failure is usually and again, this is cheesy, but it's celebrated because it means you've learned something. But I think that that's true. I think when you fail, that's where usually the most learning happens. It's like, oh, that didn't work. Why didn't that work? Right? And you can ask questions and get help. And bla bla, so yeah, I don't. This this idea. First of all, I'm getting sidetracked. Am I want to go. So first of all, the fact that you said it was a six and a half or a seven out of 10. I thought you were gonna say it was higher with the bootcamp. So that's actually that's That's not that bad. So that's good to hear. Now, I want to dive more into the what what you did specifically about discipline because I know that you have an excellent you're doing something right with your discipline, I'm able to talk about that now. Because I want to I want to that's really interesting to me, because like I said, having two months, three months of experience, a part time experience before joining the boot camp, and then still finishing it early doing well in it. And you know, spoiler alert, getting a job. It's, it's very interesting to me. So let's how, what, what is the what is your magic? Your husband, your father of two year old? I know from personal experience? Not easy. Oh, that's I wanted to ask you work. You were working a job, I assume 40 hours a week? Or was it more than 40 or less than 40?
Dustin Vidrine 18:06
Well, the plant was more than 40 because it was took 10 to 12 hour days. And then after starting the Bootcamp for some time, I moved down to a different job actually closer to home working 40 hours a week. Okay, so sometimes it'll go over, but on average was 40 hours a week, four times per hour regardless.
Trevor Page 18:23
So, husband, father employed
Dustin Vidrine 18:29
bootcamp. And if I can throw in one more, one marker, Baltimore's curveball into that I'm also enrolled online in college, university. So I was doing that and actually knocked out quite a bit because it's self paced WG EU if anyone has ever heard of it, also enrolled in there. So I was doing that at the same time. Actually, I started one month before the bootcamp
Trevor Page 18:51
right. Now you say that, how how did you
Dustin Vidrine 18:56
get an excellent I saw him I don't know. For me personally, just, you know, for myself, I don't know I don't see it as a big deal. I just do what I need to do. Allocate time time management, you know, okay, today, I need to focus on this. I need to catch up on this. I just tackle it
Trevor Page 19:11
yet. Do you? Do you have a calendar where you block out time like you say mentally, mentally? So you say okay, you wake up in the morning and say okay, you plan your day, the day the morning of is it the day before?
Dustin Vidrine 19:24
Like Well, I'm working less I'm working on some code, right? And it's like Okay, tomorrow I really need to catch up on this class assignment or whatever it is. So a planet towards the end of day mentally just to kind of get myself ready for the next day's like alright, when I wake up, grab some coffee, grab some breakfast and get to work. Or if you have a full time job you know, any any slot you can or that night when you get home from work or whatever it is, that time is specifically to that goal for the day. And you know, even if it's sometimes I'll put it two or three days in a row like alright, for the next three days, I'm going to crush them. Online core some material. And the next following day I'm gonna get back on some code like I just I kind of flip flop but I'm always like dedicating time and it's 100% that time, okay to me it's like it's kind of a chaos, but there's a method to my madness and guessing in my own brain. There's no like, follow these steps, it's more of just okay, I need to get this done and this is it and this just, that's it, I'm disciplined into it. And that's the goal for the day and I just put it in if I gotta give it three hours, alright, he's getting three hours. So 100% of my time.
Trevor Page 20:31
Okay, so it is it there is planning involved, I would say again, the analogy is you're taking step by step one step at a time, it's one day at a time, and next day, this is why you're not planning out months ahead. You're not planning weeks ahead, more or less, it's just
Dustin Vidrine 20:44
good to make it more structured. But
Unknown Speaker 20:47
yeah,
Dustin Vidrine 20:48
it's been, it's been going well, so far. So
Trevor Page 20:52
it's clearly working very well. Now, for those of you who are not watching, I don't know, if I'm gonna post this as a video format. You might if you're podcasting, you're only hearing this, so you can't see. And forgive me if this is embarrassing. Dustin is in good shape. So are you is it? Would you attribute some of that discipline in there? Is that also part of who Dustin is like, where does that come from?
Dustin Vidrine 21:14
Yes, so I used to haven't done in a while. I've kind of fallen off the wagon. But I was into the strength sports strongman specifically in powerlifting. And that's kind of a regimen, you know, your weeks planned out for the lifts, you're going to do the weight you're going to do and just there's a method to the madness, I guess you could say, after starting school and boot camp and working to try to get a job within the tech industry and whatnot. I've kind of put that on the back burner. But the same rules apply, I guess, you know, you have a goal. And the goal is to do this, and I allocate time throughout the week to do that. And I in a way it kind of carries over. Right.
Trevor Page 21:50
Yeah. There's clearly something about you that that enabled you to get this done. And that's the reason I'm asking is I'm trying to figure out for myself, because not everyone is going to succeed in the bootcamp, I'm not going to make it all rainbows and sunshine, there's a percentage of people who and I know, within 30 days, maybe even 14, when someone starts to boot camp, whether or not they're going to make it right. I have a pretty good radar for that. And I'm trying to be able to, but I only know that once they start, I'm trying to figure out how do I figure that out before they start? So I can save us both the pain of you know, actually failing, which means you know, quitting. So yeah, one one interesting thing I've noticed, and this is with limited data points. One thing that is that is thought of as I've seen as a superpower. And I again, I don't have no idea if this applies to you probably doesn't, who knows, there are a few of my very successful students have ADHD. And this ADHD for one student in particular I was talking to coding was like one of the first things that they that they found that sort of silence their mind that allowed them to truly focus. And this particular student did very, very well, I have no idea if you have ADHD or not, but I'm trying to find these. What are they? What
Dustin Vidrine 22:58
do I think I do? At one point, I was taking medication, he helped me kind of focus, you know, feel Adderall or whatnot, right? The Miracle student drug, right. So but I haven't in a while, but still it does come in and does help slow the brain down. I feel like my mind is just like 200 miles an hour. Right? And it does help slow you down not promoting the drug for any way. But no, no, of course not. Say that. Yeah, I felt like I did have I do have some form of ADHD. Interesting. Okay.
Trevor Page 23:28
I think I think in this case, it's the coding coding is the drug right? Coding is the thing that can help you.
Dustin Vidrine 23:32
And I think it's more of the coding, because you're tinkering with something because it's, you know, you need to focus on a, it's not like, you know, you're coding and watching Netflix and playing around on a game like, this needs to be done. And if you're interested in it, you got to have you have to be interested in it as well, you'll focus on it, right? It's like, if I gave you a bunch of Legos and instructions for the Legos, you probably sit there and build it. It's kind of the same format, right? You got to focus on it. And you're going to you want to see it built. Same thing with the software. So this is my opinion on it, I guess.
Trevor Page 24:04
Yeah, this was not planned. I just I've been building these data points. And it's a hey, there's something that because I feel I didn't feel like some. So one of my good friends has ADHD. And when I talked to him, sometimes I might think I have a mild case of who knows. But yeah, cuz I've done fairly well in coding. And I love coding because it's, it's something that puts me into flow. Like, immediately if I know like what I need to be working on, I can drop into flow. And if you guys don't know what flow is, if you've ever experienced loss of time, if you start should say, well working, you'll be doing an activity, and then all of a sudden, you know, it's lunchtime, or it's summertime or it's bedtime, and it's two o'clock in the morning. It's like wait, what? How did that happen? Other people will experience this like maybe if you feel like video games, he'll sit down and play video game and then boom, all of a sudden, it's like two o'clock in the morning. You got into flow, right? Your brain was so hyper focused on this activity that everything else vanished coding does that for me. I don't know if it does that for you as well, but it's it's it is like a drug. It's fun.
Dustin Vidrine 24:58
For me. It's the days go by you because it's kind
Trevor Page 25:01
of scary. And I've said this before in the podcast, it's it feels like cheating because I enjoy it. And it makes the days fly by and you get paid for it. Right? Not only can you pay well for it, so it feels a little bit like cheating. So anyway, so talk, let's, let's spend a little bit more time talking sort of more about your experience. In the bootcamp, I alluded to the pain and the suffering part of what was fun about it, what was nice about it, what what did you What did you really enjoy about it, if anything at all, I really
Dustin Vidrine 25:29
enjoyed the way you lay it out the material, just, you go through you actually, cuz you're building things, right. Most of the time, in some of the lessons, you're actually building stuff. Actually, whenever you get towards the inevitable, you start using the framework so that now you get to build things you could see come to life. And you follow, you can call along with it as well. And then what I like to do with that is, you know, after the lesson is over, I see a we built a user form, or we can input data and save it to the database, I would recreate it in my own way, you know, if you're using a user or whatever I'll do like a student management system, kind of the same premise, but switch it up a little bit, and then do it without the training wheels, I guess I would call it you know, watching the videos and coding along was great, but that's training wheels, kind of like watching someone swim in order to learn how to swim. Put that off the side, try to build it, it's gonna break, you're not gonna do it the first time. Correct. So, for me, that was I enjoyed that part because you actually did real projects, or at least parts of real projects. And not just here's a for loop. Okay, next, you know, here's a while you actually did something useful that would carry over either to the next lessons or actually projects later down the road. So I enjoyed that, for sure.
Trevor Page 26:39
And with all your free time, you were able to do that. Good to no extra practice. Yeah. And one of the things for me, I think, who was it that? Was it Ethan that asked the question about he, I had said that one point. And he referenced the fact that I said this that I had done something to improve my skills and level up in my career, I forget who asked that question. And my response was, yeah, one of the biggest level ups that I ever had in my career was building my own project from scratch using a framework at the time that was brand new, that might the company I worked for was using that I had no experience in now is called Spring, I built an entire project, a real world project that I had actually intended on turning into a business, and then selling, selling the software as a service as a business. So I actually like had ambitions for this day went nowhere. Put the learning Yes, sidenote, don't start a business. It's so hard. It's talking about the levels of difficulty learning how to code is like, you know, whatever level you're seven, running your own business is like a nine out of 10 in difficulty. And then I would say like being a parent, because maybe nine and a half and a 10. Anyway, don't start unless you like torture and agony, learn how to code instead. So yeah, that's sort of what I did was, you know, building your own stuff going in removing the training wheels. In other words, very, very good advice. Anytime you're going out into the wild and doing it all on your own, you're going to hit roadblocks, you're gonna quote unquote, fail not actually fail, but you're going to hit errors, and have no clue what to do. But when you have the support of the bootcamp, and you have people to reach out to and ask and say, Hey, I'm getting this error, what's going on? That really helps, right? When you when you can hopefully get quick feedback quick.
Dustin Vidrine 28:19
Absolutely. Shout out to Ethan for that he really helps everyone out, he helped me out towards the end as well, getting stuck on even personal project, you know, something that we never covered before that I wanted to implement. And I was like, How do I do this? And, you know, he's a real good help. He's a huge asset to the community.
Trevor Page 28:37
Yeah, so the Yeah, the community super helpful. I don't know. Yeah, I don't know how I would do it without all the people. So I don't know what I'm doing the build that that was great. Whatever that was that, you know, you know, so I need to keep doing that. But anyway, not to say that you can only get that in a boot camp, of course, you can get this if you set up your own, I'm sure on Reddit, you can probably reach out to people and set up your own little group to you know, keep each other accountable and stuff. So there's definitely cost effective ways of making this happen. So I don't want to say Boot Camps are the only way to do it. But I try to be organized, I try to have the community I try to have all the support and make it as easy as possible, take it from you know, a nine down to a six or a seven out of 10. In terms of difficulty, that's sort of a way to put it so
Dustin Vidrine 29:20
and to kind of go back to the discipline aspect or surround yourself, this is for anybody surround yourself with like minded people. So like the classmates, the bootcamp the Ethan's of the of the coding group, right? These guys really keep you involved. If you're feeling bummed out or you're losing motivation, or you feel like you're stuck being like this is I'm not signing up for this. These guys will talk some sense into you. You really can't, can't do it without you know, support really.
Trevor Page 29:49
You can but it is exceedingly rare, much much more, much more and maybe the ones that do make it maybe they just they're just lying. They did have extra help and they know they learned it all by me. Self completely self taught coder and all I did was read the Java SDK docs.
Dustin Vidrine 30:05
Yeah, good luck. With that 1% in the world, no,
Trevor Page 30:10
there's always that, you know, point 1% or whatever. But yeah, for the vast majority of people, you're gonna struggle, you're gonna need help, you're gonna need support. One way to do it, yes, obviously, it's through boot camp. But that's not the only way. But having said that, I mean, so you know what, you went through the boot camp post. So you finished a boot camp, you graduated, you got your final project done, you hit the job market? Let's talk about the job search and how frustrating or simple and easy and painless it was where on that spectrum, did you fall a little bit of
Dustin Vidrine 30:40
both? So starting out, you know, right out of graduating, I guess it was tough. I couldn't even get a phone call, couldn't even get you know, I'm shotgunning applications trying to get someone to say, hey, or even looking at me, right? This, I think the markets flooded and you have to really stand out. There's a lot of jobs, but there's also a lot of junior devs that want to get they want to get in. And that's huge. That's that's makes it difficult. You need to stand out. So that was the hard part. The easy part to that side of the spectrum is networking. Talk to a couple people, like, for example, I've shot probably nowhere near some people, I know some people who did hundreds of applications. But I think I've gotten around 3040, maybe 50, most less than 100 applications shot out. No, no feedback. Every you know, two days later, three days later, we moved on to another candidate. It's silence, right? It's kind of shooting in the dark. Well, you network networks with one or two people. And they say, you know, there's an interview setup. Or not, I felt like I'm not the first interview out. It was kind of, you know, I don't know what to expect this my first interview after applying to, you know, 40 plus jobs, right, get the first interview. We're gonna, we're back in two to three days. Well, the next morning, second interview set up. Okay, that was quick. That's pretty good. Make me kind of boosted confidence, right, because the first one was like, I think I did good. second interview, I felt like I crushed it. And then the next day, I got a verbal offer over the phone from the recruiter. So it's like, I literally shut applications out of left and right network with one to two people. And now I have a job offer. So the key to not only learn to code, and practicing and actually get skilled, because you need to know the materials. Well, you can't just have built a To Do app, like my interviews, were grilling about concepts and systems and details on the systems and on the projects and why using, you know, how I used it. And then some abstract things about each concept that you would only know about using the right, you won't really get that just reading some or watching some YouTube tutorial. So kind of going back to what I was saying. Networking was the book that is for me, because literally no other applications that are saying were responded to in a good way network one or two times and then boom, maybe I'm lucky. I don't know. But this had failed for me.
Trevor Page 33:07
I think we'll get more into what so what does networking mean, we'll get there in a moment. In terms of data I love data I'm all about data from what I've seen is typically you send out maybe 100 applications to jobs, you might get a phone call and be invited into an interview once more. So in other words, that's called a 1% conversion rate. So 100 at bats equals one interview. And that's pretty good. If that if that's your current. If you are currently in this process, and you are applying for a job and you're listening to this podcast and you're frustrated, and you've sent out 99 applications and haven't heard back Well, yes, statistically speaking, you'll probably hear back from one for one interview for every 100 applications that you send out. Now, that's assuming you've done everything else, right, that's assuming you have a pretty good resume, that's assuming you have a pretty good portfolio, that's assuming you did all that stuff, right, you'll get one out of 100. In other words, not a very efficient way to land a job, but it's possible, not very efficient. So the success that I've seen for people getting jobs has usually either been completely passive. In other words, they just have a LinkedIn profile, set up with good keywords on it and a link to their GitHub profile. And some recruiter happens to stumble upon them and invite them for an interview. Completely. That's how I got my first job is completely passive. Now it wasn't to be a coder, I got invited to a job that was let's call it a getting your shoe in the door type of job. And then from there, I was able to get my programming job at that company. So you know, I've talked about that before, it took me five and a half years to get my first job. So the the point of just spraying and praying is what I call it, right? Use applications and pray that you'll hear back it's possible, not very efficient, and you learn that so what's more efficient is leverage your network. So let's talk about that. What is what does that mean I networked because that's a very broad term. Right? What specifically did you do?
Dustin Vidrine 34:59
So what I did If I found those different companies in my area, because you know, there's some some remote jobs, but some are hybrid. And I think you increase your chances whenever you can commute, you know not having to relocate. If you're willing to relocate, that's great. But I wasn't. So I was looking for thing for companies in my area that could either do remotely or commute to sew up my percentage of actually landing a job or finding a job. So with that, I found a few people on LinkedIn who worked at companies reached out just to make conversation, see if we knew the same people because it's a small town, right. And if they could point me in the right direction, and tell them who I was what I'm trying to do finished, I just finished the bootcamp and I'm trying to get in the market. Either they could help me or maybe they can point me to someone who could, which ended up being pretty much what happened. So this person is 2530 minutes from me, they pointed me to a friend of mine, which I didn't know at the time works at the company I wanted to get in with. So I texted I have their number. I texted him. Hey, man, I know you worked here. No, I started here eight months ago. I told him what I was trying to do what I would have done and here I am, can you help me or point me in the right direction. So we went have coffee that literally 20 minutes within the conversation meet me here. Let's go have a coffee and talk about it. So what he does is point me to his recruiter which got him on, got his emails set up, you know, setup as nice message. Basically, same thing, what I've done, well who I am, what I'm trying to do. And then this person calls me to three days later, just to fill me out. And I guess you could call it culture fit neat. But check me to see if I'm just shooting in the dark or for actually have some skills, right. And then he told me, he'll get back with me. And that was probably a week later. I didn't hear anything, shoot an email, don't hear anything like oh, man, this one fell off. Then literally the next day after that. I got a first interview invite. I was like static, it's like, oh, this is happening. I went from dead silence to now we have something positive happening. So but the moral of the story is networking, reach out to people locally at businesses you want to get in on maybe they can point you in the right direction. Maybe they know somebody personally, maybe they personally can help you at least kind of put you somewhere on someone's desk, like their resume your resume on their desk or whatnot, just to kind of get some eyes on you. Because clearly, the other path of just shooting, spraying and praying and shooting in the dark wasn't working for me.
Unknown Speaker 37:29
But it's not. It's not
Dustin Vidrine 37:31
the chances are much greater when you talk to someone with human
Trevor Page 37:36
wares. And here's the tip, one good takeaway here is you have to know some people would be intimidated to reach out to someone a stranger on LinkedIn. Right? Well, you have to know and get past like, you might think some feelings you might have is oh, I don't want to bother them. I don't want to like they're probably very busy. They don't want to hear from me. So then therefore I won't reach out and and talk to that person. But what you have to know is if the person you're reaching out to is a recruiter, it is their job to recruit. Right? And they will be ecstatic. If you are a great candidate, and you just landed on their you know, on their plate or lap or whatever the expression is, and then they successfully, you know, hire you, they're going to look like a rockstar to their employer. So and sometimes they get paid for that outside, they get bonuses and stuff. So recruiters want to recruit. So don't by any means don't be shy to reach out to recruiters and they're human beings and they're going to want to stay you know, the worst that'll happen is they'll ignore you. The second worst thing that will happen is they'll say, oh, you know, we don't have any jobs available at the moment. But hey, we'll keep you on file or something. And then you follow up. So that's a second most important thing that you said, Dustin, is you followed up. So many people in the bootcamp currently shoot their shot once hear nothing and then give up. Right, right, which I defined as failure. So you need to follow up the expression that is said and nice in the entrepreneurial circles is the fortune is in the follow up. And it's exactly the same thing here. Just because someone didn't reply to the first email that you sent them means absolutely nothing. Do you know how many emails and messages and text messages and I am inundated with on a daily basis? If I like there are I can name 50 occasions in the past week where I have ignored my own wife. So you know, if somebody ignores you, it's okay. It doesn't mean that they're not interested this, the people are only not interested. If they tell you no, or go away or stop bothering or they're not going to say that they're going to say, you know, oh, we don't know. So yeah. Don't be afraid to reach out to people. If anything, they're going to be happy that you did if you're qualified if you're if you're someone who you know, like Dustin now has the skills, is able to answer the questions is able to show up and deliver the skills that they are looking for. Right his skills were matched to the job that he was offered. And they were how Ready to deliver the offer. And in my opinion, he is going to excel in his job because I just know this industry, I know what companies want. Dustin is going to be just fine. So yeah, those are two takeaways. You got to follow up don't and don't be afraid to reach out to these people. I don't know if you want to add anything else to to that.
Dustin Vidrine 40:17
No, that's pretty good. It's pretty straightforward. It's simple. Say it to say that but it's, it's challenging. You know, I'm nervous. I didn't want to bother anybody I didn't want to this person is not even going to read the messages, right? But you just got to something you got to do. You just got to take initiative in it and execute really? Well. What are you gonna be where I am now, you know, or wouldn't be where I am now is just still trying to shoot resumes out there and hope them something bites, right. So that was a game changer is really is to reach out and talk to people, even human being human. Don't just hop on your keyboard and shoot resumes.
Trevor Page 40:51
What's what's that's a good way to put it. What's more painful, right is sending a message or just continuing to be either unemployed or stuck in a job that you absolutely hate. Right, what's more painful, right? I just send the message. So that that for sure is something I see students struggle with, because I've struggled with it myself. So anyway, we try to do our best in the bootcamp to make that as easy as possible. But yeah, okay, so cool. Now I don't I obviously you can say no to this. Do you want to talk about the actual offer that you got? Or would you rather just not say anything about it? So yeah, it's a job offer. It's good.
Dustin Vidrine 41:19
So no, we can cover some things. Actually, right. Before this setup, I was filling out the actual official HR written offer, I guess you want to call it so it's, it's with CGI. And if there's any in your areas of anyone's listening, it is an international company, I think they're based out of Canada from right to remote, think when I say remote, mostly remote, I think four out of five days or remote one day to go in and update your laptop, your equipment, get the latest security, whatnot stuff, right. And usually, that's on a Friday, and everybody's kind of relaxed, according to what they tell me. So Friday is kind of like the chill day, which everybody goes in the office, meet and greet, hang out, do a little bit of work. And at home, rest of the days are remote. But for me, my role is going to be a Java developer, of course, and then I'm going to be sent to some training in middle of May, which will be more Java stuff. And they told me, I'm going to learn their tools, the way they do things, their process, their workflow, and it's about seven to eight weeks long. Of course, I'm paid full time, day one. So it's not like I'll you know, taking a cut and pay until the training is over whatnot. So it's full pay full time until the training is over. And then I'll be placed on a project. And then also I'll have pretty good benefits. Also, there's unlimited education doesn't, there's actually an employee portal where you can go and learn pretty much anything you want. And it's flexible. So they told me if I wanted to move into more front end stuff, if I want to get away from Java, and I want to do more further and faster learning through the portal, talk to my manager, tell them what I'm interested in, and they will push to get you where you want to be, they're not going to hold you back. So what I thought was awesome, the flexibility to do that pays pretty good in my area of Louisiana, which is not a super high income area, you're going to start with around 65,000 a year, or at 65,000 a year. Like I say, if that were remote was awesome for me, I would have took a pay cut it just the remote port, but get both. So it's a win win. Yeah, of course, all the health benefits and whatnot, and vacation time and stuff possible. You get some stock options, and matching 401 K, etc, etc. But
Trevor Page 43:26
all the goodies and that says this is your one, right? So a lot of people a lot I should say a lot. A lot of aspiring coders, if you will, will focus a lot on that first job, that first salary, and then everything is dictated on it for and I've said to somebody, the first salary does not matter at all, my starting salary for my first coding job, I think was 35,000 Canadian dollars, which is like, I don't know, 30,000 or less US dollars. But if you adjust for inflation, maybe it's like $40,000 You know, it's it doesn't matter. Because now I don't know what I don't even know what I make, but it's definitely over 150 Is what I'm in that ballpark right now. And as as we've talked about previously, I've received not offers but you know, definitely interest in in offers for over 200 So it's the first salary doesn't matter what matters most about this first job is the experience that you're going to get that will then catapult you forward in the rest of your career. Right But having said that, 65k is a great starting salary man.
Dustin Vidrine 44:29
Sit behind the desk right here where I'm at,
Trevor Page 44:31
right so great. Oh, you guys are. This is self serving. I wish my boot camp or a boot camp existed back when before I did university because like I said it took me five and a half years to get my first job. So four years after university probably 15 to $20,000 per year of that four years and then six months of unemployment and then one year of bad employment. In other words, working a job I didn't want to work and then finally I got a job as a coder. So you know to do it in What did you like? How long did it take you to get this job offer after?
Dustin Vidrine 45:05
Two months?
Trevor Page 45:06
Two months? Yeah, that's what we see, you know, somewhere around there is about about right in terms of the data. But
Dustin Vidrine 45:12
if you think about it, what blows my mind is I went from working in the chemical plant to a complete career change and
Unknown Speaker 45:19
eight months in about it's insane.
Dustin Vidrine 45:21
It's less, can you have a baby roughly can't have a baby. That's changed my whole career, right landing something I want remote, decent pay for a start, you know, zero years zero in a pretty good start for me.
Trevor Page 45:34
Yeah. And CG is a great company. Like there's, there's some companies out there that are a little bit predatory, that that offer up. I won't name names, but a CGI is a great company. So those kinds of opportunities are great. So now I'm realizing that I'm almost at time and these conversations go so fast. Is there anything usually I'd like to ask? Because anything in closing anything? Any advice? If, if there is a a Dustin 1.0? Right now, who's listening to this podcast, who is currently you know, eight months behind where you were, you know, like, what would you say to him? Or to her? Like, is there anything? Any advice? Any anything that's on your mind that you would you would say?
Dustin Vidrine 46:10
Sure, I'd say stay disciplined. And remember why you started this in the first place?
Unknown Speaker 46:16
Why did you start this in the first place? With a career change?
Dustin Vidrine 46:20
Something I wanted to do, I found interesting, and I found a little pattern in it. And get to build stuff always like tinkering with stuff, which was why I was always in the tech field was always some kind of technology, gadgets, whatnot. And this was a way to do it from the ground up with software side. Yep. So I was
Trevor Page 46:36
I concur. I also love to tinker and build stuff. It's so cool, again, to get paid to do this is it feels like cheating. But I've said that so many times. So I won't say it again. Wicked. So thank you very much, Dustin, for for joining us today, would you do you want to like sometimes also say, Hey, if you want to get in touch with Dustin, would you want people to like reach out to you and like ask you questions and stuff?
Dustin Vidrine 46:54
Or Absolutely, it helps anyone network. If I can help anyone that we're sure. If I was you're in your shoes, and you needed someone to reach out to, I'd be amazed that this person will listen to me. So yeah, we can reach out to me on LinkedIn or Facebook, whatever.
Trevor Page 47:08
Something we all post, maybe a link again, with your permission, I'll post maybe your LinkedIn profile in the show notes for this for this episode. And yeah, they want if you want, they want to reach out and chat with you. That would be great. I mean, I'm much, much obliged that would help me out because then I don't have to talk to them. They can just talk to you. As you're paying Dustin at this point. So wicked. So thank you very much for taking the time to do this. And yeah, I can't wait to hear I can't wait to hear where this goes from here. So I want you to stay in touch with me. And you will you'll stay in our little slack group. I'm not gonna kick you out. No, I usually check in every, you know, maybe six months or 12 months or something and just see how how the progress is going. Because I've loved that part, too. So thank you very much for taking the time to do this. And yeah, you want to talk to Dustin? Check the show notes. And yeah, thanks very much, man.
Dustin Vidrine 47:52
Absolutely. Thank you, man, have a good one.
Trevor Page 47:53
All right. So thanks, again to Dustin for doing that interview. And hopefully you have received a lot of value from some of the stuff that we talked about in our conversation, you know about how the magic and the fortune is in the follow up of these recruiters. Networking plays the key role when it comes to the job search phase. Don't be afraid to reach out to recruiters, don't be afraid to to, you know, connect with them on LinkedIn, don't be afraid of them saying I'm sorry, I don't have any positions for you. You know, you're gonna miss all 100 of the shots you don't take right. That's the old saying from whatever it was Gretzky or something. And don't just spray and pray, right? Don't just send all your resumes out and apply to you know, 1000 different jobs? Sure. That's one way to do it. It just takes a long time to do it that way. So yeah, those are the biggest takeaways and also obviously, time management and dedicating yourself you saw, Dustin was able to dedicate himself with a wife, a child a full time job while doing a college curriculum, and the boot camp and he still managed to finish the boot camp on time and get get a job. So the discipline that's required there is substantial. So it's you have to ask yourself, you know, do you want this? Is this something that you really want to achieve? Now I can speak from first party experience here with Dustin.
Trevor Page 49:14
He struggled, he struggled through the bootcamp. There were times when, you know, we had chats together where he was really confused. And we had I had to walk him through some some extra coding examples and whatnot. And, and he asked a lot of questions. And, you know, this is he struggled, this was not something that came very easy to him, that he just, you know, trot along through, he put in the work. And some people out there think that, Oh, if I just show up, everything will work out and to some extent that's true. You do need to show up, but you need to stay dedicated and you need to, when you get frustrated, reach out and ask for help. Okay, that's the extra bonus tip here that I'll give is is when you hit the wall when you hit the point where you think that there's just no way that you'll ever be able to understand this concept of this thing, or this bug that you're stuck on, or this project that seems like Mount Everest or something. Whenever you feel that way, and you hit that, quote, unquote wall is what I call it, you need to reach out and ask for help. How, how else has anything done in this world? You ask for help, right? It's done in a team of people. It's not just one person that accomplishes everything in this in this world. You know, the, the person that I aspire and look up to is Elon Musk. I'll be it you know, he makes all the headlines these days, all this crazy stuff. But Elon Musk did not do everything all by himself, right? The Elon Musk is was the visionary. And he was the one who laid out the path and who set up the frameworks and the systems to follow and who held people accountable. But ultimately, it's his team that is able to get the job done. Right. And that is what we do in this bootcamp, right I play I try to play the role as best as I can of leader and, and, and paving the way for you and holding you accountable through this boot camp and whatnot that we provide. So I tried to put all those things in place the systems, the, the procedures, and the the community and the accountability in place, so that you are armed with all the tools that you need to go out and do great things. Because that's all I want for you. At the end of the day, I want you to do great things. Cool. So the great things in this case is learning how to, you know, learn, get this new skill of learning how to code and being able to code and be able to create things from scratch and be able to, you know, take something that's just an idea and turn it into a reality in front of you on the screen that can be used by potentially millions of people, right? That's so cool. And it literally can change and affect the lives of millions of people. Okay, I know, the when you go to work for a big corporation, you might think, oh, you know, this, I'm working for this big evil corporation. And who knows, maybe that's true. But the stuff that this big corporation does is effecting affecting millions of people, right. So it's so cool the the potential reach and impact that you can have, I'll be it, hopefully not through an evil company. But the doors that you can unlock are incredible. And obviously the lifestyle and the the pay and the benefits and everything that comes along with being a coder and talk about how spoiled we are. So it's incredible. And it is, and I wholeheartedly congratulate Dustin for the hard work that he put in. But I just want to say, Dustin was not hugely special, right, he was able to do it because he had all these systems and all this help and all this structure in place, and he was able to be disciplined about it. So if that sounds like you, if you want this bad enough, if you want to finally, do something where you are able to push the ball forward and actually make progress towards getting a job, right? Maybe this is your this is your dream, this is something that you go to sleep at night thinking about how can I just, I just want to get a job as a coder, I hate my job, I hate my current one, I hate my boss, I hate my this I hate, I hate the commute, I have to make a hate, whatever it is, hopefully it's not all from a position of hate. Hopefully, it's from a position of, hey, this sounds like it'd be a lot of fun to do because it is. So hopefully, you know, there's a lot more of that than the hate side of thing. But hate the hate can be a big motivator. So hopefully you're someone who is saying I want this. And I'm willing to do what it takes to get there. If Dustin can pull this off with all the things that he had going on in his life. You know, I think that maybe you can too, as long as you have the same underlying desire to unlock this stuff, because it's entirely possible. Okay, guys, he went from pretty much knowing nothing about code to getting a job as a coder in eight months. Okay, that is it. It's not even all that special. Because like I said, if you have the drive, if you have the desire, if you have more than just motivation, everyone has motivation at the start. You can do this, right? You just need this a system in place the support to help the community, the reassurance, the hand holding, and a good teacher to bring it all home and put it all together for you. So that's what we offer in the bootcamp I've talked about already. You don't need to know all the details, coderscampus.com/bootcamp or even just go to coderscampus.com I'm sure there's a button there somewhere it talks about the boot camp. Check it out. We try to make it as affordable as possible, as you heard Dustin, say, like we are far less expensive than most boot camps out there not to say that we're cheap, right? It's not cheap, because this stuff is very expensive to hire the staff. As I said in this in this episode, it's far easier if I could just do online courses than running an entire boot camp because we're doing running entire boot camp. I need an entire set of staff to help and pay their you know, pay their salaries and put food on their table and it's not cheap, right? So, but we try to make it as affordable as possible. And I don't want to be evil myself and I don't try to make these huge profit margins and laugh my way to the bank. I generally just want to help you guys out and just want to see you guys succeed. get jobs because having interviews like this with Dustin, and there's more to come. It's just such a highlight of this entire process. It is my most favorite thing. It combines my two favorite things, right? Creating content, you know, doing podcasting or YouTube videos or whatever, as well as huge success stories and seeing people's lives change. So I just it's it warms my heart and I love this stuff. So hopefully you can be the next success story, check it out coderscampus.com/bootcamp, and I can't wait to see you in the next episode. Take care of yourself. Happy learning. And bye for now.
Intro / Outro 55:32
Thanks for listening to this episode of the coders campus podcast. But before you go, Trevor has a favorite ask you. In order to keep these episodes free, he'd love for you to leave a rating and review the podcast on iTunes. Just go to coaters campus.com/review to leave your own rating and review of the show. So if you have 30 seconds to spare right now, please help out by leaving a rating and review via coderscampus.com/review It will ensure that you continue to get these awesome free podcast episodes each and every week. So if you'd like free swag, head
56:17
EP57 – From Restaurant Manager to Software Developer
Episode in
Coders Campus Podcast
In this episode we'll talk to Yasiin, who is a graduate from the Coders Campus Bootcamp.
We dive into his story about how he started his coding journey as a Restaurant Manager, and went through two Coding Bootcamp before landing his first job.
Yasiin shares a ton of great insights and tips for beginner coders who are hoping to get a job, so be sure to listen to the whole episode.
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via www.coderscampus.com/bootcamp
Episode Transcript
Coming Soon
The post EP57 – From Restaurant Manager to Software Developer appeared first on Coders Campus.
39:34
EP56 – Fun Tricks and Analytics with IntStreams in Java
Episode in
Coders Campus Podcast
GitHub link here: https://github.com/tp02ga/FunWithStreams
In this episode we'll talk about IntStreams and why they're useful in Java.
IntStreams can be used to replace a common looping mechanism as well as provide a very helpful utility for gathering analytics on data in a non-verbose way.
Episode Transcript
0:09
Welcome to the coders campus podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcast will teach you what you need to know, to master the art of programming. And now, your host, Trevor page.
0:28
All right, ladies and gentlemen, fellow coders. Welcome back to this next lesson in our series in the podcast where we are diving into streams in Java. So thanks so much for joining, as always, always a pleasure to be on this side of the microphone, and hoping to deliver lots and lots of useful tidbits to you. So today, we're talking about into streams, tricks and analytics within streams was the title I came up with, because it sounded neat, it rhymes. So deal with it. So anyway, what we're gonna be covering is essentially, what is an in stream? How is it different from a regular stream in Java? When would we use it? What are some, you know, nifty little tricks that we can use it for. And as well as you know, getting into more data analytic stuff, which is something that, you know, Python gets a lot of a lot of notoriety for, using, you know, data science and whatnot. But the, hey, there's some tools in Java for data science as well. And I'll be it this one is very simplistic, but helpful. I've used it before for, you know, analyzing data and giving reports and whatnot. So yeah, without further ado, let's dive into this topic, while I pull up my example. So as always, if you're following along with the examples that I'm posting, you can do so via coderscampus.com/56, that should redirect you to a little blog post where I will include the GitHub repository that I'm using, within within that GitHub repository, there should be a package called com.coderscampus.intStream. And there's a couple of files in there that you can look at that will, you know, represent the code that I'm going to be talking to you about right now. So yeah, you don't have to go there. Now. It's okay, if you're driving or something or doing dishes and or working out, you could just listen. But just remember, this code is available, if you want to go back and look at it for reference on your computer, to coderscampus.com/56. So basically, what is an entire stream, we'll start there. So in streams are a variation of a stream in Java. But more specifically, it is dealing with, as it says, In the name integers. So it allows you to do more specific operations, you know, chaining methods and whatnot, like we're used to doing with streams where you, you know, you do a dot filter, dot this dot that or whatever, with an industry that allows you to do it unlocks a couple of specific, you know, dot, essentially specific methods, specific functions that you can call that you can invoke that do some helpful things. So in in stream is just, hey, we're dealing with integers here. So the only valid object that you can be streaming over the only valid, you know, collection of things that you can be streaming over is an integer or an integer set of integers. Or I suppose I should say, a collection of integers to be more specific. So, yeah, if you're not using integers here, if you're not streaming over integers, then you can, you cannot use an int stream. Okay, that's the first thing to understand this int stream is just for integers. Streams are for any objects. So long as they're not, you know, primitives. Well, I guess I shouldn't say any objects. Streams are good for any collections. But into streams are specifically for integers. Okay. So having said that, the example that I have here is using sales data. So it's something very simple. There is no you know, this is how we do it the old way. And this is how we do it the new way. The old way of doing this is awful. If you had to code this out yourself, it would be tons of lines of code. The finished product here in front of me is is like what 24678, you know, about eight lines of code versus it would be, I don't know 50 or more, I don't know, off top my head. It would just be a lot of work to do this all yourself.
4:43
So yeah, we boil it down to eight lines of code here. But basically what we're doing here is we're looking at sales data. This could be any data, I just created a sales data object class, more specifically, and it's just a plain old Java object inside of it is just two properties. Restoring one is the date, the date of sales, and the other is the amount. So the number of sales made on a given date. Now it's an integer amount, it's not a it's not $1 amount. So it's not like a double or a big, you know, into big, double big. What does it anyway? Big decimal, it's not a big decimal or a double type. It's just integer. So this represents some hypothetical number of individual units sold on a given date. Okay, that's really what we're what we are working with here. But it's simple. It's a simple it has a date and an amount as an integer. The date is a local date type. So we're using Java, what is this Java eight? Yeah, Java eight type, sorry, my phone is making notification messages. If that was if you have an Android phone, and you're looking at your phone right now, that was my phone.
5:52
Okay, so just a date and an amount was get with getters and setters, that is what is inside of the sales data class. Very, very simple, just storing two things. So having said that, I also have a little method that I created to just populate a list of sales data. So I'm just populating an arbitrary number of sales data objects and putting them into a list. In my code here, I just have it generating 100. So all this is doing is randomly generating integers and randomly generating dates, popping them into new sales data, you know, objects, and throwing those into a list. It's just a list of sales data that has data inside of it. Now, getting into using an entire stream, we can start streaming over our data, which we just do the normal way we always stream which is we say sales data dot stream. Okay, so nothing, nothing earth shattering, here, we're just doing a regular old stream. So what this will return to us, when we do the sales data dot stream, is it is going to return a stream a normal stream of sales data objects, okay. But what we can do here is we want to turn this into an int stream, because we want to do some statistical analysis on the data. Okay, specifically on the int data, the integer data, so what we can do is we can do for a regular stream, you can perform a dot map to int, map to int. So we've talked about map before a couple of lessons or episodes ago, map is just where we take, you know, something coming upstream. So like, you know, like an object or whatever. And we are, you know, sort of narrowing down to a subset of properties for that, you know, those collection of objects that we're iterating over, okay, that we're streaming over. So, this allows you to narrow into, essentially a different it maps it to a different data type. Normally, we use it to narrow down to a specific property of the objects that we're streaming over. In other words, for this one, we want to narrow it down to just the amount the sales data amounts, because remember, I said the amount was stored as integer, the date in sales data was stored as a local date. So again, sales data has a date, and amount. But what we want to do is you want to narrow down to just the amount. Okay, so that's sort of what map can do map can narrow down to individual properties, or can can completely transform into something, you know, entirely different. It's up to you and how you want to use map. But that's map, we've already talked about map, I want to talk about map to int. So it does the exact same thing. The only difference is what the dot map, how dot map Dipper differs, not dippers, difference from dot map to int, is that map returns a stream of the objects again, and a while stream of the output of whatever it is that you're transport, mapping it to the map to int returns an int stream. Okay, it's not an int stream of anything, because it's we already know it's of integers, right? So it's not an int stream of something, it just returns a plain old in stream because we already know it's a stream of integers. So anyway, that's what we're dealing with here. So map to int, translates transforms the data coming upstream into an int stream. But then we need more data here. We can't just say map to into the magically it'll work. You need to tell it what property from the objects that we're streaming over. What property is the property that we want to use this industry for? How do we want to stream over these integers? So when you tell it what property we're streaming over here, data the individual property? So as I've alluded to before, the property that we want to stream over is the amount property because for sale data, the amount is an integer. Okay, so we can say dot map to int when we're streaming. And we pass in the, the get amount is the the getter method that exists for sales data. So you pass in get amount. And that is what we can use to stream to create our int stream from. Okay, so we pass in the get amount. So this you want to pass and get amount, you can either use the normal lambda function syntax where, you know, the left hand side is because it's the getter method, it will take nothing, I believe, I have it written out the other way. I'm using the double colon syntax. Let me just see if it works. If I use the double, double round brackets.
10:46
Oh, no, I need to pass it in, right, you need to pass in the I shouldn't say double round brackets, you're passing in the sales data from above. So you can call it S or something. And then you can say s dot get amount, right. So when you say dot map to enter, you're passing in a lambda function, it takes the input of the object that's being iterated over being streamed over, which is the sales data, you can call it whatever you like, called call it S. And then you can say s dot get amount on the other side of the arrow function. Alternatively, you can just say, sales data, the, the class name, so sales day with a capital S, double colon, is used to give you access to the methods, right, so you can say double colon get amount, right. So that way, you don't have to have the lambda function, you just sort of pass the pass the function. And it's another way to do the same thing. They both do the same thing. So in my example, I just use that double colon format. So again, sales data dot stream, dot map to int, and pass in the sales data's get amount function. Cool. So now what do we have downstream? What could what sort of dot operations can we do now that we've turned it into an entire stream? There's tons of there's, there's a tons of stuff, there's tons of stuff. One of which is called summary statistics. But I'll get there in a moment, you can do on an in stream, because we know we are streaming over integers, you can do a dot sum, because we simply know we're in there's integers here, we know we can sum up the integers, you can do dot sorted callback to the last episode, it will just know how to sort and insert an int stream because it's just integers. We can what else we can do a max or a min on it, which returns optional int, because Optionally, you know, what if there's not a maximum in there, what if it's empty, or I don't know, maybe there's two that are the same thing. Anyway, you can do max and the min, you can limit the number of, of entries you want to stream over if for some reason that is of use to you, maybe you can sort it and then limit to like, I don't know, the first 10s. Anyway, you can, you can do a bunch of stuff, you can count, you can get an average, you can also convert it to a double stream or a long stream. Okay, because there's not just an industry, there's also double stream and long stream. And pretty much all the stuff we're talking about with an inter stream applies to double stream and long stream as well. Okay. So having said that, there's tons of stuff you can do with an in stream that is specific to iterating over integers. And that's where my mind when I first learned about in streams, it just, it was too much. When I was learning about streams, I was like, well, to stream, there's in stream and double stream as long stream like, what are all these types. And these are all confusing. So don't be too overwhelmed or confused by these types that we're using here is just a stream of integers. And all the only reason why we have a different type there is so that we can unlock these additional functions that I just spoke about that apply specifically to integers that we know we can apply to integers. Okay, because if you're streaming over users, you can't do like stream over users and then say dot average, give me the average user. What the heck does that mean, right? There is no such thing as an average user. Like, you need to define that. And it doesn't make sense. Or give me the maximum user. It's like, what, what does that mean? Give me the maximum and minimum users? I don't know. That doesn't make sense. Conceptually speaking, you need to give me more context. I'm missing context. But if you say give me the maximum integer, and the minimum integer, right, or the average integer, that makes sense, you know how to how to find the maximum integer in a given list of integers, or the minimum integer in a given list of integers or the average value of all the list of integers, right? Those conceptually make sense. So that's what an int stream unlocks. Because we are iterating over a stream of integers. We can do all these extra things. Now, I want to dive into what I spoke about the very beginning there of the all the different functions that we can use on in stream and that was something called dot summer. Statistics. So what does dot summary statistics do? It returns another type called int, summary, statistics. What the heck is an int summary statistics type? Well, all this type is is just a class that allows you to get access to the Common Data Analytics. Remember, I promised I was gonna talk about analytics today, tricks and analytics, these this event summary statistics type, or class gives you access to the average account, the max, the min and the sum all in one place.
15:39
Okay, it gives you access to the average account, the max, the min and the sum. So it gives you access to five sort of aggregation type data, things, great for analytics, right? Great for reports and whatnot. So in three lines of code here, although it took me a long time to explain the three lines of code, in three lines of code, we can now get access to this event summary statistics object and get the count of the data, the max of the data, the min of the data, the average of data and the sum of the data. In other words, give me a count of all the sales that happened, give me the maximum sales, give me the minimum sales number, give me the average sales number, and give me the sum of all the sales figures together. Okay, so you can get all five of those things and print it out to a report. Cool. So that's sort of what inter stream allows you to do from a statistics or a analytics data standpoint, right? It allows you to do all that stuff, which is nice. It's very convenient. And like I said, to do all that statistics yourself to do all those number crunching things and processes and looping and if statements and, you know, switching out the maxes and the mins and trying to calculate a sum and get an average and account like doing all that it just is a lot of work. But we can boil it down to three lines of code now, stream it, map it to an int, get the summary statistics done. Cool. So that is the analytics or statistics point up or part of this conversation. The other part I said is you can do a trick, there's a trick that you can do with an industry that might, you know, impress your mom, or your friends. And that is you can use an input stream to generate, essentially a range of numbers that you can then iterate over. In other words, this is another way to do a for loop. Because you needed another way to do a for loop. You know, you can do a for loop with the old, you know, boilerplate way, which is, you know, for Indi equals zero, i is less than whatever i plus plus, there's that syntax for a for loop. There's also a for each loop, where you can do, you know, for, and then you have the data type, and then the individual object and the colon, and then you do the collection of objects. There's that concept of the for each loop. But then there was this idea of streams, regular streams, where you can do a dot stream, and then you can do a dot for each as well. Right, so you can do a dot for each but and that's fine. That's that's another way to do a for loop over a collection of objects as a stream. Cool, nothing wrong with that. Very helpful. But what if you want to do a different range, but you still want to do that same syntax, you want to have a range from instead of maybe doing all of them, you want to do from zero to 10, specifically, or zero to some number minus 10, I don't know whatever the whatever your little heart desires, you can use int stream to do that. So you can generate a range using int stream dot range, okay, into stream dot range allows you to have or gives you two inputs, so you have dot range, and it takes two inputs, the inclusive integer and the exclusive integer. Okay. In other words, this is from like zero to 10. You know, if you want to go from zero to 10. In other words, you want to iterate 10 times you go from zero to 10, exclusive, or zero is inclusive, 10 is exclusive, so you really only go from zero all the way to nine, and that you stop. That's what the int stream dot range will do for you. So you can do zero to whatever, there's also another one. Instead of range, it's called range closed. What that does is it allows you to do the instead of the end being exclusive, the end is inclusive, right? So instead of you want instead of wanting or having to do zero to nine, now you can have a choice to do one to 10, right, it's again, you could always do this with any other for loop structure. But it's just it gives you you know, you can do it with an in stream. So you'll see this in my code. I do Just to show off that I, you know that I know how to do this, you can do in stream dot range, you can see that the code when I'm generating my sales data with all the random numbers and stuff, I use an input stream to do that range. And then I do all the stuff to,
20:14
you know, go through, and you know, from zero to whatever, completely unnecessary. It's entirely unnecessary. But it's, it's just another way to do a for loop. In this case, we, I don't have a collection of objects to iterate over. All I'm given is as the input is just hey, the number of sales, you know, number of the total number of sales objects that I want our sales data objects that I want to create. That's the input to this generate sales data method that I'm talking about on my screen right now that you guys can't see. But the function that I use to generate sales data, the only input that it has is an is an integer, which is the number of sales. So you can't do like a stream, per se, on that you can't do a normal stream on that. Because it's not a collection, you can stream on a collection. But in this case, we don't have a collection. So we would have to write out a regular old for loop a for it, i equals zero, where i is less than number of sales, i plus plus. So because I would have been forced to write that instead, I'm using in stream dot range, zero comma number of sales. So that just allows me to save myself from typing out the boilerplate for for loop right. Now, having said that, do you always want to do that? I don't know, I don't think there's a huge reason to do this. Other than, like I said, it's, you know, it's potentially more readable. It's, it's using or utilizing the functional programming paradigm. So you do int stream dot range, and that dot range will return an int stream, which I then use dot boxed on. Because what dot box does is it returns a stream consisting of the elements of the int stream, each boxed into an integer. Okay, so what that means is, is we're just converting back to a normal stream, instead of an in stream, we're converting back to a normal stream. And each of the elements now that we're iterating over, are available as integers. That's all. So we're taking primitive INTZ, and boxing them into integer objects, and iterating over them as a collection. So if you have a range of zero to 100, or something, you will get a stream of numbers from zero all the way to 99. And then you can do whatever you want with those, right? So what I did was I just did a dot map, and I mapped the integer to something completely different. In other words, I completely ignore the integer, the I in this case, I completely ignored it and just mapped it to generate a new sales data object and they collected all those new sales data objects, 100 of them into a list and return that list. Okay, so that's how I generated my sales data. It wasn't, you know, again, I could have done all this in a for loop. But when you use an event stream, you get to use, you know, dot map and dot collect. And now this dot box thing, which just translates from an in stream back to a regular old stream. Cool. So, yeah, that is the gist of an event stream. And again, you can more or less copy, paste, everything I've talked about here, into a double stream or a long stream. Now, there's probably some operations that are specific to doubles, or specific long's that are, you know, useful and whatnot. So those will be available there. But that's a simple Google search. You don't need me to go over every single one of those individually. I'm sure you are fully capable of looking up what those types of streams are and what makes them different from an income stream. Okay. So having said that, I will spend very few moments here talking about the bootcamp to close things off again, this if you're listening to this point, all this is able to be sponsored by the coders campus boot camp, available at coderscampus.com/bootcamp. This again, this is how now I'm able to move forward with creating all this content getting back to what I love. I love creating content. I love doing these podcasts. I love doing YouTube videos. Shout out to the YouTube channel. If you don't know I have a YouTube channel. Oh, please go and check it out. It's just you probably, as I say Google, go to YouTube and search for coders campus on YouTube and you should find me there. I've got a bunch of content coming out on YouTube right now. That is wonderful. If you have time to sit in front your computer and watch videos. So anyway, shout out to the YouTube channel. Go there subscribe. I don't have enough subscribers I have like 11,000 or something at this point. I want to get to that coveted 100,000 mile marker milestone. So if you could please do me a favor and subscribe and then reach out to about you know what is that 80 88,500 of your friends and get that subscribe. I've as well, I will be in debt, I will be completely indebted to you. I will you know what I will give you a free ride through the boot camp, if you can bring in 88,000 subscribers to my YouTube channel, I will give you a free ride through the whole boot camp, I will personally
25:16
bow down and anyway, yeah. So check out the YouTube channel and check out the bootcamp as well. So if your goal is to get a job as coder, I won't say anything else. But that it's a very, very compelling product, the students in there absolutely love it. I absolutely love doing it and seeing the students and the success that they get and the jobs they get and how their lives change, and so on. So that I think in the next episode of this podcast, we'll have an interview with one of our students, where he you know, completely raw, unedited, unplanned, I just sort of pick his brain, about his experience in the boot camp and give and he gives his honest feedback and thoughts about his experience of the boot camp and the outcome. So I think I'll be releasing that as the next episode, if not the next one, it should be soon. Check out that interview with one of my students. And I'm gonna be doing a bunch more of those interviews because I'm terrible at marketing. And I need to get better at marketing and getting students to, you know, I have prospective students, I have people like you listening right now, who reach out to me and ask me questions. And they say, Trevor, you know, there's not, there's not a whole lot on your boot camp. Right now, there's not a whole lot of stuff I can learn. There's not a lot of, you know, marketing stuff. And I don't see a lot of testimonials like what is it? Like? Is it bad what's going on? And is there I can, there's tons of people, I can pick that everyone would sing praises, I should say the ones who graduate we have about an 80% graduation rate. The 20% who don't graduate usually drop out in the first like 14 or 30 days because they realize that they bid off way more than they could chew with their schedule. And that's never a good outcome. But anyway, it's not because of the product is because the time commitment, that's why I try to do my best to seek out people who have the ability to commit the time and the effort to doing this bootcamp. Anyway. There's tons of people out there that will sing the praises of the boot camp and will say all the right things that you want to hear that you you know, because all you want, normally what everything that you want is to just get a job to be to get a job and to feel confident in that job. And that's exactly what the output is for this boot camp. Okay, it's not an easy process. It's, it's, it's grueling. I won't lie to you. And but there's tons and tons and tons of support built into it. So anyway, people say, you know, it's just a scam, like, you don't have anything on and that's because I am terrible at marketing. I'm a programmer, guys. I love teaching coding. And I love actually coding, I hate, you know, sitting down and writing out testimonials from students and like trance transcribing them. And anyway, so that's why I'm just saying, Hey, I'm gonna do an interview with these people that I can do that sort of comfort, that's a comfort, comfortable thing for me to sit down and interview past students. So that's what I will do. I will sit down interview past students, and you'll have long form interviews, to listen to, for testimonials. So you can get their raw, unedited, honest opinions about their experience. So having said that, please do check out the boot camp, if your goal is to get a job as a coder, and you've been trying to do it for like, you know, if you've been trying to do this for years, please, please stop trying, like, just join the boot camp, it is so much faster. And it's such a better experience, and so much less frustrating than trying to do it completely on your own. And you'll end up making more money in the long run. Okay, the boot camps are cheaper than trying to do it self taught. If it takes you more than 12 months to learn on your own. It would have been cheaper to just do a boot camp, okay with the increase in salary that you're getting that you will get. Anyway, okay, I will stop. I promised I wouldn't talk a long time and I'm already starting talk a long time. Thank you so much for listening. Hopefully, I will see you in the next episode where we are going to be diving into hopefully, like I said, an interview with one of my past students. And hopefully you really enjoyed that and I look forward to seeing you there. So take care of yourself. As always, happy learning. And bye for now.
29:02
Thanks for listening to this episode of the coders campus podcast. But before you go, Trevor has a favorite ask you. In order to keep these episodes free, he'd love for you to leave a rating and review the podcast on iTunes. Just go to coderscampus.com/review to leave your own rating and review of the show. So if you have 30 seconds to spare right now, please help out by leaving a rating and review via coderscampus.com/review It will ensure that you continue to get these awesome free podcast episodes each and every week. So if you like free swag, head on over to coderscampus.com/review Happy Learning
The post EP56 – Fun Tricks and Analytics with IntStreams in Java appeared first on Coders Campus.
29:48
EP55 – How to Sort with Streams in Java
Episode in
Coders Campus Podcast
GitHub link here: https://github.com/tp02ga/FunWithStreams
In this episode we'll talk about how to sort a stream of objects using the “.sorted()” function.
We'll also talk about the differences between using a stream to sort vs using something like Collections.sort(), which has been available since Java v1.2
Episode Transcript
Coming Soon
The post EP55 – How to Sort with Streams in Java appeared first on Coders Campus.
37:52
EP54 – What is the Map Operation in Java Streams?
Episode in
Coders Campus Podcast
GitHub link here: https://github.com/tp02ga/FunWithStreams
In this episode we'll talk about:
How the .map() operation in Streams is completely different than a HashMap
The details of how .map() will transform your data from one type upstream, to a different type downstream
A real world example of how to use the .map() operation in your code
Episode Transcript
Coming soon…
The post EP54 – What is the Map Operation in Java Streams? appeared first on Coders Campus.
41:48
EP53 – Intro to Streams in Java
Episode in
Coders Campus Podcast
GitHub link here: https://github.com/tp02ga/FunWithStreams
In this episode we'll talk about:
What are streams and why you should care about them
Comparing a simple Stream example to a Looping example
Intermediate vs Terminal operations
Episode Transcript
0:09
Welcome to the coders campus podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcast will teach you what you need to know to master the art of programming. And now, your host, Trevor page.
0:28
Oh right, ladies and gentlemen, fellow coders. Welcome back to this next episode of the coders campus podcast, we have hit episode 53. And in this one, as promised, we are going to dive into the topic of streams, which is, I have to say, it's one of my favorite topics. Because of the features that we get to leverage here that again, come from Java eight, we get to, you know, leverage lambdas. And the behaviors that we get out of this code, the things that we can do with streams, the way the code is written, it's just, it's just so much more elegant, it's just so much more beautiful, more readable. Although it takes there's a bit of a learning curve that goes along with it. Once you understand streaming, it's just so wonderful to use. And it, it's a game changer, in my opinion in terms of readability, right and simplicity, right. So but again, all of that is, you know, important to understand that before you can do all that you need to learn this stuff first. So there is a learning curve involved here.
1:38
But my God, guys, it's so much it's so worth it, it's so worth the pain in the struggle to fully understand how to use streams. Because, you know, in my opinion, I never want to go back. So now, obviously, what do I mean by that? What do I mean by going back? And what is a stream? And how, how, why should we care about them? And you know, how do we compare a stream example to something else? And you know, what are the some of the commonly used methods and whatnot that we have with respect to streams, that's sort of what we're gonna be diving into, in today's 53rd episode of this coders campus podcast. So, as always, this podcast is brought to you by V coders campus boot camp. So I'm sure at this point, you've probably heard of it. If not, hey, there's always a first time for everyone. So the coders campus boot camp provides you with all the education that you need to get a job as a coder. And it's not just the education, it's all the copious amounts, the insane amounts of support that goes along with education because education by itself, in my opinion, I know this is a little controversial, is useless. So if you are someone who is fairly new to coding, education alone is in my opinion, useless. Because going from zero, like on a scale of zero to 100, if you're going from zero to like one as a coder, where 100 is job ready, so to speak, and zero is completely not job ready, going from zero to one is so, so hard, right? That's what this this whole podcast is driving towards is just the education alone, it takes so much time and effort to go from like zero to one, as a coder, there's so much so much fundamental stuff that you need to understand and that needs to click, and you probably need to hear it in 10 different ways. And it's just so difficult, right? Unless you are naturally gifted, in which case, it's a lot less difficult. But for the average person, it's very difficult. So that's where this bootcamp helps, right? We take you from we try our best to go from zero to one, I prefer to have someone who already is at one out of 100 with respect to their coding abilities, meaning you already have been exposed to variables and you've already written small console applications. And and maybe you're you've written some methods to take in inputs and give outputs and you understand the basics of methods and variables and whatnot and some data types. Once you're there, once you have all that knowledge, that's where we can take you from one to like 100 Right. In other words, we can get you the job ready in a short period of time in the boot camp by short period of time, I mean six months, okay, that is a short period of time when you know compared with anything else. So that's what the bootcamp is all about. We give you not only the education, but all the support that you need to get from essentially hypothetically speaking, zero to 100 Ideally from one to 100. So, we take you from where you are to being job a job ready coder. So that's what the bootcamp is all about. And that is what allows me to help produce this content. So if you are interested in that if your goal is to get a job as a coder, please check out coderscampus.com/bootcamp. Okay. coderscampus.com/bootcamp that will allow you to learn more about the boot camp, the program itself, what is expected of you in terms of time commitments and whatnot. It is a part time commitment, but it's still a commitment. So if you don't have at least 20 hours a week in your schedule, then don't even think about it. It this is, you know, we have to do a lot of work in six months. So you can check that out coderscampus.com/bootcamp, it is of interest to you feel free to apply. And you can ask all the questions you like, once you've applied, you are able to book a phone call with us. And we can hop on, you know, a phone call or zoom or something. And you can ask all the questions to see, you know, make sure it's a good fit for you and vice versa, make sure that you're a good fit for the bootcamp. So at a 90 96% job placement rate for graduates within six months, this is a very successful program. So for those of my students who graduate yet 96% of them are placed within six months, most are placed within like a month or two, I would say 80% are placed within like a month or two. And that is just because of the the curriculum that we provide, as well as the level of support that you get inside of the boot camp. It is, in my opinion, top class top rated. So we pride ourselves on that education and that support. And we pride ourselves on that 96% outcome number. So like I said, if your goal is to get a job as a coder, check it out coderscampus.com/bootcamp. Okay. Sweet. So let's get into streams, because like I said, my favorite topic, or at least one of my favorite topics. So first, we will dive into what streams are and why you should care about them. So streams were introduced in Java eight, just like lambdas were introduced in Java eight, which we've been talking about in the past few episodes here on the podcast, and
6:55
what are they? Well, they are essentially another way to iterate through collections. Okay, so what that means in plain English is usually you loop through some sort of a data structure that you may have in your typical, you know, workflow when you when you are writing programs when you're writing code. So in Java, a collection is something like a list or a set or a map, or you know, who knows any combination of those or variation of those.
7:28
A collection is just a bunch of objects crammed into one data structure. And typically, you iterate through them. So typically, it's a for loop, where you you loop through each and every one of the items in a list are the items in a set or the items in a map, you iterate through them so that you can perform some sort of action, right? So for example, let's say, you know, you have a typical example I would go to is user login, right. So if you have a list of users, so you got a bunch of users, and you want to, you know, validate that the user credentials that you've been given, in other words, credentials being username and password, you want to iterate through all the users to see if this, this username password matches with what you have in your database, right in your collection, your list of users or something, or maybe a map, you know, where the key value, I don't know, whatever. This is very common, right? Or maybe you're iterating through a list of bank transactions, you want to go through all your recent bank transactions, so that you can, you know, add up the totals or something, you know, this is very common, right, you do it in a for loop it for each loop type thing. So start with the first transaction, start with the first user, go through each and every one and do something as you are iterating. And going through each one of those objects, each one of those elements in the collection. So in the list or the set or the map, or the whatever collection is just another word for a data structure that holds many other objects inside of it. Right? Go back to your episode on data structures, if you don't know what data structure is, if you don't know what a data structure is, yeah, you're definitely maybe too advanced. This episode may be too advanced. But yeah, so that's what we used to do. That was sort of the old way, we would just iterate using a for loop or something. Could be a while loop as well, any loop you would iterate through, right? Well, what streams allows us to do is more or less the same thing. We can instead of you know, doing using a for loop, we can now use a stream to iterate through our collections. Okay, now, a stream is a lot more advanced than a standard for loop. There's a lot of optim optimizations inside of it. There's a lot of, you know, stuff, low level stuff that I don't want to cover in this podcast because in my opinion, you don't really need to know that stuff to be a great coder. Those are all like interview type questions. And again, I talked once before interview questions are so disconnected with the day to day reality of the coding that you need to do. It's so silly To me, and it's so annoying to me, because anyway, that's a whole nother soapbox I can get on. There's a huge disconnect between what is expected of you in an interview and what is expected of you in the real world. And that's really unfortunate. So anyway, the low level inner workings and you know, bits and pieces of how streams work. Those are interview questions, you're not going to need to know that stuff on a day to day basis. So I want to talk about the real world stuff. That's what I focus on in this podcast. So yeah, a stream the way I summarize a stream in plain English, I say it's a fancy for loop. That's essentially what I what I say. It's a fancy way to loop through a collection. Okay, that is the gist of what a stream is. Obviously, there's a lot more to it. But that's the gist. So considering the fact that a stream is just a fancy for loop or a fancy loop in general, why don't we dive into what makes it different, what makes a stream different from an actual loop? Right. So let's go let's go into an example. Now I have a I've created a repository, a GitHub repo that I will link in the show notes. Let me just make a note to do that here. I'll put it near the top of the episode. So GitHub link here, there, I made a note to put that in there. So if you go to coderscampus.com/53, you will be able to go to the show notes quickly, coders coderscampus.com/53. And you'll be able to see the GitHub link to the repos and you'll be able to see the shownotes should take to the repo singular. So you'll be able to see the code that I'm about to explain verbally to you right now. So if you're not driving, and you're able to you can pull up coderscampus.com/53, click on the GitHub link, and you'll be able to see the code that I'm talking about. So let's compare a simple example of an old way to do things meaning using a loop, and the new way to do things meaning using streams. So for our first example, we're just doing a simple filtering. Okay, we just want to filter a bigger list into a subset of that list meaning whittle down the elements in a list to be fewer elements based on some criteria. In this case, to give a concrete concrete example, I want to talk about a list of names. So we have a bunch of names in a list. A name starting with a going all the way to j. So we have Andrew Betty, Charlie, Darla Eddie Franca, George Hannah, Ivan Juliet. So what does that 10 names ABCDE, F, G, H, I, J. Yeah, 10 names. Look at that. I magically landed on 10. Nice, round number. So yeah, we have all those names in a list. Again, it doesn't matter what the names are, it doesn't matter that they're ABCDEFG. That's just I need to generate some names. And I just did it that way. So the content here doesn't really matter. Other than it's a, it's a bunch of strings. Okay. In this case, it's names because that's more meaningful. So you want to filter this list of names. Okay, this is something that you might want to do in the real world. Here's a bunch of data. And we want to filter that data based on some criteria. In this case, we have a list of names, and I want to filter it based on names that contain a R, T, okay, I don't know why I'd want to do that. That's just a random example that I came up with and chose to put in here. But I want to filter my list by names that contain the string AR, together. Okay, so, given Andrew Betty, Charlie, Darla Eddie Franca, George, Hannah, Ivan, Juliette, can you imagine which of those names contain the combination of letters AR together? Probably not off the top of your head, you might be able to pick one up. But anyway, that's why filtering using you know, code is helpful. So we want to filter the names by names that contain AR. So how do you do that the old way? How do you filter names by a given, you know, given parameter or given criteria? Well, the way you would do it is you would start with the filtered list, you would instantiate it as an array list. In other words, you'd have an empty list, I called it filtered list. And this empty, empty list, specifically ArrayList is waiting to be populated with the matching subset of data here that we're working with that we want to filter down towards, right. So we have we start with an empty list, we pass in our full list the names we pass in the parameter that we want to use. In this case, we want to filter by AR. And then we have our initialized filtered list or initialized empty list. And we want to start iterating through the full list of names. Right, so the full list of names, other words, all 10 names, you want to start iterating through them each one at a time. How do you do that? Well, we use a for loop before each loop to be specific. So we use a string name in names. So as you go through each of the names, you assign it to the variable name. And then we have a variable name in our for loop that we can then use, right, so name is just a string. So then inside of our for loop, we use that name variable. And we say name dot contains are, you know, filter parameters are criteria, because named contains is sort of the the filter. In this case, again, it doesn't necessarily matter what the filter is, and what the parameters are to that are the criteria are.
15:33
What just matters is how do we accomplish this task, right, so we start with an empty list, we have to do a for loop to iterate through all of our collection. In other words, we're iterating through all of our names. And then we say, hey, if this particular name contains our parameters, in other words, contains, you know, ar, is the filter that we're using, in this case, then cool, we have a match this name contains AR, so added to our filtered list. So our filtered list was the array list that was empty at the beginning, we want to populate this new empty list with every matching name that matches the AR, you know, filter. So we add that to the filtered list. And then at the end, once we get through all of our names in the for loop, at the end, we should have a filter to list a subset of the full list that contains our matching names, right? And then we want to return that. So that's it. I mean, that's how you do that with a for loop. Okay, start with an empty list. For each name, find out when the name contains the filter parameter, add it to the filter list. And then at the end, you return that filtered list, which will be a subset of the full list. Okay, so it makes sense. That's, that's fairly straightforward. It's 1234, you know, 567 ish lines of code. Not too bad, not too crazy. So how do we do this in the quote unquote, new way? How do we do this with the streams? Right? Let's talk about it. So in my code, I have a class called old way and new way. So these are two classes, again, not the greatest names for classes. But the old way is what I was just talking about, it was doing this filtering, there was a method in there, I omitted the fact that there was a method doing all this, but it was a method called the filter results. That took two inputs, all the names and the filter parameter. So this same code exists in the new way, class file. So the new the old way, the new way, have the same method that we're invoking here to return the filtered list of names. So we have that same method here, but in a new way, we do not do a for loop. Okay, we're using a stream. So how do you stream things? Well, the stream is based off of the collection. So all pretty much all of the Java, the existing Java collections, have a way to stream, okay, with a list. In this case, we're using a list. The list interface has a dot stream method now. So you're able to do names dot stream. So that starts the process of streaming. And again, what is a stream a stream is just another way to loop. Okay, as we did before, we created a for loop, right? In this case, we don't have to do the for loop, because that's kind of like what the stream is doing. It's allowing us to iterate so to speak. Okay, cool. So we do names dot stream. But then, well, what do we do? Now? Remember, we want to filter these results. How do you do like an if statement to see if a name matches another, you know, matches or contains this filter parameter or whatever, right? So the way streams works, is when you do dot stream, it returns that method returns a stream type.
18:58
And that type has a generic type that it accepts type T or whatever, right? So we have a stream of type t, but what is type T here? We have a stream of something. So what are we streaming? Well, remember, we have a list a collection of what we're dealing with names right now, it's a collection of what it's a collection of string data types, right? That is what our, our collection is, it's a it's a list of string. So when we're doing names dot stream, we're streaming what we are streaming string type. So that that of the keyword there that I use list of string, the of is what's important here. That's what I use in my brain. If the collection it's a collection of something, so that's what the stream is, is iterating over right? It's a stream of string. Unfortunately, those two words are very similar sounding does translate well with audio. So list of string, what's the same thing, same thing. List of string it now it is a stream of string objects. Okay, so we're streaming strings. So when we say names dot stream, which is the new method, dot stream is the fancy method that starts this whole streaming, it returns a stream of strings. Okay, now what can we do with that data type stream of whatever stream of type t, there's a whole bunch of stuff that we can do. So if you do if you do a.on, that stream, there's a whole bunch of other methods that you can do on a stream of whatever type. Okay, well, what can we do? Well, guess what, when you do that on your screen on your screen, and you hit the dot, after the stream method, because getting stream returns a stream of whatever T type, right? When you do a.it shows you all the other methods that you can do on a stream of something. And there are quite a few. There's, there's a bunch of beautiful things that we can do. The one that we want to focus on is we want to focus on the filter. And guess what? Filter takes a predicate? Hey, do you remember what the predicate is? We talked about that in the past episode, I think the last episode, so on 52, we talked about what a predicate is, a predicate takes a generic type t, and returns what it returns a Boolean. Okay, so, predicate takes type t, returns a Boolean, what type T are we talking about here? Well guess what the type is String, because we're streaming strings. So this type here, the the generic type that we're working with, sort of gets filtered through with each one of these steps that we want to do each one of these methods that we are changing, because what we're doing here is we're chaining, we're chaining methods, dot stream, dot filter, is what we're going to be doing dot stream dot filter, so we can chain methods on top of each other. If you want to, you can assign dot stream to a new variable, and then take that new variable name and then on that new variable name, do dot filter. But that's just an extra bunch of noise that you're adding in there. That's, that's okay, if you want to debug in terms of like outputting stuff to the console, or to the system out print line, or whatever. If you want to do it step by step and really have a strong understanding of each one of these steps and have it be very verbose, which defeats the purpose of using streams. But if you want it to be very verbose, so that you can understand it, by all means, go for it. But really the way streams are meant to be used and consumed is using this method chaining concept. So dot stream dot filter, and dot filter is a method that takes a predicate. So the predicate takes type t, remember, it takes type T and returns Boolean, the type in this case is going to be a string. So the filter takes a string as an input in this case, and returns a Boolean. So what is filter do? filter will return true it sorry, I should say IF filter returns true on a stream, that it keeps that particular
23:25
item that you're streaming through, it keeps that particular item in the stream, so to speak, downstream, if you will, it keeps that particular item. And you can do more with it. If If the filter returns false, it throws away that item, it does not care about it. It does not pass it down to the next step. Right. So filtering allows us to keep the things we want and throw away the things that we don't want, which is essentially what we were doing the old way, which was to say, hey, you know, for loop a for each loop, if the name matches our criteria, then add it to a new list. Right? So that's sort of what we're doing here. We're not necessarily Well, we can add it to a new list. But anyway, we're we're keeping going we're considering we're moving forward with anything that returns true here with this predicate with this filter predicate. Okay, so stream dot filter, and then how to use a predicate. Remember, it's just a functional interface that takes in that one, it's one method, I think the film predicates, I forget what the method is called. But it doesn't even matter. You don't need to know the name of the method. Because you can just use the lambda syntax here. So remember our lambda syntax arrows in the middle, to the left of the arrow is the input parameter name, and to the right is the body where we can return something. So dot filter takes the predicate dot filter, we're going to put in name as the name of our variable on the left hand side of the arrow function or the the arrow lambda syntax, because that's essentially what we're filtering here we're filtering a name, because it's a list of names. So really, the way my brain works is whatever we're streaming, whatever we are iterating, over, probably has an S on, it's probably a pluralized, the version of whatever. So names is the plural name, plural variable name here. So names has the s, well, what are we streaming, we're streaming the individual name. So you just cut the s off of the variable name. That's sort of how I typically set up. Streaming makes it very simple and straightforward and easy to understand and read. So we're iterating. we're iterating over names of via a stream. So again, I'm just I keep saying the same code over and over again, by the way, this code is three lines that I keep talking about here with this new way, it's three lines of code, as opposed to like seven before, so it's much more succinct, to get names dot stream,
25:59
dot filter. And then filter is a method that takes in a lambda A predicate. So to do that, we have name on the left hand side of the of the arrow. And then what is on the right hand side, well, remember, the right hand side has to return a boolean value. So what is this boolean value body function, whatever that we need to create here? Well, it's the same as we did in the old way, we just said if name dot contains the parameter, the criteria then return true, right, so we can just do that here, the short form, we don't even need to add body, we don't have to add, sorry, the curly brackets, we can just say, name, because that's the variable name that we chose to name it on the left hand side of the lambda, we can say on the right hand side name dot contains the filter parameter, right, the criteria that we're passing in, and that's it. Right, that's name is on the left, and then name contains the filter parameter on the right. Because named contains will return true if the name contains that filter parameter, right? In this case, AR is a string that we're filtering by. Cool. So we did names dot stream, which returned a string stream of string, then we did dot filter. And we put in our filter parameters, well, what is filter return filter returns another stream of string. Okay, same thing, but the difference here is, it's going to return a subset from the stream above, because we're filtering out some stuff. So if the name contains a our, the filter will return it as a stream of strings in this case, but for our example, it's actually gonna be two names. So I should probably have said that before. So the two names that is going to return here are Charlie and Darla Charlie contains contains AR, ch, ar, right for Charlie. So AR is in there. So boom, we have a match. So it's going to return that in a stream of strings. And it's also going to return Darla, because Darla has D A AR AR, right, we're always looking for the AR is in the names. So we're going to below the filter when we chain another method onto dot filter, because that's what this whole thing can do. We can chain methods onto each other filter returns a stream of strings, but in this case, it's only two string strings, right. It's only it's a stream of two strings, because to match the filter criteria, Charlie and Darla, whereas before and the step above, if we say names, dot stream, names dot stream, we'll have all 10 names. Because we haven't filtered anything, this is just, I want to stream all of the names, right. So names dot stream, will be a stream of 10 strings, right 10 names, but then dot filter will return a stream of strings, but it's only going to be two string strings in that stream. Sorry, again, stream string stream strings. I'm trying to enunciate as best as I can. So yeah, dot filter will give us a subset, right? They'll give us two strings in a single stream. Cool. So now what do we do? Well, we can do another.in. This case, we're doing something called dot collect. And we're saying collectors.to list. I went over that really quickly. Because there's there's more on your talk about about dot collect. So where the heck did that come from? Trevor, you probably are saying I was with you with a dot stream that sort of makes sense. You know, you're iterating over all of the, you know, items in the collection. we're iterating all over all 10 names. And then you said dot filter, and that got a bit more confusing. We're filtering, but you know, true means keep it false means throw it away and send it downstream. Okay, I think I understand what you mean. But then what the heck does collect mean so before I dive into what I collected means you need to understand that when you're streaming, there are, I think a couple of maybe more than a couple. But there are a couple types of methods that we can that we can use here. There, I should say couple of categories of methods when streaming. So there are a couple of categories, or at least a couple of important categories of methods. When we're talking about streams, the first category is
30:31
called an intermediate operation. So filter is an intermediate operation, you can categorize, filter as an intermediate operation. Okay? What that means is, you can perform a bunch of different intermediate operations on a stream, if you like, you can perform one you can perform none or you can perform many intermediate operations on a stream. In other words, these intermediate operations allow you to mess with the stream, change it in some way, or, or shape or form, right. In this case, we're filtering so we are removing elements from our stream. There are other intermediate operations that you can do that modify the stream. We'll talk about another one in well, can we talk about it in this episode, How long, I've been talking for 30 minutes. Okay, so maybe we'll talk about that in the next episode, another oper, another intermediate operation that you can do. So you start a stream, that's like the start of the whole thing, you can perform zero or sort of, I don't wanna say Unlimited, but zero or more intermediate operations on the stream, and then you can perform one terminal operation. Okay, a terminal operation is an operation that you can do once at the very end. Okay, so typically, the way a stream goes is the stream starts. And then on the stream, you do zero or more intermediary, intermediate operations, and then you perform one terminal operation. That is the generic and common blueprint for streams. Okay, so a terminal operation is what you do at the end. And the terminal operations typically take in some sort of, I think it's a supplier is the is that right supplier, does a supplier return? I can't remember anymore. We just talked about this, I think a supplier just returned something, as it takes something in, it returns a result. I forget if it takes, if it takes no, it doesn't take a parameter. At least I don't think it has to, because it already knows from above what what it has access to. So I believe the supplier just returns something back. So in this case, dot collect, has picked a supplier and the supplier in this case is called, we use something called collector.to list, or sorry, collectors with an S collectors is a special sort of helper method that allows us to do a bunch of stuff. So collector.to list allows us to take in the items that are coming from upstream, and then just says, Take everything that we have at this point and turn it into a list. Okay, so I know that was a bit confusing, I didn't do a great job explaining it. I got mixed up there with supplier versus consumer. Right, those are the two I just talked about this, you can see you can hopefully take some
33:59
some solace take feel good about the fact that I'm even still confused about this stuff, right? So and I've been doing this for like, I don't know, how long but using Java eight stuff, I don't know years, it's been two years that I've been doing this. So it just goes to show you don't need to know I'm trying to get into the inner workings of how everything and you don't need to know the inner workings all i All I think about and all I know is that I can do dot collect, which is a terminal operation which you need to have a terminal operation with a stream to do anything with it, do anything useful with it. So dot collect is a terminal operation and it allows us to take what items we have left in the stream and then turn them into something useful like a list or a set or a map or whatever, right. So there's a bunch of things that you can do with a collector. So you can say collect dot collect as the as the method. So dot collector is the method which is called a terminal operation. And then you pass in collectors dot something. So collectors.to list will turn whatever items we have left into a list. Okay, so that's it. That was a lot of explaining. But really all that explaining was for three lines of code, right? Names dot stream stream is a method for invoking it. So we have round brackets, names dot stream with round brackets, dot filter. With round brackets, what are we putting in the filter, we're putting a lambda name on the left arrow named contains filter params. On the right, that's how we filter out all the names that don't have AR in them. And then chaining another method dot collect, get, it's a method we're invoking. So we have to the open close parentheses here. And then we pass in collectors.to. List, collectors is the utility type object that we use here. That allows us to yeah, do all sorts of different ways to collect stuff, in this case, collectors.to list takes whatever we have upstream and turns it into a list. So then we can return that. So that's what we do to return a list of names that are filtered by a certain result. That's how we do it, we stream we filter, we collect done three lines of code. Cool. So that's what streams are, they are a different way to do a loop. And streams are composed of typically the initial dot stream to get started, then it has zero or more intermediary options. In this case, one of the intermediary options or operations that we did was filter, which reduces the number of items because we're filtering out stuff. And then we collect the terminal operation. So stream it, zero or more intermediary operations. And then collect is the terminal operation. So a terminal operation. So another example of a terminal operations do a for each. So which is you know, instead of saying collect, I could have said dot for each. And the difference there is dot collect allows us to put all that stuff into a variable, right? In this case, we're putting it all into a list. So we're taking the filtered results and putting it into a list, which is cool, because you want we want to return that list, right? We could have also alternatively use dot for each. So instead of just returning those last two names that we filtered, instead of just having those two names and returning them to a new list, we could have just said dot for each and done something with them, right? That's another terminal operation. In this case, we want to be able to return that list so that we can do something with it. But hey, if all we needed to do was like print out those names, we could have done done a dot for each and just printed them out. Right, that would have been another way to do it. So apologies for being long winded here. But I guess that's the whole point of this podcast is to be long winded. My hope was I could talk about another intermediate intermediary step. But yeah, we will all let your brain digest everything that we just talked about about streams. And in the next episode, we will dive into another really cool intermediary option called Map, which is probably the single most confused, that's right word confusing, intermediary operation that exists, because it shares the name of the data structure, right? In Java, there's a data structure called Map. And whenever my students learn about streams, and they hear about dot map, they immediately think it means convert it to a hash map. And it's like no, it does not mean that. So we will dive into the complexities of what dot map is as an intermediary operation. And obviously, we'll dive into some more stuff probably in the next
38:48
episode of the podcast, because there's more obviously to talk about with respect to streams. But to sum up, streams are less verbose way to do operations on a collection of objects. If I zoomed out to the 10,000 foot view, or whatever, 50,000 foot view, that is the gist of what streams do, because in our daily lives as coders, we do crud, all day long. crud, creating, reading, updating, deleting data, create, read, update, delete, see our UD crud, right, that's what we do on a day to day basis, we do crud, and as a part of crud, with reading data with the R step. Typically, we read data from the database. And when we read the data from a database, or a file or whatever your you know, your what's the what's the, your persistence thing, if it's a database, if it's a file, if it's a, an API, whatever your you know, data stream coming in is, typically we read it into a collection of some sort, and then typically We take that collection, and then we do something with it, we modify it, we enhance it, we tweak it, we do something with that collection that we've read from a database or an API or a file or what have you. We do something with that data, we modify it, and then we send it to the front end. And vice versa, we take it from the front end, we modify it, and we send it to the backend, right? That intermediary step there not to use the same word that exists in streams, that middle step that we do with respect to either pulling it from the database and putting it the front end, or taking it from the front end and putting it in the database. There's that middle step, where we typically iterate over a collection of items and do something with it, right. That's where streams shine. And there's obviously more streams and what we've talked about. But this is where this is something we do all the time, we see a lot of for loops, iterating over things and modifying things. And what happens is the statements, these blocks of code of for loops, can get really long and verbose. And really be difficult to understand. And you'll be amazed at how much more easily you can understand code when it is not in a for loop. And rather when it is inside of a stream. That is where streams shine. They are so much more readable. You can look at it and understand a more complex stream of operations in seconds when compared to probably upwards of hours with a for loop, maybe not hours, maybe that's a bit, too, you know, going too far. But minutes, I would say seconds versus minutes when it comes to understanding code and reading it. So that's the beauty of streams. And having said that, like I said at the top of this episode, the boot camp is something that I would highly recommend you checking out if you haven't already done so coderscampus.com/bootcamp allows you to Yeah, dip your toes in those waters, check out with the boot campers about learn more about it, see if it'd be a good fit for you. Like I said, if your goal is to get a job as a coder, oh my goodness, this is what I shine that and this is what I've dedicated my now career two is helping people transition from where they are to being job ready in as short a period as possible with as least amount of pain as possible. That's the point of the bootcamp. In my opinion. Like I said before, it is not only the fastest way to do it, it is also the cheapest way to do it. And there's data to back that up when it comes to completely self taught versus doing something like a boot camp versus doing something like a college degree. So it is the sweet spot in my opinion with respect to achieving the goal of getting a job in the real world. So if you are at you know, one out of 100 in terms of job readiness, I'd highly recommend applying to the boot camp coderscampus.com/bootcamp. I will see you there. Hopefully I will talk to you soon. Otherwise, I will see you in the next episode of the podcast. Take care everyone. Happy learning and bye for now.
42:58
Thanks for listening to this episode of the coders campus podcast. But before you go, Trevor has a favorite ask you. In order to keep these episodes free, he'd love for you to leave a rating and review the podcast on iTunes. Just go to coders campus.com/review to leave your own rating and review of the show. So if you have 30 seconds to spare right now, please help out by leaving a rating and review via coders campus.com/review It will ensure that you continue to get these awesome free podcast episodes each and every week. So if you like free swag, head on over to coders campus.com/review Happy Learning
The post EP53 – Intro to Streams in Java appeared first on Coders Campus.
43:43
EP52 – Most Common Functional Interfaces in Java
Episode in
Coders Campus Podcast
In this episode we'll talk about 7 common Functional Interfaces that Java provides to us.
UnaryOperator, BinaryOperator, Supplier, Consumer, Function, Predicate and BiPredicate
Episode Transcript
Coming Soon…
The post EP52 – Most Common Functional Interfaces in Java appeared first on Coders Campus.
53:24
EP51 – Let’s Talk Lambdas in Java
Episode in
Coders Campus Podcast
In this episode we'll talk about a super useful feature that was introduced back in Java version 8, known as Lambdas.
The Lambda feature is something you didn't know you desperately wanted or needed until you understood it.
The Lambda syntax allows you to write much cleaner and more readable code, while also empowering you to get more done with less code.
In this lecture, I'll be referring to some code that you can download via this github repository.
Episode Transcript
0:00
Hey fellow coder before we rolled into the episode today this one is sponsored by brought to you by the Coders Campus Bootcamp. If you haven't already checked it out, you can check it out via coders campus.com forward slash boot camp. So if you're looking to get a job as a coder, and you've been struggling to achieve that on your own, you are struggling to learn how to code on your own. You're not alone. And that's what that's why these boot camps are so popular. So we'll talk more about that at the end of this episode. But yeah, please do check it out coderscampus.com/bootcamp, you can apply to see if you'd be a good fit. So having said that, let's roll into today's content
0:48
Welcome to the coders campus podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcast will teach you what you need to know to master the art of programming.
1:03
And now, your host, Trevor page.
1:07
Ladies and gentlemen, boys and girls, children of all ages. Welcome back to this 51st episode, I think of the coders campus podcast. Thank you so much for joining always a pleasure to be here in the hot seat and bringing you the important information curated by none other than the No. Okay, so let's focus. So yeah, welcome to the podcast. Great to be back. And I want to kick things off by talking about sort of what I alluded to in a past episode, I forget when I alluded to it. But yeah, I want to get to talking about streams eventually. But before I can talk about streams, I want to talk about lambdas. So today's episode is always good, it's going to be I should say always going to be the full episode will be about lambdas and lambda expressions and lambda, this lambda that you will be by the end of this episode, a lambda expert. So let's dive right in to it. I'll open up my notes here. So I guess the first thing we can start off with is what the heck is a lambda? Why is Trevor talking about this subject? When is it used? Why is it important? Why should I know about it, that kind of thing. So we'll start off by obviously talking about what a lambda is. So it's essentially a syntax that is used to cut down on the code that you have to write essentially, reduce the verbosity is the professional term, if you will reduce the verbosity of the code. So what that means is, you'll have to write less code in order to do the same thing. Okay, that's really, you know, there's a lot more than it can do. But that's, I mean, you know, fundamentally, why would you choose to use a lambda over not a lambda, it's, it's really to reduce the verbosity of the code. And that should tend to lead to more readability case, your code becomes shorter, more succinct, and more readable. Now, the it's a double edged sword. Because when you do this, when you reduce the verbosity, when you abstract away some details, when you hide the inner workings of what's happening through shorter code, although it's more readable, it's only readable if you understand it. So what this this tends to lead to is more confusion if you do not understand it, hence, me talking about lambdas. Today in this podcast episode, so lambdas are very powerful. They were a feature that was added to the Java language as a version eight. So Java, version eight at the time of this recording, is, you know, one of the most, if not the most popular version of Java being used out in the wild. And no, some you know, there's no surprise there's there's a big correlation between lambdas being introduced in version eight and version eights, popularity, lambdas, and streams were very well received, and in my opinion, are great, I absolutely love them. So important to learn about. Now beyond reducing the verbosity of the code with respect to using lambdas. Beyond that, we also it allows us to treat
4:25
functions, kind of like parameters, kind of like you do in in the world of JavaScript with JavaScript, you can pass functions around as parameters if you don't know JavaScript. And I guess that's not very helpful to you. But if you do know JavaScript, and you've done this before, then great. You can sort of think of lambdas sort of unlocking this functionality, if you will, of being able to pass a function around inside of the method signature.
4:52
So yeah, it allows us to treat methods like parameters, sort of, so
4:57
basically, get the way to think about this
5:00
is in my mind is to look at how we had to do it the old way. And and what we had to do in the pains and whatnot of what we had to do the old way before version eight. And then we can look at what the new way is with respect to lambdas. And, and whatnot. So I do have some code. And I will try to, I guess I'm gonna have to put the code in some show notes for this episode, so that you guys can load it up and look at it. Again, I'm tasked with trying to explain code, verbally, without you guys seeing the code in front of your eyes, which is always as I say, a very difficult task. But if you are not driving, and you're able to, you can go to I guess I'll put it up coderscampus.com/51. As this is Episode 51, you can go there and bring up the show notes. And you'll be able to see an example of what I'm doing. I'm also going to post this or I have already posted this as a GitHub repository. So you can also not just see it on the blog, but download it and play with it. Because that's what all the cool kids are doing these days. So
6:07
yes, having said that, let's dive into sort of the code. So the old way of I won't say the old way of using lambdas. But in that's not correct. There were no lamb lambdas in the olden days before Java eight. So how did you do this? How did you work? You know, with these things? Well, basically, what ended up ends up being is you are working with interfaces, and you're trying to
6:33
utilize or use an interface by sort of instantiating it. So when you try to instantiate an interface, if you have done your homework, you know that that's really kind of not possible, you cannot instantiate an interface, you can only instantiate a concrete class, right? So you can only instantiate a class. So how can you get around this? How do you get around
6:56
the whole you can't instantiate an interface, but yet you kind of can instantiate an interface.
7:03
It's done through essentially
7:07
instantiating the interface and overriding it. So in other words, you are implementing it right there. And then inside of the code. So an example of this, you probably swatch. And so you probably seen, if you worked prior to Java eight, you will have seen this through the syntax of when you say a new interface. So if you tried to list like a list, or a map, or whatever, and you say new list, and try to instantiate a new list, list interface, or map is an interface, those are not concrete classes, so you can't instantiate them. But what you will see is, if you say new list or new map,
7:44
and then you try to, you know complete it, what it's going to do is it's going to open up a body of code, it's going to open up curly brackets. And it's going to force you to override each and every one of the well abstract methods inside of the interface, right? Because that's all an interface is made up of, if you want a quick review of what an interface is an interface is made up of public abstract classes, or sorry, public abstract methods, not classes methods. So an interface is made up of public abstract methods. And what does that mean? What is a public abstract method? It's just a method that has no body. Okay? It has nobody has nobody to turn to terrible joke, I'm sorry. There's no body of the code. So basically, what's happening here is when you try to instantiate an interface, it says, Fine, I don't know what you're doing. I don't know why you're trying to instantiate this interface, you can't do that. So here's the workaround, I'm going to force you to override and create the body of every single abstract method for me, because that's the only way you can use an interface, right? You have to give it behavior, you have to override the code and give it a body. And this is usually done. In a separate class, you have a concrete class that implements the interface, right? You have a class implements the interface, and that class is overriding every one of the methods for that given interface. And you'd have it all in one neat place in one class file. Well, when you do it on the fly, if you're doing it in line, if you will, if you're saying, you know, some if you say list, my list equals new list, it's going to say, Oh, well, we're not going to put this in a different class file. We're just going to make you do it right here in inline in the code right now, next to the new keyword right next to the new list, parentheses, whatever, then it's going to force you to create a body and override everything. So anyway, that's sort of what we had to do in the in the olden days. We would be forced to if you wanted to try to instantiate interface, we'd be forced to override everything and give everything behavior and whatnot. Right there. And then so
10:00
So and that's sort of what this code that I have, that you can look at, that's what it's doing. So I have some code called non lambda example. It's just a class. That's called non lambda example, a very non creative name. And the, that class has a method and the method is called add strings. Now, this is not a very real world example, I apologize for that I was trying to make some sort of perfect example. And I don't have all the time in the world on my hands. So I settled on just taking a regular example that you find on the internet, I know, that's not the greatest thing in the world, but I will do my very best to, to give you as much detail around that as possible to make it make sense. So for whatever reason, we have a class, it's called non lambda lambda example, that maybe this could be considered a string, utility class, we'll call it string utils. Right? We can't call it that, because that's being used, but let's just say it's a string utility class. So it gives you some sort of methods that are useful, you know, with respect to strings, okay, allows you to do stuff with strings. That's what this class does. And as part of this class that we're talking about, that does stuff with strings as utilities class,
11:09
it has a method called add strings. Okay, so what add strings does is it allows you to add together a couple of strings. So in other words, concatenate strings together, again, not a very real world thing, because we already have a method to concatenate strings, it's just a bloody plus symbol that we can put between two strings. Anyway,
11:31
how do we do this? How do we have if we have a method that add strings together,
11:37
and let's say we have an interface that allows us to add strings together, this, you know, method could just use that interface, and we can instantiate the interface and make use of it right there. And then, like I said, the side effect is, it's going to force you to override all of the methods of the interface. Okay. So if you can imagine, you know, there's some interface called, you know, I don't know, it's called non lambda interface in my code, but really, we could call it the, you know, string utilities interface or something.
12:12
And this string utilities interface has a method within it called add strings together, and it allows you to pass in two strings. And what that does is it will take in two strings and return a string back. So it takes in two strings, string one, string two, and it outputs a single string. Okay, so what is the point of this write it? Well, like I said, it concatenate strings together. And that's just the purpose of this particular interfaces method where the method is called add strings together. Again, it's not very functional, but hey, it's, it just puts a space between two strings, great, fine, whatever. Well, how do you how do you use that, then? Well, you need to, you know, in line instantiate and, and define a body for this non lambda interface, or the string interface or whatever, with this add strings together method, you'd have to implement it by returning the string one and string two with a space together. And then you need to take that interface that you quote, unquote, instantiated and invoke that method, add strings together, and you pass it string one and string two. Right? That's sort of how you would do it, if you did not have lambdas. Now, that was a lot of talking, right? That was a lot of talking to try to describe this. And if it sounded convoluted, and weird, it's because it is, it's convoluted and weird. It is an old way of of trying to
13:38
perform an operation of like instantiating an interface, essentially, right? Again, you can't instantiate an interface. But you can get around that by implementing it in line implementing all of the the methods within that interface. And the result of that is that you get a big long block of code that's quite ugly, and whatnot. And it's not very, not very readable. And it's, it's verbose, right? That's the whole point here. So how can we make our lives easier, right? Well, that's where the lambdas come in, right? We have these things called lambdas. And they work alongside this concept called functional interface. So there's an annotation called functional interface. And in my mind, I, I take a functional interface and the concept of lambda and I mash them together in my head, because that's really a funk. You can't use a lambda without a functional interface. Okay? So keep those that sort of, again, take that for what it's worth. It's stored in your brain the same way if you like, but like I said, Before, you can actually use lambdas. Before you can actually write out the lambda syntax, which is less verbose than the syntax that I just tried to explain to you without lambdas in order to use that code, that syntax the less verbose syntax
15:00
You need a functional interface? So, okay, what the heck is a functional interface? And why do I need that? Well, a functional interface is the word comes from functional coding functional programming. Okay, functional programming is very much, you know, if you have inputs, or I should say when you have inputs that go into a method for a method signature, you have inputs, for any input that you give it, the output will always be the same, meaning, if you have an interface a functional or functional code, I should say, if you have some sort of functional code, functional programming code with an input that takes an integer, if you pass in the number one, you're going to get a result. Okay, let's say that this particular functional code, the way the way it's written, the method that we're invoking is the, you know, the squared method. So it should take an input of a no a single number, a whole number, an integer, and it should square that number and give that as the result. So that means that when you pass in the number one, to this functional code, this functional method or whatever,
16:13
you'll always get one as the output. And if you pass in to what is two squared was two, or Yeah, two squared is four. So every time you pass in two, you're always gonna get four, right out, if you pass in three, you're gonna get nine, if you pass in for you're gonna get 16 525, you know, 636, oh, my God, I'm going back to math class, you know, 749, how high can I go 864 981 10 111 121 12 144 13. And that's where my brain stops. So that's as much as much of the squared,
16:48
which call it a multiplication table that I've memorized. So anyway, the point is, whatever number you put in, a result will come out. And that result should never change based on the inputs. So you'll never get a situation where you pass into three, and you get 10. Out, it will always be nine, because three times three, three squared is always nine. That is sort of what functional code is all about, right? predictability? No, there's no
17:20
side effects that happen. There's no weird situation that if this one situation plays out around this method, and the methods output will change, right? In other words, that's, that's called a side effect. If, if there's a side effect, something weird happened, and then boom, the output is not what you expected. output changes. That's not good. That's, that's not a very stable environment to working in. And that's, that can happen with with a Java language, we can have side effects, right, we can have, you know, inputs, the same inputs can produce different outputs for a given method, if it's not a sort of functional programming style. So at least again, that's what's that's how I think of it in my brain. I'm sure there's a lot more to it. But hey, I'm trying to be as as straightforward as possible here. So does that make sense? functional code means in the same inputs will are the inputs that you put in will always give the same outputs for each given input. So one will get one two will get four should never change. That's the functional lens, if you will, with respect to programming. So what is a functional interface? Well, it's an interface that provides functional code coding in the functional style. Make sense? So when we have a functional interface that provides well being an interface write an interface means it has abstract methods, public abstract methods,
18:46
which all interfaces have, but there is a specific requirement for a functional interface, which is that there can be only one public abstract method in the interface. That's it. You get one ladies, gentlemen. So that's sort of the the behavior that is the stipulation the specification for a functional interface. In the world of Java, you have one and only one public abstract method. Now you can do more than just a public abstract method. You can have default methods. I think we've talked about default methods in terms of Java eight, introducing the default keyword.
19:29
Anyway, let's let's stick to the basics, though. Have you have one public abstract method, and that is it. Okay. So in my code that I've introduced here, I've given you an example of I just called the call it the lambda interface. And again, these naming conventions just to show that one is lambda one is non lambda. But really, if I were to name this properly, this lambda interface might be called something closer to
20:00
Yeah, the string utility interface, right? Or maybe functional string utility interface, or I guess you wouldn't call it functional. That's, that's not true. That's, that's a bad convention. I would just call it string utility interface or string utilities or whatever. You annotate it with the functional interface annotation at the class level, or at the isn't, that's not the right term. Because it's not a class, what would you call that? I always call it class level. Interesting. at the root level, what anyway, again, you'll it's at the top, it's right before the declaration of the interface. So at the interface declaration level, anyway, you use functional interface, it comes from Java, as part of the what java lang. So it's very, it's built right into Java lang, which is like the root, you know, package, if you will. So we have we declared as a functional interface. And all that does is it enforces the single public abstract method.
20:57
requirement. If I right now I'm typing in another piece of code, I'll type in like, you know, add another string or something, and I'll have another,
21:08
you know, method, the public abstract method. As soon as I do that, when I have the functional interface annotation declared in here, it gives me a compilation error. So the interface goes red, and it says, Hey, invalid functional interface, annotation. lammed interface is not a functional interface. In other words, because I've added a second public abstract method, it is complaining, so I delete, you can't see me delete it, but I've deleted it. And now it's back to just having one method in there. And now it's happy again. So that's what functional interface, the functional interface annotation gives to us is sort of a compile time check to make sure that we are adhering to that single, abstract method requirements. So having said that, why is this why is this helpful? How is this all this stuff that I've talked about, about functional coding and functional interfaces? And one single abstract method? How is this going to help our code be more readable? Well, that's where the concept of a lambda actually comes in lambda expressions or whatnot. So inside of our interface, we have a single method, and we call it add strings together, just like what we called it in our other interface that was the non lambda interface, we had an add strings together interface, or sorry, add strings together method inside of a interface. So in terms of how, what the interfaces look like, they look identical, okay, the the non lambda interface versus the lambda interface, the code is identical, except for the the lambda interface has that one extra
22:41
annotation called the functional
22:44
functional interface annotation. So in the interface level, nothing changes other than that annotation,
22:52
and the rules that come with it. Now, what does the the rest of the code look like? Right? What is my example code look like when I want to use the functional interface.
23:03
And this is, again, the I don't say, once again, this is the first time I'm saying this.
23:09
The code that I've written that I'm sharing with you, and that I'm talking about right now, is probably not code that you're ever going to actually write. In the real world, at least most of it you won't write, generally speaking in the real world out there in the wild, you do not create your own functional interfaces. Okay, the purpose of this episode, and the purpose of the this exercise, if you will, that we're going through, is so that you get a fundamental understanding of how the inner workings of a functional interface actually works actually functions, for lack of a better term. But just so you know, the caveat here is that you probably won't ever create a functional interface. I mean, you might, but you probably won't, because Java provides a bunch of functional interfaces for us. And we will get into what those are. And the common ones that you'll see out in the wild, we'll get there in in a little bit. Well, how long has this episode been? Do I need to split this up into two? Oh, my God, it's already close to half an hour. So maybe we might talk about that in this one, we might push it to the next one. So just keep that in mind. But for now, I want to teach you how to create your own functional interface and then use it right cuz that's what this is all about. So, in our lambda example, class, we had a non lambda example class where I talked about having the add, you know, add strings. Method, which instantiated quote unquote, instantiated the interface, which forced us to override it and do all the body so everything I talked about already, and then actually invoking it, and using, you know, the stuff that we had to override everything. That was the old way. So the new way, how do we use it? Well, we same kind of start, we say lambda interface, right? So we declare, we declare a variable, the type of the variable that we're declaring is going to be lambda initial
25:00
phase, which is the interface that we created. Again, a better name for this would have been string utilities or something.
25:06
But we're trying to be lambda forward here. So I called it the lambda interface as the type. And then you declare a variable name, the variable name can be whatever you like. It's just a variable name. I chose functional interface as the variable name. Sure, fine. So we have a functional interface variable with the type lambda interface. Okay, which is an interface, it's not a concrete class. So therefore, we can't instantiate this right? What do we do? Well, we can set it equal to
25:38
a lambda expression.
25:40
Okay, I don't even know if that's the right term, I think lambda expression refers to the stuff on the right of the lambda, I don't know what the word is to represent the entire thing. But
25:49
basically, instead of having to declare a big body, you know, having the curly bracket with a new keywords a new lambda interface, and then having a curly bracket to open the body, and then overriding the single method inside of it with functionality and saying, all that stuff doesn't have to happen.
26:09
We take all that stuff, and we boil it down into two things, I guess, sort of three things. But the third thing is simple. Two things, two parts. Okay, and this is where the verbosity goes away, then this is what I'm about to talk about. This is the syntax involved with the utilization of lambdas. Okay, so this is what this is where the rubber meets the road, ladies and gentlemen. So
26:35
we will, we will use this lambda
26:39
syntax to assign functionality to our lambda interface type that we're this variable that we're creating, okay. So
26:51
because the functional interface, or the lambda interface only has one method inside of it, by design, it can only have one public abstract method.
27:02
Java knows what the method signature is for that single public abstract method. It knows it already. Okay, it's too we have to we had two inputs for this one. So to go back to it just because you're not staring at the code in front of you. The lambda interface method that we created, the public abstract method was called add strings together. So add strings together with the lambda interfaces method. And the add strings together method has two inputs, s one and s two, which is strings. One, S S, one is a string, and S two is a string. In other words, add these two strings together concatenate these two strings. So probably a better way a better name for this function or method would have been, not add strings together, but rather concatenate strings together. But anyway,
27:52
I this is this is the code that I've written ladies and gentlemen, this is what we're dealing with. So it has two inputs, two strings, and one output one string as the output. Okay, that's what the method is declared, there's no body in it. Because it's an abstract method. abstract methods don't have bodies, it's just a method signature, takes two strings in one string out, okay, that's what this adds strings together. thing does. And because it's a functional interface, because we've declared it as a functional interface, Java can do some fun stuff with that. In other words, it can abstract away some, some syntax and some details here.
28:30
So because we know
28:33
the method that is the functional method, the you know, the single abstract method, we know the specifics of it, we know the the method signature for it.
28:43
There's, like I said, there's two parts that kind of are three parts, but there's two parts to the syntax, there is everything to the left of the arrow, and everything to the right of the arrow. Okay, the arrow is the third thing. So the arrow is the syntax that you look for, that's the smell, that's the indication that we're using a lambda. So in the world of Java, the new syntax is this arrow, which is the minus sign followed by the greater than symbol, which looks like an arrow, an arrow pointing to the right, minus greater than picture that in your brain right now I'll take a sip of water.
29:22
Minus greater than symbol, that is the signature of the lambda that a signature meeting the telltale sign that we're using a lambda. Okay, if you have any experience with JavaScript, you might be saying, Wait, does that have anything to do with the fat arrow syntax in JavaScript where you have the equal sign with the greater than so? Yes, okay, that's it was blatantly stolen from JavaScript. Ladies and gentlemen, this is the world that we live in. It's cutthroat. We steal code, we steal functionality and make a small tweak and say that it's all brand new. So anyway,
29:58
it is a minus sign with a
30:00
have greater than next to it. So that's the arrow. And that's the third thing. So there's everything to the left of the arrow, and there's everything to the right of the arrow is what we're dealing with. To the left of the arrow is the method signature. So this method signature, if you were to type it out, you would, you would just have
30:19
just the, I should say, just the parameters of the method signature. So we don't even need the name of the method here, we don't need the return type, we don't need the name, we don't need anything other than the parameters. So a better way for me to say that is, the stuff to the left of the arrow is just the parameters, the list of parameters, and you can type it in as string s one comma string s two, if you wanted to, because that is literally if you caught if you went into the declaration of the method, and you looked at the parameters for the method in the functional interface, that is exactly what is written copy, paste, it's the round bracket, string s, one comma string s to close round bracket, that is the list of parameters, you know, surrounded by the round brackets, the parentheses, parenthesis, parentheses, whatever.
31:13
That's everything to the left of the arrow. Okay? Now, because we can want, we can also be even less verbose. And because we know that this is a functional interface, and because we know there's only one public abstract method, because we know the method signature already, I say we Java knows the method signature already, it knows the parameters, it knows the types, so we don't actually have to write in the types either, we can literally just write round bracket, S, one comma s two, round bracket.
31:45
And believe it or not, we don't even have to call it s one and s two, if we don't want to, that's what we called the variable names of the inputs in the function in the interface, right in a lambda interface. That's what we call them. But we don't have to call them that we call it a one and a two or x one and x two, or X and Y or whatever, dog poop one and dog poop two, right? So that's, we can name it whatever we want. So for this one, I just kept it consistent with s one and S two. But just so you know, you can call it whatever you want. Now, everything to the right of the arrow is where things get pretty cool. So we have a few choices here to the right of the arrow to the right of the arrow is essentially the body that you are going to give to it right everything to the right of the arrow is what we have declared and written already in the non lamda example. In the non lambda example, we had to remember open up the body and the curly brackets, we said new you know interface with open up the brackets, and then we had to override the method. And then inside the method, that method had a body to it. This is the body that we're talking about. So we can take what's inside that body, the curly brackets inside the body that so the curly brackets and there was a return statement, saying return s one plus a space plus s two.
33:05
Right? That's what this does it concatenate two strings together with a space between them as one plus a blank space meaning double quote with the space double quote, plus s two, that's how you concatenate was one way to concatenate two strings together with a space in the middle s one plus space plus s two. Okay. So if you just look at the body there, it's curly brackets with a return statement returning that s one plus space plus s two.
33:33
So you can just copy paste that body into the right side of the arrow.
33:40
Syntax. Okay. And then you're good. That's that's pretty much it. But
33:47
there's more.
33:49
Because we are returning something and because most times, in the bodies of methods, we're returning something, there's a special shortcut to make this process even less verbose. You can get rid of the body indicators, the body, the curly brackets, the opening and closing curly brackets, get rid of them.
34:10
And you can get rid of the return statement, the return I should say the recruiting return keyword, just that return keyword and just have everything to the right of the return be copy pasted it to the right of the arrow. So in other words,
34:25
your lambda interface, which I called the variable name, functional interface equals right when you're setting when you're, you know, in the old way, we had to say lambda interface or whatever the other interface is, you know, string, let's call it string utilities, you know, is the interface name and then we call it string. utils is the variable equals something and we had to say equals new in the old way, string utilities and then overriding all that stuff and all that complex stuff.
34:50
With this new way, we can say you know, your string utilities, you know, string utilities, whatever equals, in this case, again, it's not string utilities. It's lambda interface, but
35:00
Anyway, trying to connect it to the real world a little bit here, the equals everything to the right of the equals is just
35:07
open round bracket s one comma s two, right, which is sort of the variables, the inputs, without without the variable types, s one comma s two, it knows that these two things are strings already, we don't have to specify their strings, we can just surround them s s one comma s two, we can surround it in parentheses, put the arrow my assign greater than symbol. And then to the right, we just type in S one plus space plus s two semicolon.
35:36
Okay, so it's literally one line of code. I know, there's a lot of talking there. But there's a lot of teaching too, is literally to to declare the interface and to declare the functionality of the body of the interface is all done within one line of code.
35:51
So we've taken this interface. And we've kind of instantiated that we've kind of set it equal to something and given it behavior, we've given it the behavior of taking a string as first string as an input and taking a second string as an input and concatenating them together with a space. Okay, that's the functionality that we've defined, we've defined this method. Now, this method technically has a body. But it's still just a method, we haven't invoked the method yet. It's just there. And it could be used if you wanted to use it.
36:25
So now in order to use it, you need to say your, you know, variable name, which I named it functional interface. So again, probably could have chosen a better name, but hey, functional interfaces, dot and if you remember the name of the functional interfaces, single public abstract method, do you remember the name probably not, it was called add strings together is my an imaginative name for it. So you do functional interface dot add string together. And what it expects is two inputs, two strings, so you just type in the two strings, right? But whatever two strings you want, that you want to have concatenated together with with a space, and voila, you're off to the races. So in other words, you know, probably, you know, five or six lines of code go goes down to essentially two lines of code. Right?
37:11
Cool, fine, great. Grand, why? Why do I care? Why is this? You know, we went through all this, it's been how many minutes now that I've been talking 36 minutes, 36 and a half minutes?
37:23
Why is this important to talk about. And to understand? Well, lambdas with the land, when I say lambda, you can think arrow syntax, you know, the arrow syntax of minus sign with a greater than symbol, you know, method parameters in the left body on the right, if you don't have parentheses, if you don't have curly brackets, then it's assumed to be a return statement is gonna be returning the stuff, if you don't want it to return something, or if there's more logic you want to put into it, then you declare the squiggly brackets to actually give it a body explicitly give it some sort of body functionality. But anyway.
38:02
lambdas, as I just described them, are used as a part of a bunch of different things now in in Java, any sort of functional programming that you can do in Java. Now, as of Java eight and beyond? They all make use of lambdas. Okay, because there's properties to these lambdas that enforce functional behavior, one of which is anything you use on the right hand side of the arrow has to be final, or it is it is in what's implicitly, yeah, it's implicitly final, which means you don't explicitly declare these variables that you use on the right hand side as final. You don't explicitly declare them as final, there's no explicit writing of the word final in there. But if you try to
38:55
or reassign any of the values of the variables on the right hand side of the of the syntax or whatever, inside of the quote, unquote, body of the lambda expression, if you try to do any sort of non final behavior in the right hand side, it's going to give you a compilation error. I guess remember, we can't have side effects here.
39:18
Okay, what comes in whatever you know, inputs come come in. Whatever inputs you give in there should be a dependable and expected output for each input. Again, pass in one get one out, pass and to get 4395. Or sorry, 416 525. Right? If we're talking about squaring something, right, if the if the method in the functional interface was called squaring integers or something,
39:47
the behavior and the output should be dependable and expected. So one way to enforce that is to make sure that all your variables that you're dealing with are final
39:59
so that
40:00
That's a little property a little, a little side effect of using functional interfaces pun intended, is that your variables are final, and that can come up and bite you in the butt. Sometimes you'll be using, you know, lambdas inside of a functional interface or whatever.
40:16
And
40:17
you try to do something where you reassign a variable, and it says, Nope, you can't do that. It's final. And it's like, Oh, that's right, I can't have to think in a functional way here. So that is one thing that you need to be cognizant of be aware of. When you're dealing with lambdas, the stuff on the right is effectively final, the variables are effectively final. So the variables, by the way, are the stuff on the on the left hand side, the inputs to the function, that you are working with the inputs to the lambda expression on the right, the inputs come from the left, okay, and then they are later, you know, injected via using the actual interface itself. So anyway, we'll get there, we'll get to more examples to make that a lot more crystal clear. I, as I'm explaining it, I can tell it's not that part is not clear, there's a lot more to this.
41:06
So but what you need to take away right now from this talk, is that there is a way to define the behavior of the body of interfaces, interface methods, okay, there's a way to define behavior of interfaces methods,
41:28
such that you it can be done in a non verbose way. So in a non verbose way, you can define the body functionality of interface methods.
41:41
So prior to Java eight, that just there just was not any simple way to do this, there was not any non verbose way to do this. So that
41:51
the big The other thing to say here is you don't have to use lambdas. Right? You don't have to, you don't have to make use of any of the new fancy, you know, shiny methods, and you know, utility classes and stream, you don't have to make use of any of this stuff, if you don't want to, because all the stuff can be done. Without the Java eight stuff, at least as far as I know, you can do all of it without Java eight, you can do all, you know, everything you could do in Java seven, you can continue to do it that way that you could do it, you know, you can continue to do it the way you always did it, right. It's just this newer way is just a little bit more readable. This is less verbose, it's, it's a little sexier. Right? That's, that's one of the jobs that people take at Java, it's, oh, it's such a verbose language. Well, you know, little by little, they're cutting down on a lot of that stuff. Now, again, the side effect of that is, again, pun intended.
42:46
You're hiding details, you're abstracting away the details, as you become less verbose as you type have to type in less code, more and more is hidden under the covers, more and more is required of you to understand
43:01
explicitly understand what's going on under the covers for you to be able to use this with confidence, right? Because if you didn't know what lambdas were, and you just saw this syntax with these arrows, like this is arrow all of a sudden, and what looks like potentially the parameters of a method, but I don't see any types. And it's like, we have to know what the types are by knowing that it's coming from the interface, the single method of the interface and had to look at that interfaces and look at the type and like, it could be a generic type. And we haven't talked about that yet. And so there's a lot of stuff that you need to understand about lambdas before you can feel comfortable reading them and understanding them and using them. Otherwise, it's a bunch of guessing going on. So while Java gets a bad rap for being verbose, it's also believe it or not, it's helpful from a learner's perspective, when you're fairly new to programming. Having a verbose language is helpful, because you can see all the details in front of you. I don't want to say nothing is hidden, but a lot of stuff is in front of you, and not very much is hidden in the world of Java. So pros and cons. So there you go. That's, that's
44:08
I don't wanna say in a nutshell, because I took a while to explain. That's the your first
44:14
soiree into utilizing
44:18
lambdas. And the syntax behind them. And what I haven't talked about is, there are again, in the real world, you don't really create your own functional interfaces, there's already a bunch of functional interfaces that you can read, reach out and use, and that should,
44:38
you know, solve pretty much all your problems that will ever come up to solve all the use cases that you can think of. There are some functional interfaces that Java has provided to us that we can leverage that are, you know, utilize generics and allow us to use them in a very flexible way. The downside to that
45:00
It's very difficult to like, understand when you're reading just documentation and hovering over things, it gets convoluted. And we'll get there. We'll talk about that. Which is why it's important to understand what are the common functional interfaces that Java has predefined and built into Java eight, and is handing us to use and leverage? What are those common functional interfaces
45:24
that we can leverage? And and let you know, we should get a good understanding of them so that we feel more comfortable. If and when we run into a situation where it comes up in some documentation. And it's talking about the consumer interface functional interface or the supplier functional interface, or the unary operator functional interface or the function functional interface. You might be saying, What the heck is Trevor talking about? Exactly. I didn't know any of this either, before I actually did a deep dive and had to force myself to learn this stuff. And then I was like, oh, okay, now that sort of makes sense. Now, I can start to, you know, put some some of this stuff together and get a better understanding of how it works in the real world. So, hey, I do the struggling and I do the painful stuff of educating myself, so that you don't have to, you can get it in a nice, plain English way. So we will inevitably dive into that now in the next lesson, because there's a lot of talk about and we're already going long here. So I will stop talking there. And we can learn all about the common functional interfaces that Java has predefined and given to us in the next lesson. Now, before I go,
46:33
I forgot to do a pitch to you. shameful, shameful, Shameless, self promotion, maybe shameful. This is a shameful plug. Sure, why not?
46:45
Boot Camps, ladies and gentlemen, you heard me talking about them. I've doubled down on boot camps, because I am a believer in that system. If you haven't already heard me talk about it in the last, I don't know, five episodes.
46:59
I'm very bullish on boot camps. And I'm very proud of the curriculum that I built inside of the boot camp that we are running. And we're launching new cohorts every month now. So we're doing it monthly. We used to do every quarter. But now I'm getting my processes dialed down and I've hired staff. I have code reviewers, I have another instructor that's kind of like a copy of me, and who are in there in the trenches and helping out helping me out to help train the next generation of Rockstar coders. That's my goal here is to help train the next generation of coders.
47:39
And I do it with love, and with as much gentle kindness as I possibly can. But really, this bootcamp requires people who are dedicated now if you're already this deep into the podcast, if you if this isn't the first episode you listened to, if you're like, 50, some odd episodes deep into this, and you've been following me for years, yeah, you're probably what I'm the person I'm looking for. If you're looking to get a job, and you've been learning on your own, and you feel like you're understanding the basics, and you're understanding maybe some of the less basic stuff, the more advanced stuff, but you're still feeling very lost. Or you're just feeling like there's no way you'd be ready for the real world and an actual job in an interview situation. Or you're just feeling like you maybe you've done college and you're still struggling to get a job or, or you're thinking about changing careers or you know, whatever your situation is, if you truly want this, if you enjoy coding, if you enjoy learning, if you find learning fascinating if you find learning about coding, fascinating. And all you want to do and all you daydream about is getting a job in this field and getting the job security and all that like I want us to I want to talk to you, I want you to apply to my boot camp. If any of this is resonating with you, I want you to go and apply to boot camp, you can apply via cod erscampus.com/bootcamp.
49:07
In there, you'll be able to
49:10
find a link or a button somewhere you can say apply now and fill out an application.
49:16
But yeah, if you already have a little bit of knowledge, if you are driven if this is your passion, if this is something that you lose sleep over and you stay up late at night, like learning this stuff. And like I said dream, like dreaming about it like this is these are my dream students. For me. These are the people who I see succeed. I want you to go and apply. Because I'm very confident that within six months, we can be having a conversation about getting you a job and having you placed maybe within the next month or two. So total from start to finish. Maybe eight months. You're working in a job as a software engineer, okay? I don't say that lightly.
50:00
There are some people who say that they say, oh, you know, learn to code in three weeks and get a job. And you know, that's highly unlikely. I've been doing this for years now I know the pain and struggles that go into learning this stuff.
50:13
Those people are people who, you know, someone who could do it in a couple months or something, they have a lot of pre existing knowledge, a lot of training, they probably already have a degree. And we're right on the cusp of getting a job anyway, those are the people who could do it in a couple months, when you're fairly new to this and don't have much experience. If you know the basics. It takes a good six, it probably takes more than six months, but I try my best to cram as much as I can into six months. But yeah, if you have the drive, if you have the interest, and you've been sticking in there, and you've been learning this stuff and dreaming about it, I want to talk to you go to coderscampus.com/bootcamp and apply.
50:50
I think I could change your life. Okay, I mean that. Now, if you are someone who this is like, you know, you've been thinking about it for a month, maybe you've been working at it for a month or two. And you're like, oh, you know, this coding thing sounds interesting. And like, I probably you're probably still too too soon on the journey. If you have no experience at all. Yeah, you're way too soon, you know, you have to sign up for you know, listen to the rest of this podcast a few times or something, then maybe not a few times, but listen to the rest of this podcast before you apply. If you've been at it for a month or two,
51:22
you might still be too it might still be too soon for you. Unless you are unless you just have a gift. Some people are just gifted. Some people I've seen, they've been at it for a couple months, and they just get it and it clicks. And but those people are pretty rare. If you if you self identify as a very smart person, yeah, maybe after a couple months, you can apply and do well, we'll see. Either way I want to talk to you. And this is how we get to talk to each other, you can book a call to speak with me or one of my admissions advisors. And we can figure out if you're a good fit for the boot camp, right. And vice versa, if the boot camp is a good fit for you, okay, we have financing options now, so that you don't have to pay for the boot camp. Before you do it. I would highly recommend you do because you need skin in the game. But there are ways to get to the point where you can literally pay nothing. Now you need to be a US citizen and you need to have good credit and blah, blah, blah. But yeah, you can get to the point where you can literally put nothing down and take out the loan, do the whole bootcamp and then you don't start paying until after the boot camp after you've graduated. It's possible, right? You can do that. We have income share agreements, where Yeah, I'm sure if you haven't heard of income share agreements already. There, they're a little bit more convoluted than a loan. But essentially, you pay a deposit upfront, not the whole thing, maybe 20% upfront. And the rest, you don't have to pay until after the boot camp after you've graduated. And after you have employment, making a certain amount per year, etc, etc. And you pay a small percentage of your salary back to pay off the boot camp anyway, that's what an income share agreement is all about. Again, these are ways to get you in if you can't afford the tuition. Currently, as of the recording of this, the tuition is 9800 US dollars, it's a lot of money, I get it. But this is an investment. And if you are someone who looks at 90 $100, and says there's no way I will ever pay anyone that kind of money
53:16
to get what I want in terms of my dream, in terms of a job that's going to pay me many, many, many, many times that amount that you're investing, if you're someone who's making $30,000 a year, $40,000 a year or $50,000 a year right now, if you're making $50,000 or less per year, maybe even 60, less 60,000 or less per year, you will make back the $10,000 within one year, and then nothing but profit afterwards. Anyway.
53:49
That's me getting on my high horse getting upset with people saying I'm not gonna pay you $9,800 Are you crazy, that's now I'm going to go do an online course well then go do an online course. Go pay $10 for something. I just know, I've been doing this for 10 years. And I know what it takes to become a successful self taught developer with a with putting practically no money as an investment into yourself. I know how hard it is and what it's like you have to be in the top 5% of human beings to get to the point where you can pull that off. Okay. And even then you might not do it in six months or less, you'll you might it might take you a year or two. And then you might as well have just done the bootcamp because it will literally be cheaper anyway. So this is going way longer than I anticipated. Apparently I have a lot to talk about. So the bootcamp is here for you. The bootcamp is a perfect fit. If you're dying to get into the tech world and you want to be a coder and you want to have me there beside you as a mentor to guide you. You want to have daily calls with me. You want to have slack access to me and my staff. You want to get code reviews, you want to get a job guarantee. You want to achieve the goal that you're setting
55:00
To achieve, which is you're learning how to code so that, probably so that you can get a job date, most of my listeners are in that position, if you already have a job as a coder great. Some people I've spoken to just want to level up their skills, they're stuck in like Java five world and they want to level up like Java 11. Plus, sometimes there's a good fit with those people. But most of the people who I who are interested in in learning and learning from me right now are doing so because they want to get a job. So if you want to get a job, I have a tried and true predictable curriculum, syllabus, whatever you want to call it, and path that you can follow along with me.
55:39
And learn from me in all of the ways that you might be missing right now. Because there's a lot more than just learning this stuff. There's so much emotional support around, there's so much extra that's needed, at certain points of your learning journey, that you just don't get outside of a boot camp. You don't get that support. You don't get that shoulder to lean on and cry on when you are so frustrated with some random thing about coding that is just not clicking for you.
56:09
Right, that's what you get in these boot camps. So there's a lot there's a lot to the tuition. There's a lot to the whole program, and I'm very proud of it. And I would love for you to apply if you haven't already. So coderscampus.com/bootcamp, we'll get you in the door. Boot Camp is all one word BOTC a MP. Hopefully I'll see you applying soon. And I look forward to talking back at you in the next episode when we'll dive into the rest of this fun, functional interface stuff. So take care of yourself. Happy learning. And bye for now. Thanks for listening to this episode of the coders campus podcast. But before you go, Trevor has a favorite ask you. In order to keep these episodes free, he'd love for you to leave a rating and review the podcast on iTunes. Just go to coders campus.com/review to leave your own rating and review of the show. So if you have 30 seconds to spare right now, please help out by leaving a rating and review via coders campus.com/review It will ensure that you continue to get these awesome free podcast episodes each and every week. So if you like free swag, head on over to coders campus.com/review Happy Learning
Transcribed by https://otter.ai
The post EP51 – Let’s Talk Lambdas in Java appeared first on Coders Campus.
57:31
EP50 – Key #3 of 3 to Getting a Job as a Coder
Episode in
Coders Campus Podcast
In this episode we'll talk about the 3rd key to getting a job as a coder…
How do you stand out from the crowd?
You put in all this effort to learn how to code. You likely have a plan, you follow a curriculum, you seek help and learn. You practice and you struggle… but what about when it comes time to find a job?
Do you have a plan for finding a job other than: “I'll apply to a bunch of openings and make sure my resume is great!”
Most people don't. Let's talk about that.
Episode Transcript
All right, my fellow coders. Welcome to this next episode of the podcast. Thanks so much for joining me, as always. And today, we will be diving into as I'm sure you're well aware by now, the third key the third sort of secret that will allow you to unlock your future career, if you will. This is the the holy grail of, you know, achieving your goal of ultimately becoming a full stack paid web application developer, right? Well, we'll see what we'll get into the third sort of key that I talked about, that's important to know about to to achieve your goal of getting a job. So before I dive into the key itself, I want to sort of talk a little bit about, let's call him James, this is a real story. The names of three people have been changed to protect their identity, no, I just haven't reached out to James to officially get his permission to share his story. I'm sure he would be fine with me sharing it, I just am apparently not only a lazy coder, but a lazy podcaster. So I never reached out. So I won't give his last name, but I'll call him James.
So this story might be one that resonates with you, you might have one a story similar to this one. But if not, then just know this story is very common. it's by no means specific to James, but James was actually fresh out of university. So he got a college degree. He was you know, super, super proud, super happy that he had done it. But as time went forward, as he was, you know, further and further out, from his official graduation, from university, he could not get a job, let alone even getting a job interview. He was, you know, sort of living in his, you know, parent with his parents, maybe it was in the parents basement, who knows, but he was still living with his parents, and, you know, now in his sort of, you know, early to mid 20s, I guess it would have been sort of mid mid ish, 20s. And, you know, he's living with his parents, and he's tired of living with parents, he wants to, you know, begin the rest of his life, get out and get out there and get a job and, you know, get his own place and, and start to, you know, be a real adult, you know, get off of the parents pay roll and onto sort of his own. But he couldn't do it. He was he was struggling, he could not get a callback for an interview, and he was frustrated. And he didn't know how to solve this problem, right. Until one day, he stumbled upon a stranger on the internet. And the stranger on the internet was talking about this thing called boot camps. And lo and behold, he was sort of sold on the idea. So he, you know, talk to his parents about it. And his parents were a little bit skittish about the idea of, you know, you know, investing a bunch of money in a intuition again, in another program. But after, you know, I being the stranger that he found on the internet, after I spoke with his parents a little bit, I set their minds at ease. And I said, Look, you know, this is something that's very common, you know, students graduating from university still struggling to find a job and needing some extra help and guidance. And really, you know, everything that you've already heard me talking, talking about on this podcast, again, it's, it revolves around a couple things. One is a gap in their knowledge, not realizing that, you know, there's so much more that they don't know about, that they need to know in order to get a job as well as a bunch of other things. But I've talked about these already. I don't want to go into them again in detail. But he was struggling from this exact problem, and he needed some help. I spoke with him and his parents and convinced them that James should join the boot camp. Let's fast forward through the story of him being in the boot camp, obviously going through a boot camp is intensive. But six months later, he graduated from the boot camp, and he received his offer his first actual official job offer for you know, $60,000 starting salary as a Java developer for sort of an international company that has clients everywhere around the globe. And so yeah, it was a great job and he was completely he was actually unsure he thought it was a scam. This job offer he thought it was a scam. I had to set his mind at ease. I said, James, this is like, I've researched the company, job offer sounds, you know, right, right on it sounds very apropos or whatever very, you know, on par with what you know, is expected. Yeah, he had such a good thing in front of him that he couldn't even recognize it. And he was so hesitant to get excited about it. But ultimately, he accepted the job offer and started working at this place and is now as happy as could be so. And like I said, this story is, you know, this is James's story, but this is not a unique story. Okay, I've seen so many students now come through my doors, in this exact same spot, university graduate, can't get a job needs help need some guidance needs, the, the gaps in his knowledge filled or their gaps in their knowledge filled, as well as obviously some hints and tips and tricks and whatnot. But I want to dive into some of those tips and tricks right now, right? This, this sort of key number three that I want to dive into, is how you can achieve an unfair advantage. Okay, so this is all about the unfair advantage that you can get in today's marketplace. So it's how you can ensure that you actually stand out from the crowd, then ultimately increases increase your chances of actually landing that job because that's, that's what we're what we're doing this for, right, that's typically speaking, what everyone is learning how to code. For, that's why they want to do it. Sure. It's fun. Sure, it's cool. It's challenging you level up, it's a mind altering type thing, changes the way you think it's really a fun process. But hey, at the end of the day, we want to get paid, right? And that's what this is all about. So you got to make sure that how can you arm yourself with the greatest opportunities and tools to ultimately get that job. So it's all about the unfair advantage. So step one, and getting yourself an unfair advantage is you need to make sure that you are actually learning the right stuff. Okay, this is obviously not something that should come as a surprise to you. But oftentimes, even though you know this intrinsically, even though you know, this, you know, at your core that you Yeah, you need to learn the right stuff in order to get a job. People still get this, you know, look, squirrel type situation an activity, and they'll go off and get, you know, attracted to some shiny object. thing that's that's happening LIGO and learn a different technology that ultimately is not going to help them in the real world.
This also happens a lot in university, I spoke about this before, in university, you go a mile wide, on subjects, but an inch deep. So you don't you learn all you learn a little bit about a whole lot of topics. And that's just the wrong way to do it. You don't want to go a mile wide and an inch deep. You want to go a mile deep and an inch wide. If you know what I mean, right, you need to focus on teaching yourself the right stuff, and on teaching yourself exactly what it is that employers want you to know in the real world. Okay, I call this the five, the five pillars, I spoke about this already. But the five pillars of the front end the the thing that connects the front end to the server side, the server side, the thing that connects server side, the DB and the DB. Okay, DB being database. So you have the three pillars, the two pillars flanking each side, and the one of the middle front end server side database. And then the two pillars connecting those together, which is typically an MVC type framework, like model view controller connects the server side of the front end. And something like an ORM and a relational object relational mapping type thing, like hibernate or something like that, or JPA, more specific or more generically, that's a fourth pillar or the ORM layer that that that connects the server side to the to the database. So a front end connects to the server side with MVC, and server side connects the database with an O RM. So that those are sort of the five pillars, and you need to make sure that you are learning the right technologies in there. So this gives you an idea of how you can focus your knowledge, make sure that you are focusing on learning a server side language that's popular, make sure that you focus on learning, probably a relational database, those tend to be the most popular in the real world. Most jobs require you to learn a relational database. So yeah, make sure you're focusing on a popular server side language like Java, a popular database, relational database, like MySQL or something. And then make sure you're focusing on a good front end stuff, you know, HTML, CSS, maybe JavaScript in general, you can dive into a JavaScript framework as well, but I won't get into that here. But yeah, you have to make sure that you're learning the right stuff. That's step number one to gaining your unfair advantage. Step number two, to achieving your unfair advantage is and again, this doesn't come as a surprise. I've talked about this before creating a portfolio you need to make sure that you have a portfolio that in lieu of real world experience, you can lean on To show employers that you actually know how to code. Again, I've said this, but this is important to repeat. Employers want to hire people that know how to code. That is their incentive. That is their purpose. That is what they want. They want to hire people that just know how to code. Right? So how can you show them that you know how to code? The best way to do that is a portfolio, there's no better
way to demonstrate that you know, how to code other than showing them your code, right? That's a Z, that's the straight, you know, step, what does it Point A to Point B straight line, I want someone who knows how to code, here's the portfolio, right? I've even had some employers say, they won't even look at the resume. Okay, this is not all employers, but some employers will will just completely not even look at the resume, they'll just look for the you know, the GitHub profile or something, the the portfolio that's in the resume, they'll click on that. And then they don't even care about reading the resume, they, they don't care about your university degree. They don't care about your academic, you know, credentials, they don't care about your certifications, they don't care about even sometimes your past experience, if you have some, they don't care about any of that. They just want to see the code that you write. Okay, so this is why portfolios are so important. Now critical error here that a lot of people make, and I've spoken about this before they create a portfolio and proudly demonsaw are proudly broadcast it to the world, which is good. However, the broadcasting absolutely atrocious code without even realizing it. So this could lead to you not getting a callback, if you are broadcasting terrible code that is going to be shooting yourself in the foot foot in the foot, you're going to be shooting yourself in the foot. So you got to make sure that the code you're broadcasting to the world in your portfolio is actually solid code. How can you assure yourself that or assure that you have good code? Well, you need to make sure that you get it reviewed by an expert, how can you get it reviewed by an expert? Well, that comes built into the boot camp, we'll talk about that. But in lieu of a boot camp, you can obviously hire a professional coder, someone with at least minimum five years of real world experience, I would recommend 10. But anyway, five years should do have that experts review your code and make sure that it's good before you know, broadcast your portfolio to potential employers. So step one, learn the right stuff. Step two, create a portfolio and get it reviewed. Okay, these are probably things that you more or less already know about. But Step three is you need to build a network of connections, both in terms of peers, and employers. Okay, so you need to be able to build a network for yourself. You've heard this probably many times in school is it's all about your network, who you know, it's all about who you know, before you can get a job, right? You've heard this before. However, that might have been all you've heard, no one ever then follows up and says, Oh, and by the way, here's how you do that. Here's how you build the network. Here's how you meet the right people. Here's how you meet the right employers, you know, and you're kind of left on your own to figure this out. Right. So having a strong network is critical. It's so critical that this is actually how I got a job when I desperately needed one. I was working way back when as a you know, doing this teaching people how to code. Now again, I don't make a lot of money doing this, I don't make a lot of money teaching people how to code I can make far more money. Just exclusively working as a software developer. It's that's just it's a bit better pay. That's just the way it is. But I just love I love both. So I'm I'm called to do exactly what I'm doing right now. Which is teaching people how to code and impacting their lives and introducing them to this amazing salary. For you know, both a blessing and the curse in my situation is I'm called to teach people. It's a blessing because I love to do it and I love change people's lives. It's a curse, because it doesn't pay very well. But anyway, one day, I found myself in a situation where it was like, Okay, I need to pay my own bills here. I was exclusive exclusively working, you know, doing this, what I what it is that I'm doing, you know, teaching people how to code. And I was not doing any side gigs as a coder. And I had, you know, moved into a new house just had a baby. And you know, eventually hit the point where I was like, Oh, I need to make ends meet here. I need to make some some money. So I reached out to my network.
And within 24 hours, I had a job. Okay, within 24 hours, I think it was a Thursday, I reached out to my network. On a Friday, I had a phone call with a potential employer. We had a chat and then boom, they made me a job offer. I think on Monday, I started the job. Okay, so that that's even more crazy, right? I was offered a job in 24 hours. And then I started that job within whatever that is 72 hours or whatever. Yeah, within 100. You know, within three or four days, I was starting and working in that job and earning money. So that was entirely because, well, one because I'm a good coder, but two because of my network, okay, you can be the greatest coder in the world. If you have no network, you're still gonna struggle to get a job. Okay. So how do you build a network? Well, one way, again, shameless self promotion. One way is to join a boot camp, where you have peers that you're working with, that you're working alongside, I should say, learning alongside. And guess what, when one of your peers gets a job, as an entry level developer, the company that hired that person tends to be interested in hiring more people for the same position, just like the person that they that they just hired. So I see this all the time, right? One of my students gets a job at a company, and the company loves them. And then the company says, Hey, where can I find more people just like you. And then they say, well, I've got, you know, 20 other people in this boot camp that you can, you know, check out and that just tends to lead to more and more people. It's like a self fulfilling, what's the word, I'm looking for a positive feedback loop of people getting hired, right? That network just keeps building and building. So associating yourself with something like a boot camp, again, doesn't have to be mine, any boot camp that's worth their salt is going to have this sort of network effect built into their programs. It's this unfair advantage that someone like a college grad just won't have, right? A college grad will have their own peers. Yes. But I don't know. It's just the camaraderie that happens with these boot camps are, they just seem to be stronger than, than the college groups. And again, I can speak from real world experience because my college peers, none of them led me to getting my first job. My first job just, I didn't, we were all in the same boat, all my college peers were, couldn't get a job. So we couldn't really help each other out. So something like a boot camp circle, like that helps. Or just obviously, knowing, knowing other programmers who are already working in the, in the real world, just you know, knowing some coders in general is helpful. Right? So in lieu of boot camp, if you just can, can make friends with other coders in some way, shape, or form. I don't know, join a local programming enthusiast group. If there was a local one, or over, obviously, a virtual one, join some Facebook groups, or some discord channels, or something where coders are co mingling with each other, they're gathering, you know, join these groups, and schmooze a bit, right? Make friends try to be open and you know, don't jump right to the hay, who can get me a job in this group? No, you can't lead with Give me something, right. That's not how the world works. If someone just walked up to you on the street and said, Hey, give me something. You know, it's, it's tough for you to say, Sure. Here you go. Right. It's better to lead with what they call value, right? Give value first. So Introduce yourself, and then, you know, offer to help other people or, I don't know, share some tidbits and, you know, just try to make friends and, and, you know, be useful to that community. So if other people are asking questions, and you know the answer, answer those questions, right, be helpful and then ask for help in return. So hey, by the way, you know, I noticed that you're, you have a job already, can you you know, any tips or any tricks that you know, you can suggest that led you to getting a job, and then maybe organically that conversation will go towards the person saying, Oh, hey, you know, I think we have job openings at my you know, company or whatever. Maybe we can get you one or something who knows, right? It's a bit more of a there's a bit more work involved there a bit more of a roundabout way to get a job but it's it's a much more surefire way to getting a job then, you know, by building your network, other than just what we call the spray and pray, right, you spray your resume out all over, you apply to hundreds of jobs, and pray that someone calls you back, right? That's not a great strategy. I know I did that I can say with confidence that does not work. It feels like you're doing something that you feel like oh, I applied to three jobs today. You know, pat yourself on the back. That's great. That's it led to nothing It was it was just an entirely massive waste of time. So instead of spending time applying the job, spend time building your own network, okay? and forth. Step four, I should say is you know, on on the topic of applying to a bunch of jobs yourself.
You need to not do that heavy lifting yourself just like I said, Don't Don't spray and pray more or less let someone else do the spraying and praying for you so that they can work for you while you are sleeping to get you a job. Right? You you quote unquote hire someone to to be your personal marketer to be your personal Brand Ambassador to reach out to employers and say, Hey, let me let me tell you about this person who is amazing, you know, a great coder. He's got he's, he's passionate, he's got a great portfolio. You know, he's maybe done a boot camp, he's, you know, he or she, I should say, is exactly who you need to hire like. So you can hire someone like that, to do this on your behalf. And it's entirely free to you, you don't have to pay for the service. So this you might be saying, Wait, what I can have someone work for me for free, who goes out and and, and tells companies about how great I am and gets me a job for free? Yes, these people are called recruiters, right? Some some people have a negative connotation built into their mind about recruiters, although I don't know if an entry level coder would have this, this negative mindset, I have a bit of a not a negative mindset about recruiters. But for me who who has a lot of experience. under his belt, as a coder, I get hammered by recruiters all the time with messages begging for me to take a job or something that they have found. So recruiters are great. recruiters are amazing. I love recruiters. So but the point is, reach out to recruiters in your area if you're not already doing that. And and introduce yourself to some recruiters, right this is part of the building a network you can build a network of recruiters and let them do the heavy lifting for you. And they will go out and apply to jobs and introduce you to employers and essentially get you interviews. Right. So you might ask, Where can I find recruiters Well, obviously, you can do it through someone something like a boot camp. But if you want to do it on your own, you can go to you know, LinkedIn, and search just for the word like, you know, technical recruiter or something, and then look for ones in your area and just reach out to them and say, Hey, you know, my name is XYZ and I have some experience in these languages. And here's my portfolio, and I'm looking for, you know, an entry level job or something. So, yeah, that's sort of the, the approach that I would recommend for you. Again, to recap, that key number three there, it's it's your unfair advantage and how you can build yourself an unfair advantage. Give yourself a leg up from all the other competition, applying for entry level positions. So to recap, yeah, the first step is you got to learn the right stuff, right? seems obvious. But sometimes people get distracted and off track, and they learn stuff that they don't need to be learning, okay, so find a mentor, find someone who has a job or has achieved the goal that you want to achieve, and pick their brain and say, hey, I want to do exactly what you did to get to where you are right now. How do I do that? Right? What do I need to learn. So get them to tell you what you need to learn to unlock the success that they have unlocked. Again, boot camp anyway, step two, create a portfolio but not just create a portfolio for yourself to demonstrate that you are a good coder, have an expert review that portfolio, okay, it's a terrible portfolio is is not what you want to be broadcasting to the world, you want to broadcast a good portfolio. Step three is you got to build your own network. This is hard. It's not an overnight thing. It takes time. But the work that you put into building a network is invaluable. So again, find discord, you know, channels or groups that you can join and interact with, find local meetups or groups, either virtually or you know in person that you can go to and talk to fellow coders and interact with them, because you never know where your job is gonna come from. You want to you know, obviously, boot camps are a great way to have that network built into it. Or if you know, you can, you might even be able to reach out on LinkedIn to someone but I doubt that might be too difficult to reach out to a coder on LinkedIn. But hey, you might be able to do it. If there's a job that you are focusing in on, you know, you want this job, you can search on LinkedIn for people who work at that company. And maybe you can find one in your area. And maybe you can reach out to them on LinkedIn and say, Hey, you know, I love the company that you work for. I would love the opportunity to get a job there. Like do you have any any ideas are any advice that you can give to me? I don't know. Again, these are just I've never tried that before. But hey, it might work. Again, I would suggest leading with value. What can you do for that person? First before asking for something in return. Right? So I can't really think about something off top of my head that you could suggest.
But I don't know maybe it's going on taken out for coffee or picking their brain. People love to talk about themselves. Here's a good tip. I just thought of this in the moment. People love to talk about themselves. That's their, that's everyone's favorite subject. So maybe you could go on LinkedIn and say, Hey, I see that you're working for you know, company XYZ in you know my area. And I would love to work for this company. And I you know, since you're already working for this company, I'd love to buy you lunch and pick your brain. And sort of see what that company culture is like, and tell me about your you know, I'd love to learn about you and see sort of what you did to get a job there. And I don't know, again, try to frame it in such a way that, hey, I want to buy you something, I want to buy you lunch. That's the value. And at lunch, I would love for you to just talk about yourself, and talk about all the things that you did to get this job and you know, how are you so great? And how did you do that? I don't know, something like that. That might work. That might work. I've had that happen with me before, not in the in the scope of programming. I've never had a programmer, like an entry level programmer reached out to me and asked for help in that regard. But I have had other entrepreneurs reach out to me and say, Hey, Trevor, I saw you on, you know, this YouTube channel, or I heard you on this podcast, or bla bla bla bla. And I want to be where you are right now. But can I take you out to lunch and pick your brain? I said yes to that. I went out and had a lovely lunch and some drinks with an author, entrepreneur in my area. And we just chatted one evening, it was great. I loved it. I love chatting with new people and meeting new people. I'm a very extroverted type person. So I love chatting with people. So yeah, that worked. The gentleman was able to pick my brain for a bit, I got a free meal out of it, and I had a wonderful time. So that might work. There you go. The value in this podcast was just elevated, I went off script. And that might actually work for you. So there you go. Step four, leverage recruiters, right? Find a recruiter in your area. Again, LinkedIn will work here, you can reach out via LinkedIn, find a recruiter and get them to do the heavy lifting for you. So those are my sort of four steps to building an unfair advantage for yourself. And ultimately hope with the hopes of helping you get to get a job in the real world and launch your very successful career in the future. Again, you can do this all yourself, but in my opinion, the easiest, most effective both in terms of time and money. way to do this, and to achieve all of these things is to do it via a boot camp, right. I have talked extensively about why I believe boot camps are the most superior method of getting a job as a coder, I have beat that topic to death. All I will say is if you are still interested or haven't yet done, so you should check out our Bootcamp coderscampus.com/bootcamp.
Otherwise, you should check out any boot camp at all right, as long as they're a reputable boot camp. They've got good metrics and good numbers that they're tracking for, you know, placements, ultimately, the most important thing is that they have a good placement rate. But yeah, that's just, that's just the most effective way to do it. I've been doing this for over nine years now. There's just no better method. So check them out. boot camps are the way to go. They're the easiest in terms of you know, the provide you with the curriculum, they provide you with the mentorship, they provide you with the support, they provide you with the direction, the motivation, accountability, the support after all that stuff in terms of career support, and helping you to get ready for interviews and it's just the the value that you get inside of something like a boot camp is just it's it's unmatched when compared to anything else that I've seen in the marketplace. So check out the boot camps. I'd love it if you check out mine coderscampus.com/bootcamp, go through our admission process. I'd love to chat with you if you have some prior coding experience. And of course, if you have no prior coding experience and you're just starting out your journey, then hey, you can get started for free with our bootcamp prep course. So this is for people who have never coded before you can go to coderscampus.com/start to join that free bootcamp prep course and dip your toes in the waters to see if something like a boot camp might be good for you. But if you already have some experience, you've coded you know a few small applications with some simple you know, loops and if statements and that kind of thing. If you've done that already done some simple exercises, you probably are more or less ready for a boot camp so you can check it out and apply via coderscampus.com/bootcamp. Alright ladies, gentlemen, thank you so much for joining me yet again for this podcast episode. I love that I'm still doing these and I can't wait to see what we talk about next. Perhaps we'll we'll dive into more. We'll move away from the sort of, you know, feel good conversations and the motivation conversations and the tips and tricks and maybe dive back into some, you know, cold hard content in terms of coding related topics. So I know streams, Java, eight streams are a streams and lambdas more specifically, are a topic that is both popular and difficult for aspiring coders to grasp. So I might have some episodes in The future talking about some some streams and lambda stuff. So look forward to or keep an eye out for that content, which should be coming out to you in the relatively near future. So keep an eye out for that. Cool. So thank you take care of yourselves as always happy learning, and bye for now.
The post EP50 – Key #3 of 3 to Getting a Job as a Coder appeared first on Coders Campus.
31:03
EP49 – Top 3 mistakes coders make when applying to their first job
Episode in
Coders Campus Podcast
In this episode we'll talk about 3 big mistakes that aspiring coders make when trying to land their very first job.
Getting your first job as a coder will be the most difficult challenge when trying to launch your professional career, make sure you avoid these three mistakes:
Setting up your portfolio and NOT doing this…
Incorrectly utilizing certifications on your resume…
Getting a college degree and then…
Transcript
Trevor Page
Okay ladies and gentlemen fellow coders Welcome to now this is my third attempt, trying to record this episode, upgrading my, my hardware and my software to try to record these, these podcasts while I'm up for my walk, it's actually the afternoon now, instead of the morning. In any case, let's get into the content, so
Trevor Page
I've been doing this for a while now it's been, what, nine years over nine years that I've been teaching people how to code and I've myself professionally been coding for about 14 as of this point so in my, I guess almost decade of experience helping people learn how to code. There are similar stories that I hear, day in and day out time and time again. And that, that relates to essentially the struggles right so the topic I want to, you know, hone in on today is essentially the three most common mistakes that I see sort of beginner level programmers make when trying to get a job as a coder. So yeah, if you're in the position where you've got a little bit of code under your belt you feeling like you are more or less ready to hit the job scene, but are not receiving any callbacks for interviews, you might be falling into one of these three or maybe all these three categories. So listen up. The first sort of mistake I see is around people who, you know, this is in the best with best of intentions they get their portfolio set up, and with their portfolio set up they're feeling confident in that they are able to demonstrate their skills right they can show off their code and proudly display it to potential employers and say hey, look what I can do, and that's great, that is actually something you should be doing if you don't have a portfolio, and also have no experience as a coder, no professional experience. You need to be, you need to be creating a portfolio, this is mandatory. Otherwise, for sure you're not gonna get any callbacks, but I'm gonna assume that you have some sort of portfolio and by that I mean you have at least one big project that really demonstrates, more or less all the aspects of your skill set, right and more or less demonstrates, all of your strengths as a coder. Now here's the mistake people fall into. They have these, these portfolios, and they proudly display their portfolio. And the problem is that what they're displaying is horrible, Horrible code, and they have no idea that's horrible code because they just literally don't know any better. You know, this is a problem of you don't know what you don't know. Yeah, you probably don't realize that your code is awful and actually it's probably expected that your code is going to be awful if you haven't worked in the real world professionally right. If all you have is a college degree or you've been more or less self taught, you might not have learned everything you need to know to write good code. But there is a solution, no worries, I'm getting to it, but the symptoms of this problem are a little bit deceiving because essentially the symptom of the problem is you're applying to lots of jobs, and you're hearing nothing back about interview potential right you're not getting any calls for any interviews. All right. Now if you aren't getting calls and you are being invited for interviews and then still not getting a job well that's a different problem right. Your portfolio is most likely not the problem. Your resume is most likely not the problem, it's probably your interviewing skills. So these are the people are for the people who can't get the interview. So the symptom is you're not getting any any callbacks, right you applied to 100 jobs, 200 jobs, 300 jobs, and your phone is just not ringing. So, it's deceiving here because it's like, Well what's wrong, it might not qualify and am I applying to the wrong jobs. What's, what is wrong with this situation. Why is no one calling me back, right, and, and this is often the case, you have no experience, and therefore since you have no experience, the employers have to fall back on. Looking at your portfolio or some other means of trying to, to determine without seeing you in person. If you're any good as a coder. Okay. So, in lieu of real world experience they're going to look at things like your portfolio. And if your portfolio, they, you know, flip through it. It's very easy as a senior level programmer to flip through someone's code quickly and make a quick decision within 60 seconds. You make a decision as to whether or not this person is a decent coder or not decent for, you know, respective for the level that you're applying for. So you know, a decent junior level coder is going to have a different criteria than a decent senior level coder. But in any case, that decision can be made very quickly, and if you haven't taken the steps to put your best foot forward here. You can easily get disqualified and thrown thrown into the no pile and then you never hear from any employer ever again. Right. So,
Trevor Page
yeah, this is a doozy. So, how, how do you know if you've fallen victim to this. Well, there's no way to know for sure until you hire someone to look at your code for you hire someone who is a senior level programmer with more than five or 10 years of experience, have them look at your code. Okay, now you had to hire someone who is you know, whatever language you wrote the code in they'd obviously have to have experience in that language. That would be the best fit. But you'd hire someone to do it now if you don't know how to hire someone to do that. You, there's places you can go right there's like, There's a website called up work up as in the arrow up and work as in working. So, up, work.com will allow you to sort of post a job opening or a temporary job or whatever like a one time job and say hey, looking to pay a senior level programmer to review my code, right, a senior level coder, can probably take you know if it's a decently, you know, large size project for a portfolio project, you know, it might take a few hours of senior level programmers time, so like maybe a couple 100 bucks, but this is a couple $100 That is very, very well spent because you are going to return on that it's gonna be great if you just get one job, right, the ROI the return on investment for $200. You know, just for the peace of mind of knowing that this is not the problem like my code has been reviewed by a professional. I can feel good about this right. Another opportunity, again, shameless self promotion here. This is something that we just do inside of the boot camp. So for every assignment you do in the in the boot camp and for every Final Project, this the final project is what you would display in your portfolio for every final project, you will get a code review as well. So that's just built into the boot camp, you're going to get a professional with, you know, X number of years least whatever four or five years of experience, looking at your code, and making sure that it's good writing and making sure that you're putting your best foot forward. So yeah, if you're looking to not only just get a job but also you know, improve your skills in general, feel more confident as a coder, fill in any gaps you might have in your knowledge that kind of thing yeah boot camp might be a good fit for
Trevor Page
you. Again coderscampus.com/bootcamp to check that out, shameless self promotion over. Okay, so next most common thing, or problem that I see, sort of, you know, junior level programmers make when they're trying to get their first job is with respect to the resume. So again these things are done with the best of intentions, and we don't realize again we don't know what we don't know we don't realize that they are harming our chances of getting a job which is really unfortunate. Which is why I'm here and talking about it right now. So, if you are someone who again has no experience in the real world as a coder,
Trevor Page
then you might fall victim to something that again feels right, you know in your gut, this might feel like a really good decision. But in actuality it's a, it's a bad decision and that is one of certifications, so pursuing certifications, and putting them on your resume is not, is for whatever reason, not a good thing. So if a recruiter or a hiring manager looks at your resume, and they see a list of certifications, you know, at the bottom or wherever you know in your Awards and achievements section or whatever, they see a bunch of certifications listed. They actually throw out your resume, that's a red flag for, you know, hiring managers in general. They don't like to see that, and it is a disqualifying factor when it comes to people's resumes. Again, this came as a surprise to me, I didn't find this out until I was actually interviewing hiring managers, myself and just sort of asking the questions to help my students out in terms of getting jobs. So it was a complete it, you know, came out of left field for me, because again you would think that going and doing the work and paying money and putting in effort to get a certification in the language that you know whatever company is hiring for. You would think that would be a good thing. But I guess what what's happened is that having a bunch of certifications listed on your resume is an indicator for someone who's struggling to find employment. Typically speaking, if someone has employment, or does not have a problem getting a job. They don't need to go out and get a bunch of certifications, unless, unless they are being forced to write and let not finally use the word forced, but unless the employer is asking the employee to go and take a time and do this certification, you're probably, you know, you probably wouldn't do it, you probably wouldn't spend your time trying to get a certification. So generally speaking, this is seen as a red flag. And like I said there's some correlation or causation or whatever, that hiring managers have found between getting certifications, and being a good employee for whatever reason. So if you're struggling to get a job. Try to not put a bunch of certifications on your resume doesn't mean you should put none, I would say pick one that you're most proud of. Take whatever one that you spent the most time and effort to achieve, put that one on your resume. Okay, that one's okay you can have one in there that should not look bad on you.
Trevor Page
So examples of, okay, certifications to put on your resume again, maybe a maximum of one, I would say, again, pursue what your own risk if you put two, again I would only pick one personally speaking, if I were you. One is the way to go, but a good example of one that you couldn't put is if you pursued. Some of the industry standard certifications like the Oracle Certified Associate or Oracle Certified programmer if you're looking for a Java position, that is sort of a well known and somewhat respected type of certification to have on your resume. I'm not saying to go out and get that if you don't have it, that's not what I'm saying Don't misinterpret what I'm saying, if you do not have that certification. I don't recommend going out and seeking actively seeking an Oracle certification. But if you already have it if you've already invested the time and the money and you've passed and you had the certificate certification. Fine, you can put that one and only one on your resume. Another one that does make sense it passes the gut check which is something like a boot camp right at boot camp. It's, it's, they are well known in the industry and a lot of employers do look positively on a potential student or potential sorry employee who has a boot camp, you know, a certification or whatever. So if they've gone through a boot camp, that tends to increase your chances over someone who has no education. Okay, so fine you can put that as an achievement and put that on your resume. Outside of that, outside of any super popular industry standard certificates or, you know, big boot camps that you've taken a lot of time and effort and put into you know into display on your resume, outside of those two to two things I wouldn't recommend putting a certification example of a bad certification to put, it's like a Udemy course, like oh hey I completed, you know Udemy gives you these digital certificates when you complete a course, don't, don't put that on your resume. That just looks cheesy, it just looks like hey I paid $7 And, and maybe just, you know, click the few buttons and then magically I said you know I complete everything and then. And you know I didn't even take the course but I got this piece of digital, you know, certificate paper that it just don't do that, don't, don't put it that's not impressive. That doesn't that doesn't take months and months of work and lots of time and money to unlock a Udemy certificate, or the like, write those, that's a good example of one not to put on your resume.
Trevor Page
All right, so moving on now last but not least, the third most common issue I see in programmers who are trying to get their first job is someone who just graduated with a degree in a related programming field, you know, computer science, computer engineering. I don't know, mechanical engineering, whatever the degree is that, you know, relates to the IT industry in general. So people who more or less are about to graduate or have already recently graduated. If this is you pay attention. People who get it and I'm guilty of this myself so this this comes from. Hopefully, a place of I learned the hard way so that you don't have to. So don't take this the wrong way. If you're, if you have a degree or about to unlock a degree in computer, you know programming field. It's not enough. You can't rely on that solely to get a job. That might have been the case. A long time ago. It was not the case when I graduated in 2006. Okay, I graduated with a computer science degree in 2006 and still could not get a job. Okay, my first job that I got out of University with a degree was something called the forms analyst, you might have heard me talk about this before. I worked for an insurance agency as a forms analyst, which had practically nothing at all to do with programming. It was a job that was not fulfilling, and did not in any way shape or form, flex my programming muscles if you will, my intellectual coding muscles, and it was literally what I called paying my dues I had to pay my dues in that company working this job that I essentially was overqualified for because I couldn't get a job as a programmer anywhere I'd applied to hundreds of jobs for months and months and I think for like six, it was six months I spent applying for jobs. And ironically, the job I ended up getting this one as a forms analyst was not one that I had applied for obviously I wasn't gonna apply for a job that had no programming in it. But I just gave up and said you know what, I'll take it, because that company that insurance company had a Java development team right there was a software team doing Java that, you know, I could potentially move into I could do a lateral move or whatever within the company, but I had to pay my dues in the job I did not like as a Forum's analyst for a year before I finally was able to get an interview for a job as a Java programmer at that same company. And even then, I pretty much flunked to the interview but they, they, they gave me the job anyway because they felt bad for me, so. So, university degree. If you graduated great congratulations, it is a big achievement. I'm very proud of you. I felt great when I did it it felt like this amazing sense of accomplishment and this prestige and it's like oh my god I did it. But the real world is a bit of a, well, it's, it is a, it's tough because it meant nothing. It did not help me get my job ultimately and helped me launch my career, I essentially was able to unlock that job because I was just a good worker in general, not because I had a degree. So, don't rest on your laurels there don't just think, Oh, I know I have a degree therefore, I'm better than 70 or 80% of the other people and I'm just going to get a job, based on that alone, it wasn't true in 2006, it wasn't true in, you know 2016 When one of my friends went through the same process, and hit the same wall, getting a degree, and then still not being able to get a job as a coder. And it's not true. Now, you know this year for any of the computer programmers that have come through my doors. Almost half of my bootcamp students who are actively in my boot camp enrolled in it and taking the going through lectures and everything in the boot camp, almost half of them are have degrees in a related field. As a computer you know computer programming, computer science, computer engineering whatever like they have a degree as a programmer, and they are still in my boot camp so it just goes to show,
Trevor Page
it's not the solution. It's not the be all and end all there's more work that needs to be done there. Obviously again self promotion blah blah blah you know the idea you can join a boot camp. And that greatly increases your chances of getting a job because that's what bootcamps are focused on, but that's not the only answer right. It just means that you have to do more to stand out from the crowd to prove to employers that you know how to code. That's all employers want at the end of the day. At the end of the day employers just want to hire people who know how to code. And the story. The problem with the university and the reason why university graduates aren't being hired left right and center is because the university curriculum teaches you a little bit about a lot of things. And that's not helpful in the real world. If you learn 10% of a programming language. Okay, versus someone else who's gone through a bootcamp who's learned 90% of that same programming language. Who do you think is gonna get the job. right, is there going to be the person who knows 10% of Java and 10% of C++ and 15% of C sharp and 20% of JavaScript and 10% of assembly language and blah blah but you get you get my drift right and 10% of astronomy and 20% of microeconomics and all these other electives that don't have anything to do with computer science,
Trevor Page
or
Trevor Page
the person who just knows 90% of the Java language. If the job that they're hiring for is a Java programmer, guess who wins. Is it the person with the fancy degree with four years of, of, you know, hard work under their belt. And, you know, 10s of 1000s of dollars spent, or is it the person who has the exact knowledge that the employer needs, you know, whose, if you were an employer who would you pick, not to, you know, throw shade at universities. Again, I have a degree myself I went through the process, the greatest years of my life I tribute to university, but in terms of real world skills, real World, I should say professional skills. You know University unfortunately did very little for me, because I learned a little bit about a great deal of things. And the majority of those great deal of things that I learned a little bit about, I never ever used in my entire career. So it's really, it's just a shame that that's the default path, that a lot of people are thrust into. And if you're in that doing that path right now, and this message is hitting you now, and you're feeling uneasy about the fact that I'm saying this. I'm sorry. Again, great experience, hopefully you're having a lot of fun in university again it's a wonderful social experiment. Hopefully you are growing very much as a human being in general. Just don't rest on the, you know, the education in terms of the academic education that you're getting, because you can't rest on that because others, pursuing other means of education might have an upper hand on you. So that might be a hard pill to swallow for some but yeah I comment, I say this with, with the best of intentions for you so anyway let's recap. So
Trevor Page
the three common mistakes that you need to avoid if you're trying to get your first job as a coder. Mistake number one is you want to avoid having a beautiful portfolio prominently displayed with awful code. Okay, you need to get that code reviewed, either you hire someone from upwork.com to review your code, who's a senior level coder, like, you know, don't spare. Don't spare any expense here this is an important step in the process, pony up the cash, it's worth it. It's an investment, it's not a cost, it's an investment. And it is worth it. Every penny to hire a professional to look at your code and give you the feedback that you need to make it look good. Okay, or obviously join a boot camp, we'll talk more about that at length in just a moment. Number two is don't litter your resume with certifications especially meaningless, certifications, aka Udemy course completion certifications or something any course generic course completion certifications, don't do it. Pick your best pick your one probably display one on your resume. Okay. Third, as I just ended, or justice spoke about is yeah if you're a university grad or about to be a grad, you're not done, there's still more work to be done, you need to gain more skills related to the job that you are actively going to be trying to get. So, whatever language you're most interested in whatever language you're most comfortable with, maybe double down on that one, but also do a Google search or whatever, indeed search to see the job availabilities for entry level jobs. Generally speaking you want to pick one that that you know has a healthy amount of job jobs available for the language right. Don't pick a language that has like five job postings in your area. Okay. It tends to be, again, I'm speaking in generalities here. Python and Java tend to be the two most dominant languages. When it comes to job availability, at least from what I've seen. Obviously I'm a Java guy so you know take that for what it's worth, but, Java, you know, served me well for the last 14 years of my career. It has led to a very beautiful lifestyle that I'm absolutely blessed and absolutely spoiled, to have. It's crazy in a way. So yeah that's what I would say in terms of the work that you need to do as a grad, it's not done, you need to now dive deep into a language that will open up the most doors as possible for your future career. Now how do you do that, this is where I transitioned into the sponsor portion of this episode which is, yeah, boot camps, right, so obviously I have a boot camp I've been running in boot camps since 2019 now, and I've had a lot of success in both training people with the Java language in the Java stack to be a full stack web application developer, which means you can create web applications using HTML, CSS, JavaScript for the front end, as well as Java on the back end and database, and all the technologies all the Java frameworks to connect everything together. So it's a very well rounded education that you receive. We go deep right we go deep into the Java language, because once you know, one, you know, object oriented language. One popular object or language. It's not too difficult to be able to learn any other one on your own, relatively quickly. So once you know one really really well and you feel very confident with one you've gone deep. It's not hard to go to another one. Okay. So I focus on Java because Java, tends to be a bit harder to learn than most and that's a good thing because if you're doing a boot camp. And you have someone, a mentor, like myself, to guide you and help answer your questions and get you unstuck. It's great to have that as a resource when learning a harder language, like the Java language when compared to something like Python right. Python is, is, you know, popular because it's fairly easy to pick it up. I'm not gonna say it's easy, no known programming language is easy, easy to learn. But Python, relatively speaking to other languages, tends to be easier. However, going from Python to another language if needed, is actually a bit difficult because there's a lot of additional stuff that you're going to hit a lot of additional concepts and you can be like wait what I don't understand this. I never learned this, this isn't in Python. Whereas when you learn Java, a lot of that stuff. If not, you know, all of it is transferable to other languages. So that's why I say arm yourself with a mentor. I would highly recommend boot camps, as I've talked about in past episodes, boot camps are just the most effective means in terms of getting yourself from where you are now, to becoming job ready.
Trevor Page
Right. Boot camp and I might say the most effective I mean most effective in terms of least amount of time and effort at Washington State effort least amount of time and cost, right, because there's cost to doing it on your own, without any help from any professionals that cost comes from lost opportunity costs, there's my microeconomics or macro economics coming into play, maybe University isn't as useless as I say it is. Yeah, last opportunity cost of learning on your own. If it takes you two years to finally get to the point on your own, without spending any money as it could have taken you know, six months at a boot camp, you know, that's, a year and a half earlier that you could have been earning a higher income and thus, it's more costly to learn on your own. And it's especially more costly to do it via the education, formal education system like a university or college. I'm sorry. It's hard to say again if you're in there. It's a tough pill to swallow, but that is the real world for you folks. So, boot camps, again, obviously we'd love to have you consider my boot camp coderscampus.com/bootcamp. But as I always say, All I care about in my business, is that you get a job as a coder. So whatever I can do to help you get from where you are now, to working as a professional, you know, entry level coder. I will do whatever I can do to help you to unlock that possibility. Okay, if that's through my boot camp, great. If it's through someone else's boot camp because it's a better fit for you, then great, I can make those suggestions I can point you in the direction of some very successful ones, if that's if that's what needs to happen. I have a lot of I have a lot of confidence in my own boot camp because I can control it, I'm the one who creates all the lectures, I'm the one who's hired all the staff, I'm the one who's, you know outlined the whole process and who obsesses over the metrics like, you know how many people are being employed. So, I have control over that and I have conviction to my own boot camp, I believe. It's obviously the best for you if you're listening to this podcast, but in case, boot camps are just the most effective way to ultimately become employed, like I said if you're a college student, a recent grad or going to graduate soon, you still could be a great fit, like I said, almost 50% of my students in the boot camp are in your shoes. If you're someone who's currently working in a job that sort of adjacent to programmers, such as a QA person, or a dev ops person, or I don't know a product, you know lead that works with programmers or whatever, if you're in sort of the field of software in some way shape or form, just not as a coder. You're also a good fit. I find that a fair number of my students match that profile as well. So if you're adjacent to programmers and work with programmers on more or less daily basis, and want to become a programmer, this is probably a good fit for you. The final sort of group that's not as great a fit, but still does fit is you're just in a completely unrelated field, and you're just tired of the job that you're doing, maybe it's, you know, hard physical labor and your body's giving out on you or you're just stuck in a job that is not fulfilling and you just feel like programming is calling you to learn it and to get a job as a coder if you feel pulled and called to do this kind of work to create things with code. If that just seems fascinating to you. And you've already started the journey, and really want to become a programmer, yeah, that you could definitely be a good fit for the bootcamp as well I would love to have a chat with you and talk about potentially getting into the boot camp so for all of those people, I welcome you to apply to the boot camp, you can do so via coderscampus.com/bootcamp, fill out an application form and book a call with us, so you can book a call with my admissions team, which currently admissions team is a fancy word to say me. I'm currently the admissions team but who knows the boot camp grows. I might have someone else that that takes care of the admissions process. But currently, the admissions team is me so you can book a call with me and we can have a chat and I can learn more about you. Learn more about your background in terms of your interest in coding what sort of skills you already have with coding, and just see if you'd be a good fit for the bootcamp itself. So I would love to invite you to apply, you can do so via coderscampus.com/bootcamp.
Trevor Page
To learn more about it. and if you are someone who has no experience in code whatsoever. If you've never written a line of code in your life, or you've never created a simple Hello World application, ever, you know, I would not, I would recommend that you don't go to the boot camp that's, um, that's not the right fit for you. It generally takes a little bit more work to get to the point where you're ready for something like a boot camp. And for those people. If that's you, don't worry, you can go to coderscampus.com/start. So if you go to coderscampus.com/start that allows you to get a free course is, I call it my bootcamp prep course. So it allows you to dip your toes in the waters of programming. Learn from me, get an idea of what the bootcamp would be like, do some assignments. Like I said, dip your toes in those waters and just see if, if you like it, because sometimes this is from you again I've been doing this a long time. Sometimes people who say that they want to be coders, but I've never coded before in their life. It's just something that they say, and it's not until they do the work inside of this free course that they realize, oh, this is definitely not for me. Okay, so I don't want you to, to waste a bunch of money and time in a boot camp if you know, or if you find out in the boot camp, this is not for you. Right, so I want you to get for free. So you can go check out coderscampus.com/start. Try it out for free dip your toes in those waters for free, and see if, see if you like this whole coding thing. Okay, but if you already crossed that threshold, I call it the great filter. If you've crossed that great filter and are sure that you like to code the whole process of learning and doing is fascinating to you and you've done it, and you're still wanting to do anything. Yes, I invite you to check out the boot camp coders camps.com forward slash boot camp. Having said that, I will stop talking about boot camps, I'm sure you're tired of hearing about it but I still love talking about it. I will go ahead and end this episode now.
Trevor Page
Hopefully if nothing else you've gotten a lot of value from these three common mistakes that coders make and hopefully you have left this episode with more knowledge and with more confidence in knowing where you're going next. So thank you so much for joining me. Thank you so much for listening and I can't wait to see you in the next episode, take care of yourself. Happy learning, and bye for now.
Transcribed by https://otter.ai
The post EP49 – Top 3 mistakes coders make when applying to their first job appeared first on Coders Campus.
35:48
EP48 – Top 3 reasons why you’ll fail to succeed as a coder and how to overcome them
Episode in
Coders Campus Podcast
In this episode we'll talk about 3 common issues I see that beginner programmers struggling with most when starting the journey of learning to code.
Impostor Syndrome
The overwhelming number of choices
Thinking that struggling is a bad thing (and then quitting because of it)
Show Transcript
0:09
Welcome to the coders campus Podcast, where you'll learn how to code from one of the best teachers in the industry. Whether you're an absolute beginner or a seasoned pro, the coders campus podcast will teach you what you need to know, to master the art of programming.
0:24
And now, your host, Trevor Page.
0:28
All right, so fellow coder, welcome back to joining me on my morning walks. Once again, it's a bit rainy out today at least really cloudy. Hopefully, I don't get rained on but yeah, today I want to talk about a couple of subjects related to sort of some common issues that I have seen in my days teaching people how to code, right. So, you know, these issues may not affect you directly. They might not affect you right now, but they will later or they may have affected you in the past. Who knows, right? So these are just very common things that I see from pretty much any old programmer who's you know, come through my doors, so to speak. The first one is really the most common one, which is this concept of imposter syndrome. So this imposter syndrome will will sort of plague you, if you will,
1:20
in two aspects, in my opinion, the first area the first time, the first aspect where this imposter syndrome will affect you, is when you're getting close to that important miles milestone of being, you know, quote unquote, job ready. So if you are coming to the conclusion of your degree, so if you are getting a degree or a diploma, through college and you are almost ready to graduate, you're you might start to feel this and it comes up in the in the form of like, I don't think I'm really ready for a job, I don't feel ready for a job, why would anyone hire me? Right? Or if I was hired, I'm probably just gonna fail at my job, I'm probably just gonna get fired. Because blah, blah, blah, blah, blah. Right? So it's this negative mindset around someone who, you know, potentially has gone through years of a college program and who, you know, for all intents and purposes, should be well versed and well qualified for an entry level or junior position as a programmer, right? So why are you having these feelings, okay, that's the first instance where this whole thing comes up.
2:37
The second instance, where you might
2:41
experience this imposter syndrome is while you are taking a course with other people, so if you are directly in contact with other students, or if you're directly in contact with you know, peers, or some small group of people that you are learning with, as you are, you know, experiencing the journey of learning how to code, you may compare yourself to others. So you may look at
3:11
the the star in your, you know, the star player, if you will, the star coder in your classroom. So you may look to them and say, Oh, look at how well they are doing compared to how I am doing, you know, they have completed all these assignments or something, or they don't seem to struggle at all with any of these concepts. And it just seems like everything comes so naturally to them. And for me, I'm struggling, right, every concept, every new concept, every new assignments, every new, you know, small thing that I learned is this gigantic struggle in order for me to move forward. Right. But the main thing is, you might look at other people. And like I said, you compare yourself to other people. So this is so common. This is something that I again, I've been teaching this stuff now for over nine years.
4:03
I see it all the time, I experienced it myself, when I was sort of, you know, getting started. It actually didn't hit me until a bit later in my career. It wasn't until I was hired, as an intermediate level developer, that I really started to feel this sort of imposter syndrome. So thankfully, with my throughout my university career, if you will. And my
4:28
first job where I was a sort of a junior level coder, it didn't really, I didn't really think of it. I never really compared myself much to other people. And so I was I was lucky in that regard. It didn't really affect me. But I got a job as an intermediate developer. And I had had a pretty much exactly one year of experience, one year of on the job, real world experience. And that is you know, to go from, you know, one year of
5:00
experience to an intermediate level developer, it's that's kind of like the soonest that you can make it happen. That's sort of the earliest in your career that you can make that move. So
5:12
I started to think well, am I really cut out to be an intermediate developer? So that's where that sort of, you know, ramped up for me, I believed clearly that I was good enough to be a junior developer, I believed with, you know, all my mind that I was cut out to be a junior developer.
5:32
But yeah, that one little step up that one pay, raise that new title, if you will, threw me for a bit of a loop. And I started to feel like, Oh, am I worth it? Am I good enough? Am I you know, am I gonna get fired, you know, so that's sort of where it kicked in for me. So it, you know, your mileage may vary, you can experience this at any point in your career. And I'm sure there are people who don't experience it until they are hired as like a senior level developer or something. So the most important takeaway here is probably a few things. But one, don't compare yourself to other people. It, it literally does you absolutely no good whatsoever, there's no advantage to it.
6:15
It's full of disadvantages, right? You are, you know, only most likely going to feel not great about yourself. Because if you are literally not the number one person
6:27
in your class, or in your social group, or in your company, or whatever, right? If you're not literally the number one person, you're probably going to have some sort of negative feelings about comparing yourself and even then, even if you're the number one person at your company, there's always someone else in the world that you can, that you will consider to be better than you. Right. And this is obviously not just about programming, this is any, any field any person and this is a human psychology thing. This is just how human beings function. And it's unfortunate, because it literally does you no good to compare yourself. Okay, so the other people that you are perhaps comparing yourself to, they are in a completely different situation from you, they have potentially advantages that you don't have, they potentially have more time on their hands, they have more money to back them, they have less stress they have like, who knows, right? Or maybe they were just blessed with a big brain who knows, like this is it's possible it's not. But that's not in your control, you can't control how well or not well, other people do on their journey. And if you can't control it, it's there's no, you are absolutely just wasting your time. And really, it's self sabotage, you're just sabotaging yourself and your potential progress and your potential success by comparing yourself to others. So I don't know, you probably have heard this, you know, talk before from someone about how it's useless to compare yourself to others. But anyway, human psychology, it's hard to suppress it, it's easy for me to say, Oh, just don't do it. But all I can say what I can say is, if you do do it, you're very normal. It's you're just like, so many other students that I had that I've taught, okay. So my best advice is, obviously, try not to do that. Try not to compare yourself to others. But if you do start to feel like Oh, look at these people who I'm around who are so much smarter than me, try to reframe it in terms of a positive, right? So the negative would be look at these people are smarter than me, I'm never going to make it, I'm never gonna be as good as them. Blah, blah, blah, blah, blah, right? That's the negative way to think about it. to flip it around, you can say, Oh, look at this person, who is further along in the timeline than I am in terms of learning. Right, they probably just been doing it longer than you have, right in terms of hours practiced. So they're further along than I am. So now I can reach out to them and say, Hey, I'm struggling with XYZ concept. Can you help me out? Right. So use it as an advantage, use it as a way and a means to further yourself in your education.
9:12
And that's, that's literally what I do whenever the other analogy I use is,
9:17
I never want to be the smartest person in a room. Right? If I'm the smartest person in the room, it feels good for your ego. Like oh, look at me, everyone's asking me questions, and I'm able to answer all these questions. And, and you know, this is it feels great. I must be this important person. But really, there's no benefit for that person. If you were the smartest person in the room, you're not getting anything out of it other than stroking your own ego, right? Everyone else has been at benefiting and growing, whereas you probably are not. Right. So think of it like that think they are the smartest person in the room in that case in this hypothetical situation, and you are then able to leverage their knowledge and make yourself better while
10:00
They are just stroking their ego. So you never want to be the smartest person in the room, I've been there before. It's not helpful, it doesn't really, you don't grow, everyone else does. So that's the whole comparing yourself to other people and that imposter syndrome. Now, in terms of in terms of the other side of the fence of the imposter syndrome that strikes when you sort of hit a milestone or something, like I said, you get hired for your first job, or you get promoted, something like that.
10:30
You know, basically what I did was he just asked a lot of questions. Right? If you feel like you're, you should know, something that you don't ask, ask someone who you deem further along on the timeline than you are someone like someone senior to you. And just say, like, Hey, is it is it expected that I know this stuff. And if it is, then you can say, cool, I can go out and learn it, right? It's there's always a path forward, there's always a way that you can fill the gaps in your knowledge.
11:00
And I don't know that this might be a common misconception, that programmers who are like senior level programmers or something, they know it all, they're able to do it all, it is absolutely effortless for them. And they never struggle. And they can just, you know, Sprint, from the start of a project all the way to the end and laugh the whole way and feel great. Like, it's, that's just not, that's not the real world. That's not what Like I said, I have fought I have 14 years of experience coding. I'm still googling stuff, I'm still going to stack overflow myself, I'm still asking other people questions, I still get stuck, I still struggle, you know, it's, it's just part of the process. It's part of software development, okay, as a human being, I cannot know it all. Okay, now me teaching this stuff is, is a bit of a hack for me. Because when you teach something, there's just no better way to learn something than to teach it. So me being a teacher of this stuff really helped me to understand everything at a far deeper level. So, you know, that's one little hack is, Hey, can you try to teach the stuff that you've learned to someone else who is earlier on the timeline than you are? Right? If you are further along in the timeline than someone else's, and they are looking to you, and they're saying, Oh, my God, look at this person, I'm never gonna be as good as they are. Than, hey, there you go. That's the reverse imposter syndrome, if you will. So lovers that try to be the teacher for them, because it's only going to help you in terms of
12:36
where you are right now. So, yeah, once you get
12:42
on the job, just know that
12:47
no programmer knows at all. Okay, every programmer has had to learn it has had to struggle has had to has hit a point where they're like, Oh, I don't understand this, I need to go and learn it myself. Every programmer does that. So you are never expected to know it all. And you are very much expected to be able to teach it to yourself. So that's really in my opinion, there's, well, there's a few things. But in my opinion, that's what separates a senior programmer from like a junior one is a senior programmer can go off on their own, get to a point where they're stuck. And they're like, Oh, I don't understand something. And then they're able to go off and teach themselves with very little help from others. The thing that they're stuck on, they can teach it to themselves, whether it's a framework, or you know, a bug, or they're just able to figure it out on their own, and then make progress eventually. Right, that's what makes a senior programmer, a senior programmer, very little supervision. Junior programmers are not expected to behave like that Junior programmers. If this is your first job. As a coder, you are not going to be expected to be able to figure it out all on your own, you're going to be expected to ask for help. So if you're, you know, they're even intermediate level programmers, same thing, you are not expected to do it all. on your own, you're going to be expected to ask for help sometimes not as frequently as a junior level, but you're still not really expected to do it all independently without ever asking for help. That's just not reasonable. Okay.
14:11
So, long story short, imposter syndrome, more or less, everyone has it at some point. So don't feel don't panic, if you have it. The best way forward, is just to educate yourself. Ask for help. And know that everyone else is probably been exactly where you are before. Okay? You're not. It's not that you are not good enough. It is not that you are not cut out to do this. It is just part of the process. It is expected. So expect yourself to suffer from this at some point. Now, another thing I want to chat about something that is along this same
14:54
topic, area of topic, what what's the word I'm looking for anyway, in this realm
15:00
Discussion?
15:02
There is a related thing that I see.
15:06
And and it's related to this question. The question is, why do you, I would say most people fail at trying to become a coder. Why is it that there are so many people who start the journey, but so few who actually finish the journey? Okay, now there's, there's, you know, with anything in life, there's going to be a drop off, if you will, there's going to be, you know, the people at the start, or the rather, the people at the end are going to be fewer than the people at the start. Right? That's just bound to happen with anything. Right? If there's a race, there's 1000 people in a race or a marathon, there's gonna be some people who don't finish due to, you know, who knows, you know, they just, they physically tap out, they can't do it, or they get, I don't know, injured or something along the way, and they have to pull out of the race, there's just going to be fewer people that finish, then that started, right, that's natural. That's just sort of how the law of numbers works. But when it comes to coding,
16:06
the difference between the people who start and the people who finish is kind of ridiculously vast.
16:14
I've mentioned this before, but I'll say it really quickly, in my first year, computer science classes,
16:22
the room was filled with like, you know, is a 500 or 400 person lecture hall, right? every seat was filled, it was, you know, not an open seat in the house standing room only, if you will,
16:33
you know, it was packed with people first year, second year, that number was cut by 10x. So from whatever 400 went to 40.
16:45
And I was like, wow, what the heck happened here, like,
16:51
I experienced it myself with some of the peers. In my group, I had, you know, become friends with people in my, you know, first year classes. And they really, really, really struggled through the whole process. And by year two, they switched majors, right? They switched to I've said this before they switch to, I don't know, accounting or economics or
17:17
I don't know, English literature or math, potentially, or, you know, they said, you know what computer science is not for me, I'm going to switch out. But the rate at which that happened was alarming. Right. And then to a lesser extent, the same thing happens for year three, and then your four, right, so we're 500 people start, maybe 20 finish. And that is a ridiculous, delta. That's a ridiculous difference. So and the same thing happens in to an even greater degree, outside of that physical classroom. When you think about people who say, Oh, I want to learn how to code and they buy a course online or something, when they start a course, the people, if you counted the number of people with a mindset of, hey, maybe I should try coating. You know, that sounds like it's a great career, I'd like to give it a shot and see what happens.
18:08
The number of people out there in the world who start that process, versus the number of people who actually even just finished that one course, let's just focus on that one. course, not even the finish line of I'm now a coder, and I can do it professionally and get paid to do this. Just that one course. The drop off rate, again, is is somewhat similar to what you see in first year, second year, which is
18:34
95%. Don't complete the course.
18:39
Right? Now, there's a whole bunch of different factors. Maybe the person just didn't like the instructor or, you know, blah, blah, blah, but usually, it's Oh, my God, this freaks me out, I can't do this. I'm not cut out for this. I'm gonna bail. And, you know, maybe I'll never do this again, or try this again. Or maybe I'll try it again in like, I don't know, a year or two.
18:59
Right? What happens there? Why is it that so many people,
19:06
I don't, again, I use the word fail, you don't really actually fail unless you completely give up and never try again. But that that definitely there is a percentage of people who who fit that criteria of failure. They start, and they never, ever finish. Why? Why is there such a disparity there with with respect to programming?
19:28
Well, in my opinion,
19:32
there's the obvious, which is, like I've said, learning how to code is hard. There's a lot to know, there's a lot of paths that you can take. So the first problem is this.
19:45
There's just so many choices to make at the beginning. Which language Am I going to choose? Which framework Should I pursue for those languages? Which is it macro is a PC should I be a developer or should I do DevOps or should I do automated QA
20:00
Should I do some sort of infra infrastructure stuff? Or should I be,
20:05
you know, move towards this title or that tie, there's just so many different options in so many different languages and so much choice. It's paralyzing. Okay, the overwhelm that someone can feel just stepping into this realm for the first time, is paralyzing.
20:23
And there's a pie chart that I like to there's a common explanation for this. I forget the term, I forget what it's actually called this concept. But it's something that
20:36
I learned about when I started to teach people how to code.
20:39
And this pie chart is essentially the majority of the pie chart. So I don't know, it's something like, you know, 95%, you picture a pie chart, but 95% of it with one category. And that one category is stuff that you don't know that you don't know. Okay, you know, stop me if you've heard this before. But
21:02
again, stuff that you don't know that you don't know. All right, that makes up the majority of everyone's brain matter, right? There is so much that you don't know that you don't know. For example, I don't know, I can think about a couple of things off the top of my head, like plumbing. I am not a plumber, I am sure there are tons of subjects relating to plumbing. And I don't know pipes, that I don't know that I don't know. I like if I if someone if I were to sit down with a plumber and have like a one day of
21:35
tutelage, if you will, under a plumber.
21:38
There will be tons of stuff. I was like, Oh, cool. I didn't know that. I didn't know that was a thing. I didn't know that it was important to I don't know, use this kind of tape on this kind. I don't know, you know, this is there's, there's just so much stuff that you don't know that you don't know. So when you start the journey, knowing nothing about coding whatsoever, and you step into this world, there is obviously us a ton of stuff that you don't know that you don't know. But what happens is, it will transition very quickly from stuff that you didn't know that you didn't know, into stuff that you now know, that you don't know.
22:16
And that's where the overwhelm happens.
22:20
So if you were to jump into the world of learning how to code and then you learn, oh, my god, there's something called a server side language and a client side language. And then on the server side language side, there's like 15 different languages, I can learn on the client side, there's this thing called JavaScript. And then within JavaScript, there's a thing called Angular, and then there's a thing called react. And then there's thing called view. And then there's a thing called this and that and Mongo and, and and my SQL and relational databases and, and you know, you know, front end and back end and like, it's like, Whoa, whoa, whoa, like it's, there's just an information overload.
22:55
And this leads to, that's the first great separator, if you will, the first
23:03
area, the first point where people throw up their hands and say, Okay, I'm out. I can't do this.
23:10
Right. That's the first great separator between those who succeed and those who fail
23:18
is just literally stepping from the world of I don't know what I don't know, into. I know what I don't know. Right. And obviously, that I don't want to see obviously, the third part of that is the stuff that you know, that you know,
23:30
right? So there's stuff I don't know that I don't know, I now know, that I don't know. And that I know that I know. Right? So that the those you know, goes from a huge part of the pie chart to the smallest part of the pie chart, respectively. So
23:48
yeah, that's the first great separator of people who fail versus people who don't. Now,
23:56
the next part is,
23:59
is people who get in their own heads. And I've talked about this before. But for example, one of the super common things that I hear from students is,
24:09
you know, they start to struggle with learning how to code because you're going to everyone's going to struggle, that's just gonna happen, it's inevitable, that you are going to hit a point where you're struggling. This is where I say you need to reframe that struggle and make it yourself realize that if you are struggling, it means you are learning that is a good thing. If you were struggling, it means that you are learning you are currently in the process of learning something new. If you feel that struggle, so a lot of students will think oh, no, I'm struggling, therefore, I must be, you know, I must not be intelligent. I must I must not be cut out for this. Therefore, I should quit. Right? And it's just like why it to me is just crazy. But it's because the way I think of it is whenever I'm struggling, I'm in the process of learning something new, which is a good thing. I like that. When I am struggling. I enjoy that process because I look at it and I say I'm about to level myself.
25:01
Okay, so struggling is a good thing that's, you know, sure, Fine, whatever. Hopefully that is a little tidbit that you can have a light bulb and say, Oh, cool. I will reframe that in my own mind next time when I'm struggling to learn some programming concept. But sorry, getting back to my point. My point was, I hear this a lot from students, they start to struggle, and then they start to make excuses as to why they are not cut out to be a programmer. The first part is they're struggling and yes, you need to reframe and realize that that's a good thing. But they'll say something like, Oh, you know what, I'm not good at math. I was never good at math. Therefore, I can't be a coder. You know, why did I Why did I even think I could be a coder, I'm not good at math. This is silly. I'm just gonna quit.
25:44
And it's frustrating to me, because, I mean, I was okay at math. I did I did decently well, in high school, I got obliterated in university, doing the, like calculus and stuff, like I got obliterated, I had a, I had so much change my major
26:04
because of that, so I fell victim to my own, the great divide, I had to slightly tweak my major. I forget the the old major Title I switched to just be computer science, right? I forget if it was like engineering, or I don't know what the title was. But
26:20
I switched to just computer science, because the other, you know, degree that I would have attained required me to do level two calculus. And I just was like, Nope, I am not cut out for this. So the point the point is,
26:36
I'm not great at math. But I have succeeded immensely as a programmer.
26:44
How could that be possible? Also, a lot of my friends who are very successful in their career as a coder, never were good at math. A good example I've talked about before, is Nathan, my good friend, Nathan, was an English literature major. Literally, I always say that, what is the opposite of computer science, English literature, you know, he did it, he got a job, he's now being paid. He's an intermediate coder at the point of this recording, well, on his way to be a senior programmer, I would, I would say, he's doing better now than I was at his point in a timeline of learning.
27:21
So he's on track to be a better me, he's on track to be a more successful version of me, he probably doesn't realize that because he's probably struggling with imposter syndrome and all that stuff that I was struggling with at his point, but he's on the path, he's gonna be a superstar.
27:38
But he's not good at math. He graduated with an English literature degree, he was all about, you know, writing stories and analyzing the great, you know, written word. And anyway,
27:49
so people know, they don't understand where I guess it's like, they make excuses for themselves, or they listen to, I don't know where this this knowledge or this common thing comes from this whole, you have to be good at math to be to be good at programming. I don't know where that comes from. I'll tell you what you need to be good at, in terms of the stuff that I teach, you know, full stack, web development, web app development, whatever you want to call it.
28:16
You need to know how to add, subtract, multiply, and divide.
28:22
And that's it.
28:25
grade school level stuff. Do you know how to add two numbers together three numbers together? Do you know how to subtract and divide and add or sorry and multiply? I can't even say the four things. So that's pretty much all I've ever had to do. I've never had to do a cosine or
28:43
derivative or any of these crazy weird, like, I've never had to do a mathematical proof.
28:50
My job No, like, that's just not. I don't know where that comes from.
28:56
Maybe if you're doing like video game development, that's the only thing I can think of. If you're doing like video game development, then maybe there's like areas where you need to know some math or something. But even then you can look it up. Google it. There's this amazing thing called Google. Anyway.
29:13
So the whole I need to be good at math to be a good programmer thing is just one of the common misconceptions about you know how to be a good a good coder. Okay? You don't even have to let me say this. You don't even have to be a good coder. I have worked. what's the what's what's the politically politically correct or gentle term for someone who is not a good programmer?
29:39
I guess we'll just say that. I have worked with many people who did not excel at coding. Let's say it that way. I've worked with many an individual from many walks of life, who I can tell. It's like, what are you doing here, man? Like why are you pursuing this as a career but moreover,
30:00
How do you even still have a job? Right? So it just goes to show there's so many, there's so many desperate companies out there that look to get as much help as they possibly can get, because there's such a huge shortage of programmers, that they're willing to hire people who don't, you know, like I said, excel in the world of programming.
30:22
So,
30:24
again, not only do you not have to be good at math, you don't even have to be good at programming to get a job as a programmer. So anyway, I'm being, you know, I'm being silly here. The people who I work with who are not who did not excel in programming was not, in my opinion, because they were dumb or something. It's just because they didn't really care. You know, they didn't really
30:46
didn't really like programming. It's like, they didn't want to be a coder. But it was just a job. And they just did it, they clock in and clock out, and so be it. And hey, I can't judge I'm sure you know, we've all been there before. We were just doing a job to you know, pay some bills. So they just weren't incentivized, to learn any more or to get any better. I just like it, I just like learning. I love learning. I love teaching in general, right? Because teaching is the best way to learn. So really, I just love to learn. And that's what sort of guides my has guided my entire professional career is just this huge desire to learn. If you have that trait, if you're always curious and have this huge desire to learn, it will treat you and serve you very well in your professional life, in my opinion, so anyway, know, you don't have to be good at math, to be a coder, you don't have to be a physicist or something to be a good coder. You don't have to be a,
31:41
you know, an artistically talented person. To be a coder, you don't have to be a creative thinker. To be a coder, you don't have to be an analytical thinker, to be a coder. Right? coding is learned. And I know it is learned because I had to learn it myself. I started I started very, very early, right? Again, if you're trying to compare yourself to me back to that topic of comparing yourself to others, I started learning when I was 10. You just can't. If you are in your 30s right now considering becoming a coder. Yeah, I have decades of a head start on you. Does that mean you should throw your hands up and give up and say I'm not going to make it? No, of course not. It doesn't take decades to become good at coding at all right? In my opinion, it could take six months in a good coding boot camp. You know, Hint, Hint, nudge nudge. And, you know, another year or two of on the job experience before you can be, you know, a good useful coder, who can be a productive member of an organization. Right? So no, it doesn't take decades, it takes, you know, to be at the point where you're feeling pretty comfortable, confident and being able to mostly work on your own without any outside help. A couple years. Okay, this is not, yeah, it doesn't take decades. So anyway, that was a distraction. Don't compare yourself to me, or don't compare yourself to others, everyone's different.
33:03
The point is, all of this stuff is the noise that's going to get in the way of you achieving your ultimate goal.
33:11
And I see this happen so often with my students, they fall victim to all these different aspects
33:21
of
33:23
struggling with coding with learning to code, they fall victim to all this stuff, and they quietly go, whatever disappear into the good night or whatever that that that, you know, saying is
33:37
I should know, I don't, I'm clearly not firing on all cylinders this morning. So they, they just fade away and and never to be heard from or seen again. And it's heartbreaking to me because they had this goal and this, this desire and this, hopefully this big purpose to this, you know, to become a programmer and get a job and start a really successful career and make a ton of money and have fulfillment and enjoyment from their from their work. Like I said, it feels like I cheat. I'm cheating at life because I enjoy Monday mornings. I look forward to Monday mornings.
34:12
I'm a little bit sad when it's the weekend because I just I like the work that I do. And it feels unfair because there's so many people out there who hate Monday mornings, right? So it's this incredible experience is this incredible way to live your life to achieve this this level of
34:34
of I don't know the word is peace, inner peace, I guess when you in terms of your professional life anyway. It's just so rewarding and amazing. And it's sad when someone doesn't get there. Right? And it's especially sad when someone doesn't get there because they have fallen victim to this these poisonous mindsets. Okay, so that my best advice for you is to
35:00
Know and acknowledge, in advance that this is hard to do, you are going to struggle, you are going to hit a wall, where you're going to feel like you want to quit. And that there is never going to be a day that will ever come in the future where you are going to understand whatever concept it is that you're stuck on. Okay? Everyone gets stuck in a different place. You know, if it's if it's just the concept, the fundamental concepts of coding and like a loop versus a method versus or whatever, or if it's, you know, something more advanced like Java, eight streams, or lambdas, or, you know, whatever the The topic is, or AWS, or who knows, right, wherever it is, you're gonna get stuck, you're going to something along the way is going to make you throw your hands up in the air and say, I don't know if I can do this, guys.
35:58
This is hard, right? And yeah, exactly. That's going to happen, expect it. And
36:06
don't quit at that point. Because every other human being on planet earth who has gone through the same journey that you're on right now has also hit that point.
36:17
The difference between
36:19
the people who succeed and the people who fail. I've already said it are the people who just actually give up and stop.
36:29
There is a solution
36:31
to where you are currently stuck on there is a solution a way to get you past that point. Okay, there are, again, I've said this before, if it's just an online course you're doing Yeah, your chances of success are so low, like you're, unless you're an experienced programmer already, I should, I should preface it by that. If you're already a senior level coder working in the real world, online courses are great, because you already have the tools
36:56
in your tool belt to get past those areas where you might get stuck. Right CEO of a coders, even intermediate level coders, they can get there, they can figure it out, they can get unstuck. They know how to do it, because they've done it before.
37:10
They've made it past that sort of great divide, if you will. So for you, if you are a junior level coder, or if you are just starting this journey, you now need to figure out and understand that there are tools available for you to get unstuck. Okay, I've talked about it already, you probably getting tired of hearing this, the most effective way, in my opinion to go from potentially where you are now to success is a good coding bootcamp. Okay, it's not online courses. Like I said, online courses are much better for someone who is experienced already. For someone who has not yet experienced who hasn't had their first job, who has maybe been in the in the field and working for less than a year, maybe two years, I don't know.
37:58
online courses are not going to cut it. They're just going to amplify this feeling of Oh my god, I can't do this. Oh, my God, I don't understand this. What is this guy talking about? What is this girl talking about? Look at how well all these other people are doing. Look at all the people who've completed this and I haven't Oh my god, oh my god, I can't do this. I'm going to quit. Right? That's just going to amplify all that stuff. You need mentorship, you need someone who has made it to the point that you want to be right, finding someone who's already achieved sorry for the noise. Someone who's already achieved the goal that you want to achieve. You find that person and you ask them questions, you get help you, you use them as a mentor, right?
38:41
So long as that person is good at teaching, right? You have to have someone who's able to walk you through the concepts and if they can't walk you through the concepts then that might not be helpful. But
38:50
hey, if they're a good teacher, and they're a good mentor, then great that is going to
38:55
greatly increase your chances of success.
39:00
So
39:01
obviously that can be achieved through a boot camp. I welcome you. If you know nothing about coding, you can get started with a free course, we'll get you into the free course. It's a free four week course that prepares you for the boot camp to help give you the opportunity to dip your toes in the waters of coding to see if it's right for you. But in the important part of that is it also comes with a Slack channel. So you can reach out to me specifically and and ask for help if you need it.
39:33
So that really helps you need someone to guide you. You need someone to give you the advice. You can't just get an online course with no help. Okay, you need someone to help you. So yeah, start that free course if you have no background in coding whatsoever. If you're already comfortable with the basics, if you already know what a loop is what an if statement is if else you know what a variable is a data type a data structure. You know what a list is a map is
40:00
This set is all that stuff. If all those words that I just said, you know, aren't making you nod your head, like you understand and you're not panicking, then yeah, apply for the bootcamp, right? You can go to coderscampus.com/bootcamp and click on the Apply button.
Transcribed by https://otter.ai
The post EP48 – Top 3 reasons why you’ll fail to succeed as a coder and how to overcome them appeared first on Coders Campus.
44:39
EP47 – Key #2 of 3 to Getting a Job as a Coder
Episode in
Coders Campus Podcast
If you've ever heard of “Writer's Block before”, then you're likely already familiar with “Programmer's Block”
Programmer's block is when you're sitting down to code, you open your IDE of choice, and stare at your computer screen and say “I haven't got a clue what to do! I don't know where to start!?”
Ever experienced this before?
I'm sure you have, and it's completely normal.
I'll teach you how to address this problem in this podcast epsisode.
The post EP47 – Key #2 of 3 to Getting a Job as a Coder appeared first on Coders Campus.
37:37
EP46 – Are Coding Bootcamps Worth It?
Episode in
Coders Campus Podcast
All right, my fellow coders. Welcome to this sort of inaugural episode of the podcast, where I'm going to be sort of… I love the podcast. I love recording this content. I love sharing all of my tidbits of knowledge around coding, and there's just not a great way in my schedule to fit it all in, because I've been so busy lately, but I figured, hey, I go for walks pretty much every day. So I will go ahead and record as I'm on my sort of morning walk. So excuse the background noise and whatnot as I am going about my recording here. So yeah, basically today, I want to talk a little bit about obviously coding bootcamps. That's been our focus for this series, and when it comes to coding bootcamps, one of the questions I often get is, should I even join a bootcamp?
Is it even worth it? Is it right for me? Oftentimes I've heard that these things are very expensive and often they're a scam and all these sorts of ideas and concepts are circulating in the general knowledge when it comes to people looking to learn how to code. So I want to address all of those if I can on this, like I said, inaugural episode of me going for a walk, looking like a strange person, talking to myself while I inform you of all of the knowledge that I have with respect to not only learning how to code and getting a job, but also coding bootcamps. So first I'll start things off by talking about whether or not it is a good fit for you. So, the way I've seen it, and I've been teaching people how to code for around nine years.
And I have been doing bootcamps for at this point around two years. I've seen a few students come through my doors with respect to bootcamps, and I've seen literally thousands come through my doors in terms of regular, old, online course buyers, or… They buy my book or they buy my online courses or they subscribe to a YouTube channel, that kind of thing. So I've been exposed to a large amount of people that are trying to ultimately learn how to code with a goal of getting a job. They basically break down into three categories. So if you're in one of these three categories, I would say you're probably a good fit, and it's probably something you should consider.
The first group is people who are sort of about to graduate from some sort of college or university with an associates degree or a bachelor's or a master's degree, or people who have very recently graduated from one of those programs. So this one's a bit counter-intuitive, but a lot of students are catching on that university, and the typical path of go to school, get a degree, get a job, doesn't really work that well. I spent a lot of time talking about this in I think the past episode where that was not my experience, it took me five and a half years to get a job, as a coder, going through the whole school thing and whatnot. And then it also took one of my closest friends, Nathan, six years before he got a job. And it's just a constant story that comes up where I talk to people on Zoom calls, talking to them to see if they'd be a good fit for the bootcamp. And so many of them, I would say almost half of the people I speak to, are currently in school, close to graduating.
They might have one or two semesters left and they realize, “Uh oh, I don't feel like I'm ready for a job.” Or there's people who have graduated, and then they do realize in the real world, “Uh oh, I cannot get a job.” Now, this isn't the case for everyone, but there's enough people out there that makes me worried. Because again, I was in that situation that the education system, at least the formal education system, where you go to a college, you can get a degree, it doesn't really prepare you for the real world.
So that's where if you're in that boat, if you're feeling like, “Ah, I'm in college right now and I just don't feel like I'm ready for the real world. I feel like I've learned a little bit about a lot of subjects. I've learned a little bit of Python, I've learned a little bit of Java. I've learned a little bit of C++, maybe a little bit like assembly language or some other useless thing that is not going to help you in the real world. I've learned a little bit of everything, but I don't feel confident in my skills.” So if that's you, first of all, that's not your fault. You didn't do anything wrong. That's just the formal education system and the way it works and the way it's set up, it's a bit antiquated.
And although it's a great social experience, like I said before, it doesn't really prepare you for the real world. So if you're in that boat, a bootcamp might be a good fit for you. I would consider it in your case. The next student type that I see come through my doors who are interested in bootcamps, are students who, they have a job already in the real world. They're working in what I call an adjacent field to programming. So this might be someone who is working as a QA, the quality assurance person, someone who's working in dev ops, development operations; any sort of field where you interact with developers on a daily basis or weekly basis.
And you say to yourself, “Huh, they seem like they're having a lot of fun. They seem like they get paid very well. The perks that they have seem very desirable and it seems like an interesting career path.” So this is very common, right? People who work in the real world with developers who are not actually doing any development themselves, that is a another group type that I see. That maybe makes up, I don't know, 20-25% of the students that I see in my bootcamps. So if you're in that category, it's also a good fit, right? A part-time boot camp works well if you had a full-time job, and you can find an hour or two during the weekdays, and maybe a bigger chunk of time over the weekends. That's where these things work quite well, actually. So, if you're in that boat, consider a bootcamp.
The third category are people who have no experience with development at all. They've never worked with a developer. They work in a job that has nothing to do with software development, but they feel like, again, same thing as group number two, which is they feel like software development is something that sounds interesting to them. And again, looks like a great career, looks like they're getting a lot of perks as developers, that kind of thing. So yeah, they're interested in this path. This makes up probably, well, whatever the rest of that would be, what 40 plus 25 is 65. So 45% of my students are in this category. They have absolutely no experience as the developer. They're just like, “Huh, I think I should… I want to change jobs. I kind of hate the job that I'm in right now. It's not a fun experience for me. I'm tired of doing hard labor or whatever the case may be. I'm just bored of the work that I'm doing. It's just mind numbing, and I constantly look forward to the weekends, and I hate Mondays.” Right?
If that's you, I would say you're possibly a good fit for the bootcamp. I say possibly because there's one criteria for this category that I usually use to separate out the people who really would be a good fit for the bootcamp. And that is some mechanism to ensure that you will enjoy this process. Learning how to code, as I've said, many times, is very, very, very difficult. It is frustrating. It will try your patience. It will really exercise your willpower, your stick-to-it-ness if you will, because it's very hard to learn how to code. And it's very easy to quit when you're just starting to hit the first roadblocks.
So what I generally recommend for this group of people is to do some sort of introductory course, to do some sort of way to dip your toes in the waters of development in general. That's where I talk about my bootcamp prep course, right? The coderscampus.com/start. If you go there, you can get a free sort of… I don't want to say free trial. It's completely free forever. It allows you to dip your toes in those waters and see if development is something that you might enjoy. Okay? So, if you go to coderscampus.com/start, you'll be able to try the first four weeks of the bootcamp. There's a couple of assignments in there. There's a Slack channel, so if you need help, you can reach out on Slack, because you're most likely going to need help. You're most likely going to get stuck, and this is where bootcamps are, in my opinion, vastly superior from typical online courses, when you can get access to the instructors directly in more or less real time via a chat application like Slack.
It's just far superior than sending an email or posting in a Facebook group or something. It's helpful posting in a Facebook group, but it's not… You really need that live feedback. You need that live interaction with an instructor in real-time so that you can make sure that you're understanding all the stuff that… You're learning, right? You got to practice and you got to make sure that you're understanding it. So that's my only stipulation for this third category of people, which is, you need to make sure that you are cut out for it, at least a little bit, right? Everyone's going to feel like they're not cut out for it, but you got to dip your toes in and see, “Do I even enjoy this process?” Okay?
So, for that third category, if you're someone who loves to learn, if you are always curious, if you like to tinker with computers, if any of those things sort of apply to you, you're probably cut out for this. You're probably going to be a good fit, but still I would recommend you go and take some sort of free introductory lessons just to see how you feel about the whole thing. Once you've done that, boom, then once you've crossed that threshold and realize, “Okay, I can push through and I can complete some assignments here,” then by all means I think a bootcamp would be a great fit for you. So, all of that is to say, those are the three sort of categories of people that I see the most come through my doors.
It doesn't mean that if you're not in one of those three categories, that this would not be a good fit for you. You never know. Ultimately it comes down to the grit, right? Ultimately it comes down to, do you want this bad enough? Right? Do you want to put yourself through the uncomfortable experience of learning how to code so that you can unlock the rewards at the end of the tunnel? Okay? That's really what it comes down to. So, having said that, that's sort of the categories that I look at for people who would be best fit for the bootcamp. Now I want to talk more about the public perception. The public, whatever, I guess, perception of bootcamps in general. Excuse me. You might have seen or heard articles talking about, these catchy headlines where it's like, “90% of all bootcamps are just a scam.”
Now, I don't know, I can't speak to the fact that the correctness of the 90% figure. I certainly know that I've looked at other bootcamp curriculums, I've looked at the way the programs are set up. I've spoken to some of the students who have taken other bootcamps and they would echo that sentiment in that some of them were poorly organized, poorly put together. They did not really have the greatest experience in terms of support. It happens. There are definitely bootcamps out there. Unfortunately it will be on you to do your research, to make sure that any bootcamp that you're considering is a good one. Does not mean that every boot camp out there is a scam. Okay? When you have the mindset of, oh… These absolute mindsets. Everything out there is a scam and the landscape is just too ridiculous and too difficult, and everyone's out to get me. That's just victim mindset that will literally get you absolutely nowhere in life, let alone learning how to code.
So, there are definitely great bootcamps out there. Very reputable ones, very large ones that have done fantastic job at creating a legacy for themselves, as well as small ones like mine who are starting out with lots of enthusiasm and having lots of great initial success. Okay? So, unfortunately, you just have to do your research. Red flags, things to look out for are curriculums that are outdated. Okay? If the curriculum in a bootcamp looks like a curriculum in college, if you're learning all the same topics and nothing more, that's a red flag. That means the college has likely just purchased a bootcamp, and is sort of using the bootcamp as a means to… It's another marketing channel or another way to make money for the university. So, keep an eye out for that.
Look to see if they have any data on placements. Right? You want to make sure that ultimately the goal is to get placed in a job, so does the bootcamp have metrics? Can they share data and talk numbers about placement rates and whatnot, and get curious about those? Don't just accept the number, right? Like if I say, “Hey, our bootcamp right now has a 90% plus placement rate.” Well, great, but what does that mean? Right? What do you mean? Based on what? How do you come to that number? And if you ask me that question, I would say, “Well, it's based off of people who graduated first. So you have to graduate before you are considered in that number.” Okay? Thankfully, my graduation rate is fairly high. I do everything I can in my power to help my students out during the process of learning, but other bootcamps, the graduation rates are terrible, and a lot of students drop out, and they've invested all that money and gotten maybe not so much out of that.
And then, for the ones that did graduate, for the minority that crossed this extremely crazy threshold, then yeah, look, we have a hundred percent placement rate. So, there's a way to fudge the numbers there, so make sure that you can do that research as well and ask those types of questions. And obviously, if there's a way to contact alumni, that's always a helpful way to get feedback. Places like Course Report or something, has a good way to look at ratings or reviews of bootcamps, that kind of thing. So, anyway, in general, is every bootcamp in existence a scam? No. Are 90% of them a scam? I doubt it. A lot of these negative feedbacks that you… Or the negative feedback you might hear are students who failed, who actually were not able to complete a bootcamp. And therefore, they deem that as a failure of the school, and put it all on the school and say, “The school failed me and this school is awful, and I can't recommend it to anyone.”
For those, it's a case by case basis because some students are just not willing to put in any extra effort at all. And there's nothing that any school would be able to do for those students. Right? They were doomed to fail to begin with. Again, I repeat, learning how to code is very, very, very hard. It's going to take a lot of effort, a lot of hard work, a lot of dedication, motivation, willpower. Acquiring this skill is difficult. If it were not difficult, then there would not be a shortage of good coders. Right? There would not be so many jobs open and available in the world of software development if it was easy to become a software developer. So, keep that in mind as well, when you are looking to students' reviews and ratings and whatnot. Sometimes it's just, the student was not willing to put in more than five hours a week or 10 hours a week. Right?
If someone's not willing to put in the time, they're not going to succeed, they're going to fail, and then they're just going to blame it on other people. So again, that's the sort of victim mentality, don't fall victim to the victim mentality. Okay. So, bootcamps in general, again, as I've spoken about, in my experience doing this for almost a decade, they are by far the most effective mechanism I have seen for getting people jobs as software developers, period. Bar none. I've tried them all. I've seen them all. I've experienced them all. There's nothing more effective than that. Now, I've been talking for a while. I want to talk about the cost of the bootcamp as well. So, it's just started to rain now. I'm standing under a tree, I guess I could talk a little bit about that. So bootcamps and cost. So it's no surprise, it's no secret that bootcamps are expensive if you just look at the sticker price. Right? If you just look at the price tag, you'll say, “Oh my God, that's expensive.”
That could be a fair analogy if that's all you're looking at. Right? If you compare say, “Oh, I could get an online course, or I can get a bootcamp. Oh my God, the bootcamp costs a hundred times more, or something. Or a thousand times more. That must be a rip off. That must be a scam. That must be some way that someone is trying to take advantage of me.” But there's a reason for that price tag. There's a reason that bootcamps cost more. It's because of the effort that goes into helping the students, right? The one-on-one effort, the staff, all the logistics around fulfilling them and organizing them. And it's a lot more work to organize a bootcamp than it is to just publish an online course. Again, I know, I've published like 20 online courses myself.
They're simple. It takes me a few hours of work. I maybe put in 10 hours of work, 20 hours of work, and boom, I've got a course and I can sell it, and I never have to do anything for that ever again. 20 hours of work, done. A boot camp is far more work. So, that's where that sticker shock will come from. But remember, success rates. The success rate of an online course, the success rate of a university program, versus the success rate of a bootcamp. You have to look at the success rate in terms of people's outcomes in terms of getting a job, and you need to look at the length of time it takes to get that job. Okay? Universities typically three to five years of work needs to go into that. Okay? And tens and tens of thousands of dollars, if not a hundred thousand dollars or more.
In my opinion, again, if you're part of that first group of students who are currently in university, I'm so sorry, but I need to say this. This is the least effective mechanism that you can leverage. Okay? It is the most expensive and it takes the most time to ultimately achieve the goal that you are setting out to achieve. Okay? So if you're looking to spend a lot of money and take a lot of time before you finally get that job, hey, universities are great. Obviously, that's not a great way to go.
The second best way to go in my opinion is online courses, okay? Far less expensive than university programs, and oftentimes, if you are dedicated enough, if you have enough gusto and effort that you can put into, it takes less time than a university program. Okay? You can get there in less than three years and spend far less money. It's a lot more frustrating because you don't really have any mentors, you don't have anyone to guide you, you probably won't have a group of people that you can collaborate with and work with and have the comradery with. So, this route, although a lot more affordable, is probably more difficult than any of the other mechanisms.
So, the success rate of the learning on my own and buying online courses is the lowest amongst all of them. Okay? Typically I see a 5% quote-unquote graduation rate for students in an online course, meaning only 5% of the students will actually complete the online course. Sorry, an annoying truck coming up. So, if it's only 5% of students who are going to graduate, what percentage of those students are even going to get a job? It's an even smaller percentage. So we're maybe talking at best two and a half percent. So at best two and a half percent will actually succeed and get a job with just self-education. Okay? You see a lot of great stories out there, a lot of great, feel good stories like, “Oh my God, I did it. I learned on my own. I didn't have to pay a lot of money, and I got a job,” and that's great.
I love it. I've had a lot of those stories myself, but they are the vocal minority, right? You were incentivized to share that story. It's a feel good story. People will react nicely to it, and they'll give you a congrats and all that stuff. And plus you just want to celebrate, right? That's why you want to share those kinds of messages. You are not incentivized to share that story if you failed, right? If you tried to succeed, you tried to do online courses, and you gave up after a year and said, “This is not for me. I must not be smart enough.” You are not incentivized to share that story, so that's why you don't hear from a lot of those people. Okay? So, learning on your own is great if you are very motivated, very dedicated, very all the stuff, right?
All the unfair advantages that you could have over anyone else, because you can dedicate 40 hours a week or 60 hours a week to learning and… It can be done, but it takes… Outcomes, the success rate is quite low unless you are a unicorn. Right? I don't say unicorn, but unless you are, there's something special about you. So, that from, again, my experience, that's what I've seen. Now, with bootcamps, the success rate of bootcamps is in my opinion, at least on par with the success rate of universities. If not slightly better, but that's only with me. I can't speak to all bootcamps, but I would say that the success rate for students getting into a bootcamp and getting a job is probably at least on par with the university programs, but obviously a lot less expensive. Boot camps are not a hundred thousand dollars.
Boot camps, hopefully, are not tens of thousands of dollars. Okay? Hopefully a good bootcamp for right now in 2021, the average cost of bootcamp is about 12 to $15,000, US dollars. Again, it sounds expensive, but when you look at the data and you look at outcomes, it's actually the most affordable, and I'll explain why. So, bootcamps typically are about six to nine months in duration. Any good bootcamp is about six to nine months in duration, and hey, maybe even longer. That's cool too. Hopefully not over a year. If it's over a year, then something else is going on there in terms of what they're trying to do for you, but the average boot camp is I would say six to nine months in duration. And then you graduate, and then any good bootcamp worth their salt, will have a placement rate of, like I said, high 80s or low 90s.
And they will get you that job within six months. So that high 80s to low 90s metric in terms of placement rate for getting people a job is based on getting a student a job within six months of graduation. So, you're looking at six months at a bootcamp and up to a maximum of six months of job hunting, if you will, before you are placed. So let's say, worst case scenario, about a year, before you can be placed on the job. So, one year of effort with an investment of, let's say on average 12 to $15,000 for the bootcamp before you are earning money. You're earning an average salary of probably 60 to 70,000 US dollars. Okay? About one year, versus self-taught. Self-taught is you pay almost nothing, in comparison. In self-taught you might pay a few hundred dollars, maybe a thousand, but typically self-taught, again, the success rates and the time it takes to become successful in terms of being placed is usually on the order of years.
From start to finish, if someone starts to tinker around and start to learn how to code to, I actually have a job and I'm sharing my success story, on average, it's more than a year, it's maybe two years. Right? So, on average, I would say it takes about a year more for, again, that sort of not unicorn of a student, but the student who is willing to put in a lot of effort, a lot of extra effort. So, for the student, who's putting in a lot of extra effort and actually gets rewarded for that effort, they are able to find success by getting a job within let's say two years. Okay? So on average, about a year extra, versus a bootcamp.
And then universities, as we know, not everyone graduates. Some people drop out from university and still owe all that money. Some people do graduate and never end up finding employment and give up and do something else. So it's not all 100% in terms of, person who starts as a computer science major or something, and then graduates as a computer science major, that number is actually quite horrendous. My first year computer science course, had about 500 people in the lecture hall, okay? Year one, 500 people. Year two, maybe 50-ish. So 90% of the students who started as a computer science major did not continue as a computer science major. They said, “Oh, you know what? Maybe I'll change my degree. Maybe I'll major in math instead. Maybe I'll major in social studies or English literature,” or whatever. I'm being a bit facetious here. But yeah, that number drops significantly. So the success rate of universities are pretty poor and they're very expensive, and they take on average three to four years.
So again, I'm so sorry if you are in college right now. If your goal is to get a job, it's… Hey, if you can afford it, again, if you can afford it, if you're not going into crazy amounts of student debt, it's a great social experience. You grow a lot as a human being, probably will be the best years of your life. In my opinion, hey, it's worth the investment on that front, but solely relying on it to be an investment to get a job, I can't condone that messaging. So yeah. So how does this all shake out? So universities, way too long; self-taught way more affordable, but also probably at least a year more, if not far longer. Potentially, the success rate is even lower. So let's just say, let's take the happy path, and say that you are one of those unicorns.
You are someone who can do it in that timeframe. You can spend less than a thousand dollars and get a job within a couple of years. But if you look at just the numbers, if you look at someone, if you were that same person, you copy that person into two, one person chooses the route of self-learning for a couple of years, and one person chooses bootcamp for about one year. Again, probably that's worst case. Most of my students are placed within two months of graduation, but let's use the worst case. That means that on average, a student in a bootcamp will graduate a year sooner. And if you graduate a year sooner as a programmer and are earning an average salary of 60,000 US dollars, and you are able to have that salary of 60,000 US dollars… Again, that's an average salary.
It depends on if you're a west coast, that's much higher. If you're in a big, big, major city like New York or something, much higher than that average salary. But anyway, let's stick with averages. You graduate and you get a job a year sooner than the self-paced learner. How much money is a self-paced learner earning in their current position? If they do not have any employment that is a $60,000 difference, net difference. So you're making an extra $60,000 from choosing the bootcamp. You invested 10, 12, 15,000 in the bootcamp. You take that away from the net, minus taxes and whatnot, you're still coming out far ahead of the person who was learning on their own, full-time for two years. Right? Let's say the person learning on their own doing online courses has a full-time job, getting an average, whatever the salary is, what $40,000 a year or something, average salary? While they're going to have less time to dedicate to learning on their own, which probably is going to push that two years back a bit more. It might be two and a half or three years now. But let's just say two years.
Again, you look at the numbers, you will be able to place yourself in a job once you go through a bootcamp, a year sooner, making probably on average $20,000 more a year. Well, within that first year, you've paid off the entire bootcamp, and then, made a little bit of profit potentially after tax. Maybe. It could break even. It could mean the difference in the salary is such that you just pay off the bootcamp after the first year, but then guess what? Year two, you're not only going to probably be making $60,000 again, you're probably going to be making 65 or $70,000 because salaries of coders go up very, very quickly for the first, whatever, five to 10 years of your career. Let's say 10 years of your career. They go up very far, very high, very quickly.
You might start at 60, but within five or 10, well, let's say seven years, you'll definitely be in the six figures. Right? So, the sooner you can get on a path, the sooner you can start getting raises, the faster you're going to be outpacing your duplicate, if you will, who was doing the self-paced route. So you have to look at the numbers, the actual hard science and data behind all this stuff, and look at it objectively, not subjectively. Don't be lulled into this group mindset of, “Oh, every bootcamp is a scam and they're so expensive and everyone's out to get me, and you're an idiot. If you're doing a bootcamp.” Right? Look at the numbers, look at the data, look at the actual charts that show these outcomes. This is not hard to calculate.
When you look at it from a data mindset, you are going to see that the most effective, the most efficient, the most affordable path forward… Well, if you look at the numbers, hopefully, you'll come to the same conclusion of which of the three methods or mechanisms are the best, if you will, in terms of just how do I get more money in my pocket faster and over time as well. Okay? That's why I say, there's no more effective, there's no more impressive means of achieving the goal of getting a job than bootcamps. Okay? Hopefully that makes sense to you. Yeah.
Again, I never really wanted to do a bootcamp and launch bootcamps. I would've much rather stayed in the world of just plain old, online education, because it was far, far easier, far less complicated. My lifestyle was much simpler, just doing online courses as a business owner. It was amazing. It was great, but really, I had to swallow that hard pill of, look, although my life is great and grand, my goal is to help people get jobs. And if I'm really true to myself and what I want to be doing here to help students change their lives and ultimately change the world. I mean, I just can't, now that I know this data, recommend the online course, self-taught path, or the college education route. I just can't do it with a good conscience.
So yeah, that's where that comes from, right? Why do I keep talking of bootcamps now? That's where that comes from. It's just the most effective way for you to achieve your goal. If your goal is to get a job. If your goal is not to get a job and you just want to learn for fun, oh my God, then online education is the way to go. Absolutely. Hopefully you can stay motivated. Hopefully that will drive you to stay motivated. You definitely don't need a bootcamp if all you want to do is learn for fun and you don't want to get a job. Yeah. Unless you have piles of money and you're willing to spend it on something like a bootcamp and learn faster, then great, fine. That works out. But yeah, if you don't have a lot of cash on hand and you just want to learn for fun, then no, don't take the bootcamp.
So hopefully, that was obvious. I don't need to say it, but yeah, there that is. So, hopefully this was helpful. Hopefully this was insightful. Hopefully this format of me walking around, getting some exercise while I share these tidbits, is enjoyable. Obviously I'm open to feedback. So, feel free to reach out, send me an email or something. Trevor at coderscampus.com. If you're interested in my particular bootcamp, you can check it out, coderscampus.com/bootcamp. If you're interested in that free course, again, if you're in third category of person who does not have any experience in coding whatsoever, you will not be admitted into my bootcamp. You need to have some exposure to it first.
Again, we have to get past that great dividing wall of the first year of university, if you will, to separate out the people who think that they want to do this, but actually don't want to do this, from the people who do want to do this. So, if you have absolutely no experience as a coder, please do take my free course first, the free bootcamp prep course, coderscampus.com/start; S-T-A-R-T to start your career, if you will. See if you like it, see if you can handle it, ask questions, you get access to Slack. You can interact with me. You get to do a couple of assignments and dip your toes in the waters. If you like it, then, hey, cool. Then we can put you into the next bootcamp cohort. If you already have experience as a coder and you know you want to do this, then coderscampus.com/bootcamp. Check it out, and if you like it, you can apply for free. So, there's an application process. You have to fill out a form, hop on a phone call with us for the admissions process.
We can't accept every student because we have limited cohorts and they're actually filling up now. Which is great for the business and great for the students, but like I said, I can't just take a hundred students or a thousand students or 4,000 students tomorrow, because bootcamps are so much more effort than regular old, online education. Anyway, if you're interested coderscampus.com/bootcamp. Thank you so much for listening. I've had actually a lot of fun doing this podcast while I walked around. Unfortunately, like I said, it was raining, so I had to spend most of my time standing in front of my own house, but hey, hopefully tomorrow or the next day it'll be nicer and we can chat some more. So thanks so much for listening and, yeah, look forward to seeing you in the next podcast episode. Take care of yourself. Happy learning and bye for now.
The post EP46 – Are Coding Bootcamps Worth It? appeared first on Coders Campus.
38:55
You may also like View more
Cloud Computing Weekly Podcast
Hosted by Cloud Computing expert David Linthicum, this podcast is a no-hype look at the world of Cloud Computing. This podcast talks about what's new, what's working, and has expert guests who will provide you with the advice you need to be successful in the clouds. Updated
Palabra de hacker
Palabra de hacker, tu canal de ciberseguridad de tú a tú creado por la periodista y formadora Yolanda Corral. Dedicado al mundo de la seguridad informática donde el verbo hackear y el sustantivo seguridad se dan la mano para aprender con los mejores profesionales y construir entre todos una red más segura. Síguelo en Twitter en @Palabradehacker, accede a los vídeos en YouTube https://www.youtube.com/c/Palabradehacker-ciberseguridad y descubre toda la información en la web: https://www.yolandacorral.com/palabra-de-hacker Updated




