title
How to Become a Developer

description
Learn about how to become a developer and how to be an outstanding junior developer. And here's an update 2.5 years later from John: https://www.youtube.com/watch?v=lo4BSraYvc8 Talk by John Mosesman at the freeCodeCamp OKC meetup. Thanks to John and Techlahoma for giving us permission to share. https://johnmosesman.com/ https://twitter.com/johnmosesman Follow Techlahoma's YouTube channel at: https://www.youtube.com/channel/UCnLf0pfqIpSfKuPZ0e9iiNQ -- Learn to code for free and get a developer job: https://www.freecodecamp.org Read hundreds of articles on programming: https://medium.freecodecamp.org

detail
{'title': 'How to Become a Developer', 'heatmap': [{'end': 656.266, 'start': 629.344, 'weight': 0.761}, {'end': 880.809, 'start': 857.383, 'weight': 0.807}, {'end': 952.912, 'start': 926.767, 'weight': 1}, {'end': 994.209, 'start': 969.843, 'weight': 0.706}, {'end': 1197.175, 'start': 1172.366, 'weight': 0.963}, {'end': 2145.86, 'start': 2128.567, 'weight': 0.794}], 'summary': 'Provides a comprehensive guide on becoming a software developer, emphasizing the positive impact of tech on personal and professional growth, the joy and versatility of programming, challenges and opportunities in web development, effective problem-solving skills, and job preparation strategies, offering valuable insights into the industry and necessary skills.', 'chapters': [{'end': 211.72, 'segs': [{'end': 51.504, 'src': 'embed', 'start': 23.266, 'weight': 2, 'content': [{'end': 25.969, 'text': 'The title of this talk is How to Become a Developer.', 'start': 23.266, 'duration': 2.703}, {'end': 33.778, 'text': "It's a collection of a lot of the experiences that I've had, some of the things I think I did right in almost everything I did wrong,", 'start': 26.209, 'duration': 7.569}, {'end': 40.34, 'text': "as well as the experiences of some people that I've helped mentor through this process.", 'start': 33.778, 'duration': 6.562}, {'end': 44.042, 'text': 'Just recently, there was a guy who had no programming experience at all.', 'start': 40.36, 'duration': 3.682}, {'end': 46.222, 'text': 'Just got his first job two months ago.', 'start': 44.762, 'duration': 1.46}, {'end': 48.463, 'text': 'And so this is really fresh on my mind.', 'start': 46.783, 'duration': 1.68}, {'end': 51.504, 'text': 'And I know the great things that tech has done for my life.', 'start': 48.543, 'duration': 2.961}], 'summary': 'Talk on becoming a developer, sharing experiences and mentoring success, with a recent example of a person getting their first job after no programming experience.', 'duration': 28.238, 'max_score': 23.266, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc823266.jpg'}, {'end': 108.373, 'src': 'embed', 'start': 85.902, 'weight': 0, 'content': [{'end': 93.528, 'text': "we're gonna talk about why you might wanna become a developer, what skills you might need, what kind of developer, what type of development.", 'start': 85.902, 'duration': 7.626}, {'end': 96.29, 'text': 'Talk about like okay, how do you actually do that?', 'start': 94.288, 'duration': 2.002}, {'end': 103.375, 'text': 'And also talk about how to get your first job with a little bonus, of how to be an outstanding junior developer.', 'start': 97.01, 'duration': 6.365}, {'end': 108.373, 'text': "So I imagine you have some reasons why you wouldn't become a developer, otherwise you wouldn't be here.", 'start': 104.79, 'duration': 3.583}], 'summary': 'Exploring motivations, skills, and steps to become a developer and secure a first job.', 'duration': 22.471, 'max_score': 85.902, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc885902.jpg'}, {'end': 152.695, 'src': 'embed', 'start': 124.229, 'weight': 1, 'content': [{'end': 128.773, 'text': 'And the rate at which you can increase that is probably higher than about any other field out there.', 'start': 124.229, 'duration': 4.544}, {'end': 134.583, 'text': "Secondly, I think there's huge market potential still to be had for development.", 'start': 130.18, 'duration': 4.403}, {'end': 137.085, 'text': 'I mean, everything has programming in it.', 'start': 134.643, 'duration': 2.442}, {'end': 139.867, 'text': "You can tweet from your fridge if that's a thing that you would want to do.", 'start': 137.205, 'duration': 2.662}, {'end': 145.771, 'text': 'And so programming has given us such incredible scale and efficiency in business.', 'start': 140.567, 'duration': 5.204}, {'end': 146.551, 'text': "Like, it's here to stay.", 'start': 145.791, 'duration': 0.76}, {'end': 152.695, 'text': "And while there may be some type of super AI that can program itself and take over the world, I mean, somebody's got to make that.", 'start': 147.032, 'duration': 5.663}], 'summary': 'Programming offers high earning potential and vast market opportunities due to its pervasive nature and efficiency in business.', 'duration': 28.466, 'max_score': 124.229, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8124229.jpg'}], 'start': 4.471, 'title': 'Becoming a software developer and the power of programming', 'summary': 'Discusses the journey of becoming a developer and the steps to become a fully employed software developer, emphasizing the positive impact of tech on personal and professional growth. it also highlights the high potential and market demand for programming, emphasizing its scalability and efficiency in business.', 'chapters': [{'end': 66.659, 'start': 4.471, 'title': 'Becoming a developer', 'summary': "Discusses the journey of becoming a developer, highlighting the speaker's experiences and the success of mentoring someone into their first programming job, emphasizing the positive impact of tech on personal and professional growth.", 'duration': 62.188, 'highlights': ['The speaker shares a collection of experiences and insights on how to become a developer, including both successful and failed attempts, as well as the mentoring experiences, showcasing the recent success of a mentee landing his first job in programming.', "Emphasizes the positive impact of technology by mentioning the great changes it has brought to the speaker's life and expressing enthusiasm in sharing knowledge to help others learn effectively.", "Acknowledges the audience's commitment to attending the talk as a significant first step in their journey to becoming developers, praising their proactive approach compared to those who are not taking any action."]}, {'end': 123.408, 'start': 67.58, 'title': 'Becoming a software developer', 'summary': 'Discusses the steps to become a fully employed software developer, including reasons for pursuing this career, required skills, and the lucrative nature of the field, with a focus on practical and personal reasons.', 'duration': 55.828, 'highlights': ['The median developer salary in your area is pretty good, serving as a practical reason for pursuing a career in software development.', 'The talk covers the reasons for becoming a developer, required skills, types of development, and how to secure the first job, emphasizing the comprehensive approach to entering the field.', 'The chapter is structured to address the reasons for pursuing a career in software development, the necessary skills, the different types of development, and practical advice on securing the first job, providing a holistic guide for aspiring developers.']}, {'end': 211.72, 'start': 124.229, 'title': 'The power of programming', 'summary': 'Highlights the high potential and market demand for programming, emphasizing its scalability and efficiency in business, as well as the benefits of learning to program for individuals with tech-related business ideas, emphasizing that programming is a known path and achievable with hard work.', 'duration': 87.491, 'highlights': ['Learning to program offers high market potential and scalability, with programming being present in various aspects of everyday life, thereby providing incredible scale and efficiency in business.', 'Individuals with tech-related business ideas can benefit from learning to program, as it enables them to bootstrap their ideas and overcome the challenges of finding and managing programmers.', 'Programming is a known path that is achievable with hard work, emphasizing the distinction that it is not hard but requires significant effort.']}], 'duration': 207.249, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc84471.jpg', 'highlights': ['The chapter provides a comprehensive guide for aspiring developers, covering reasons for pursuing a career in software development, required skills, types of development, and practical advice on securing the first job.', 'Learning to program offers high market potential and scalability, providing incredible scale and efficiency in business, and enabling individuals with tech-related business ideas to bootstrap their ideas and overcome challenges.', 'The speaker shares experiences and insights on becoming a developer, emphasizing the positive impact of technology and expressing enthusiasm in sharing knowledge to help others learn effectively.']}, {'end': 486.048, 'segs': [{'end': 249.5, 'src': 'embed', 'start': 213.661, 'weight': 0, 'content': [{'end': 215.722, 'text': 'So moving on to some personal reasons.', 'start': 213.661, 'duration': 2.061}, {'end': 225.569, 'text': 'I think some people are surprised when they start programming because they do it for all those practical things and then they find that they really just love it for what it is.', 'start': 216.482, 'duration': 9.087}, {'end': 231.034, 'text': 'And one of those reasons, I think, is that programming to me is pure creation.', 'start': 225.649, 'duration': 5.385}, {'end': 233.776, 'text': 'And if you have a creative itch, it will scratch that itch.', 'start': 231.114, 'duration': 2.662}, {'end': 240.381, 'text': 'A lot of people think about, oh, you know, creativity is art or music or dance or something like that.', 'start': 234.296, 'duration': 6.085}, {'end': 249.5, 'text': 'To me, creativity is anything where you have made something that was no longer there, or that was not there before you started.', 'start': 242.335, 'duration': 7.165}], 'summary': 'Programming is pure creation and scratches the creative itch, surprising people with its appeal beyond practicality.', 'duration': 35.839, 'max_score': 213.661, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8213661.jpg'}, {'end': 286.981, 'src': 'embed', 'start': 258.706, 'weight': 1, 'content': [{'end': 260.507, 'text': 'Making invisible robots from words.', 'start': 258.706, 'duration': 1.801}, {'end': 267.831, 'text': "Like, when you program things, you're commanding bits of matter to do stuff based on secret keywords that you type on your computer.", 'start': 261.067, 'duration': 6.764}, {'end': 271.854, 'text': "Like, that's kind of crazy, if you think about what actually happens when you program something.", 'start': 267.851, 'duration': 4.003}, {'end': 276.855, 'text': "To me, I also like programming because it's a domainless tool.", 'start': 273.353, 'duration': 3.502}, {'end': 286.981, 'text': "Programming is a very good tool and it's great at what it does, but you can like programming and at the same time not do it for programming.", 'start': 277.756, 'duration': 9.225}], 'summary': 'Programming commands matter using secret keywords, a domainless tool.', 'duration': 28.275, 'max_score': 258.706, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8258706.jpg'}, {'end': 335.462, 'src': 'embed', 'start': 300.767, 'weight': 3, 'content': [{'end': 302.327, 'text': "Notice I didn't say you were not good at computers.", 'start': 300.767, 'duration': 1.56}, {'end': 303.448, 'text': 'I said, you do not like them.', 'start': 302.407, 'duration': 1.041}, {'end': 304.968, 'text': "You don't like desk jobs.", 'start': 304.048, 'duration': 0.92}, {'end': 306.388, 'text': 'Sitting at a desk sucks.', 'start': 305.548, 'duration': 0.84}, {'end': 311.37, 'text': "I mean, it's awful for your health and it can start to be kind of painful over time.", 'start': 306.549, 'duration': 4.821}, {'end': 314.811, 'text': "And also if you don't like learning new things, programming is not for you.", 'start': 312.37, 'duration': 2.441}, {'end': 318.232, 'text': 'The world of programming adapts so quickly and changes so fast.', 'start': 315.051, 'duration': 3.181}, {'end': 321.413, 'text': "If you're not learning, you're going to get left behind.", 'start': 318.892, 'duration': 2.521}, {'end': 324.948, 'text': "Now, there's a notable exclusion there, I think.", 'start': 323.086, 'duration': 1.862}, {'end': 329.174, 'text': "Some of you might be thinking, oh, I'm not good at math, or I'm not smart.", 'start': 325.329, 'duration': 3.845}, {'end': 335.462, 'text': 'And these are just silly things we tell ourselves based on a teacher we had in high school or an experience we had.', 'start': 329.774, 'duration': 5.688}], 'summary': 'Disliking desk jobs affects health; programming requires constant learning and adaptation.', 'duration': 34.695, 'max_score': 300.767, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8300767.jpg'}, {'end': 381.918, 'src': 'embed', 'start': 339.827, 'weight': 4, 'content': [{'end': 340.668, 'text': "You don't have to be good at math.", 'start': 339.827, 'duration': 0.841}, {'end': 342.13, 'text': "There's really not that much math in programming.", 'start': 340.708, 'duration': 1.422}, {'end': 350.379, 'text': 'Okay, so moving on to what skills do we need? You might be surprised that I only put one thing in this list.', 'start': 344.158, 'duration': 6.221}, {'end': 355.521, 'text': 'And to me, that is pure and utter determination.', 'start': 351.08, 'duration': 4.441}, {'end': 361.082, 'text': "Like. you have to know that you're going to beat this little piece of metal and it may kick you down a couple times,", 'start': 356.201, 'duration': 4.881}, {'end': 364.523, 'text': "but in the end you're going to triumph and learn this, and you can do it.", 'start': 361.082, 'duration': 3.441}, {'end': 365.443, 'text': "That's all you need.", 'start': 364.903, 'duration': 0.54}, {'end': 375.595, 'text': 'So when I started programming, it was the first day of my freshman year in college in the computer science program and I had done no programming,', 'start': 367.031, 'duration': 8.564}, {'end': 376.676, 'text': 'had absolutely no idea.', 'start': 375.595, 'duration': 1.081}, {'end': 379.237, 'text': 'And it kicked my butt continually.', 'start': 377.276, 'duration': 1.961}, {'end': 381.918, 'text': 'And it was awful, and I had no idea what I was doing.', 'start': 379.937, 'duration': 1.981}], 'summary': "Programming requires determination more than math skills, as shared by a college freshman's experience.", 'duration': 42.091, 'max_score': 339.827, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8339827.jpg'}, {'end': 473.522, 'src': 'embed', 'start': 445.811, 'weight': 6, 'content': [{'end': 448.352, 'text': 'If you have questions about that, we can talk about it after the talk.', 'start': 445.811, 'duration': 2.541}, {'end': 450.713, 'text': "But you don't need a computer science degree.", 'start': 448.372, 'duration': 2.341}, {'end': 455.015, 'text': 'I had a friend of mine who gave me an analogy that I really liked.', 'start': 451.313, 'duration': 3.702}, {'end': 459.036, 'text': 'And he talked about being a welder versus a material scientist.', 'start': 455.895, 'duration': 3.141}, {'end': 462.118, 'text': 'And to me, programming is like being a welder.', 'start': 459.677, 'duration': 2.441}, {'end': 467.279, 'text': "You have tools, it's a skill and a craft that you Learn how to do.", 'start': 462.338, 'duration': 4.941}, {'end': 471.681, 'text': 'Now, if you want a computer science degree, I relate that more to material science.', 'start': 468.14, 'duration': 3.541}, {'end': 473.522, 'text': "You're discovering new materials.", 'start': 471.701, 'duration': 1.821}], 'summary': 'Programming is like being a welder, not needing a computer science degree.', 'duration': 27.711, 'max_score': 445.811, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8445811.jpg'}], 'start': 213.661, 'title': 'Programming and success', 'summary': 'Explores the joy of programming, its versatility, and reasons for not pursuing it. it also emphasizes determination as a key success factor in programming, highlighting how tech savviness, math skills, and a computer science degree are not prerequisites for success.', 'chapters': [{'end': 318.232, 'start': 213.661, 'title': 'The joy of programming', 'summary': 'Discusses the joy of programming as a creative endeavor, the ability to apply programming to various interests, and reasons why someone may not want to become a developer.', 'duration': 104.571, 'highlights': ['Programming as a form of pure creation, scratching the creative itch, and the ability to apply it to various interests.', 'The concept of making invisible robots from words, which highlights the intriguing nature of programming and its impact on matter.', 'The flexibility of programming as a domainless tool and its applicability to diverse interests and hobbies.', 'The importance of liking computers, enjoying desk jobs, and embracing continuous learning as essential attributes for becoming a developer.']}, {'end': 486.048, 'start': 318.892, 'title': 'Skills for success in programming', 'summary': "Emphasizes determination as the key skill for success in programming, illustrated by the speaker's personal experience of gradually acquiring skills and knowledge without the need for tech savviness, math proficiency, or a computer science degree.", 'duration': 167.156, 'highlights': ["Determination is the most crucial skill for success in programming, as illustrated by the speaker's journey from being a novice to acquiring skills and knowledge over time, ultimately securing multiple job opportunities in the field.", "The speaker's experience of starting with no programming background in college and gradually acquiring skills and knowledge, leading to job opportunities, serves as a testament to the importance of determination in programming.", 'The speaker emphasizes that one does not need to be tech savvy, proficient in math and science, or possess a computer science degree to succeed in programming, highlighting the significance of determination over traditional qualifications.', 'The analogy of programming being akin to being a welder, a skill and craft that can be learned without the need for a computer science degree, further underscores the message of determination being the key to success in the field.']}], 'duration': 272.387, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8213661.jpg', 'highlights': ['Programming as a form of pure creation, scratching the creative itch, and the ability to apply it to various interests.', 'The flexibility of programming as a domainless tool and its applicability to diverse interests and hobbies.', 'The concept of making invisible robots from words, highlighting the intriguing nature of programming and its impact on matter.', 'The importance of liking computers, enjoying desk jobs, and embracing continuous learning as essential attributes for becoming a developer.', "Determination is the most crucial skill for success in programming, as illustrated by the speaker's journey from being a novice to acquiring skills and knowledge over time, ultimately securing multiple job opportunities in the field.", 'The speaker emphasizes that one does not need to be tech savvy, proficient in math and science, or possess a computer science degree to succeed in programming, highlighting the significance of determination over traditional qualifications.', 'The analogy of programming being akin to being a welder, a skill and craft that can be learned without the need for a computer science degree, further underscores the message of determination being the key to success in the field.', "The speaker's experience of starting with no programming background in college and gradually acquiring skills and knowledge, leading to job opportunities, serves as a testament to the importance of determination in programming."]}, {'end': 800.209, 'segs': [{'end': 552.888, 'src': 'embed', 'start': 510.392, 'weight': 0, 'content': [{'end': 513.433, 'text': 'And so you pick up the first node maybe on each of those things.', 'start': 510.392, 'duration': 3.041}, {'end': 515.154, 'text': 'And maybe you get the second one and the third.', 'start': 513.592, 'duration': 1.562}, {'end': 521.035, 'text': 'And over time, you build up this really impressive knowledge of skills because the web is continually evolving.', 'start': 515.214, 'duration': 5.821}, {'end': 525.458, 'text': "And there's much more to learn than there was five, 10 years ago.", 'start': 521.135, 'duration': 4.323}, {'end': 531.14, 'text': "So let's talk about what kind of developer we want to be.", 'start': 525.478, 'duration': 5.662}, {'end': 537.976, 'text': 'Development is kind of like music in that music has genres and instruments.', 'start': 533.973, 'duration': 4.003}, {'end': 545.242, 'text': "You might, if you wanted to be a musician, you'd say, I want to be an electric guitarist in a rock band, or I want to play bass in a jazz trio.", 'start': 538.757, 'duration': 6.485}, {'end': 547.704, 'text': 'And development has very similar things.', 'start': 545.902, 'duration': 1.802}, {'end': 552.888, 'text': 'Just like music has genres, programming has types of applications.', 'start': 547.764, 'duration': 5.124}], 'summary': 'Developers need to continually learn as web evolves. different types of development are like music genres and instruments.', 'duration': 42.496, 'max_score': 510.392, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8510392.jpg'}, {'end': 681.481, 'src': 'heatmap', 'start': 629.344, 'weight': 2, 'content': [{'end': 632.666, 'text': 'If you want to make a mobile app, that data is coming from somewhere.', 'start': 629.344, 'duration': 3.322}, {'end': 633.707, 'text': "It's coming from an API.", 'start': 632.686, 'duration': 1.021}, {'end': 634.767, 'text': "It's coming from a web app.", 'start': 633.827, 'duration': 0.94}, {'end': 639.07, 'text': "If you want to do Internet of Things, that's like all APIs, like things talking to each other.", 'start': 634.787, 'duration': 4.283}, {'end': 641.712, 'text': 'So web apps is an amazing place to start.', 'start': 639.79, 'duration': 1.922}, {'end': 643.621, 'text': "Don't make websites.", 'start': 642.981, 'duration': 0.64}, {'end': 647.243, 'text': "Websites are dead, and you don't want to do that.", 'start': 644.442, 'duration': 2.801}, {'end': 654.345, 'text': "Okay, so what kind of development do we want to do? In this, I've broken it kind of into two categories.", 'start': 648.743, 'duration': 5.602}, {'end': 656.266, 'text': 'First one is the front end.', 'start': 655.285, 'duration': 0.981}, {'end': 658.867, 'text': 'This is the thing that you interact with.', 'start': 656.506, 'duration': 2.361}, {'end': 660.447, 'text': 'This is the presentation layer.', 'start': 659.007, 'duration': 1.44}, {'end': 665.229, 'text': "It's the thing that takes the data and then makes it in a human, readable, workable way.", 'start': 661.027, 'duration': 4.202}, {'end': 670.475, 'text': 'And so a front end developer is concerned with things like How does it look? How does it feel?', 'start': 665.769, 'duration': 4.706}, {'end': 671.455, 'text': 'How do you interact with it?', 'start': 670.555, 'duration': 0.9}, {'end': 677.018, 'text': 'You probably use technologies like HTML CSS, JS, React, Angular, Ember.', 'start': 671.936, 'duration': 5.082}, {'end': 681.481, 'text': 'In contrast to that, we have the back end.', 'start': 678.639, 'duration': 2.842}], 'summary': 'Focus on api-driven mobile and iot apps. consider front-end and back-end development technologies like html, css, js, react, angular, ember.', 'duration': 46.694, 'max_score': 629.344, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8629344.jpg'}, {'end': 792.343, 'src': 'embed', 'start': 762.601, 'weight': 5, 'content': [{'end': 763.481, 'text': 'Now, this can be kind of daunting.', 'start': 762.601, 'duration': 0.88}, {'end': 765.082, 'text': 'There are a lot of programming languages out there.', 'start': 763.501, 'duration': 1.581}, {'end': 766.583, 'text': "There's a lot of information.", 'start': 765.102, 'duration': 1.481}, {'end': 773.587, 'text': "But there really is not a bad choice, unless you didn't pick Bulbasaur, in which case you chose poorly.", 'start': 767.183, 'duration': 6.404}, {'end': 777.709, 'text': 'The thing is, is any experience is a good experience when you start.', 'start': 774.407, 'duration': 3.302}, {'end': 784.897, 'text': "There's kind of this weird phenomena with weightlifting where somebody came to you and said, I want to raise my bench press.", 'start': 778.712, 'duration': 6.185}, {'end': 792.343, 'text': 'If you told them to go run every day a mile for four weeks, it would raise their bench press, which makes no sense.', 'start': 785.437, 'duration': 6.906}], 'summary': 'Numerous programming languages available; any choice is good to start, akin to a peculiar weightlifting phenomenon.', 'duration': 29.742, 'max_score': 762.601, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8762601.jpg'}], 'start': 487.989, 'title': 'Learning rails and web development basics', 'summary': 'Discusses challenges of learning rails, emphasizing continuous skill acquisition in a constantly evolving web environment, and explores different types of web development, emphasizing the importance of web apps and offering guidance on choosing programming languages for beginners.', 'chapters': [{'end': 552.888, 'start': 487.989, 'title': 'Learning rails: one bite at a time', 'summary': 'Discusses the challenges of learning rails, emphasizing the need for continuous skill acquisition in a constantly evolving web environment, likening development to music with different genres and types of applications.', 'duration': 64.899, 'highlights': ["Learning Rails involves acquiring a multitude of skills, akin to eating an elephant 'one bite at a time', reflecting the continual evolution of web development.", 'The comparison between development and music highlights the diverse genres and types of applications in programming, similar to the different genres and instruments in music.', 'The chapter emphasizes the need for continuous skill acquisition in a constantly evolving web environment, reflecting the ever-expanding knowledge required in development.']}, {'end': 800.209, 'start': 554.089, 'title': 'Web development basics and choosing a specialization', 'summary': 'Explores the different types of development, emphasizing the importance of web apps and the versatility of full stack development, and offers guidance on choosing programming languages for beginners.', 'duration': 246.12, 'highlights': ['Web development is categorized into websites, web apps, native apps, and generic internet of things, with emphasis on the importance of web apps due to their core role and transferable skills to other types of development. Web development is categorized into websites, web apps, native apps, and generic internet of things, with emphasis on the importance of web apps due to their core role and transferable skills to other types of development.', 'The chapter distinguishes front-end and back-end development, highlighting the focus of front-end on the user interface and experience, and the role of back-end in powering the front-end through servers, network requests, and databases. The chapter distinguishes front-end and back-end development, highlighting the focus of front-end on the user interface and experience, and the role of back-end in powering the front-end through servers, network requests, and databases.', "The concept of full stack development is introduced, advocating for learning a wide range of skills to specialize in a particular area over time, with the analogy of building the top and stem of a 'T'. The concept of full stack development is introduced, advocating for learning a wide range of skills to specialize in a particular area over time, with the analogy of building the top and stem of a 'T'.", 'The importance of choosing a programming language is emphasized, with the advice that any experience is beneficial for beginners and there is no bad choice, likening it to the phenomenon of any experience improving physical strength in an unadapted state. The importance of choosing a programming language is emphasized, with the advice that any experience is beneficial for beginners and there is no bad choice, likening it to the phenomenon of any experience improving physical strength in an unadapted state.']}], 'duration': 312.22, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8487989.jpg', 'highlights': ['Learning Rails involves acquiring a multitude of skills, reflecting the continual evolution of web development.', 'The comparison between development and music highlights the diverse genres and types of applications in programming.', 'Web development is categorized into websites, web apps, native apps, and generic internet of things, with emphasis on the importance of web apps.', 'The chapter distinguishes front-end and back-end development, highlighting the focus of front-end on the user interface and experience, and the role of back-end in powering the front-end through servers, network requests, and databases.', 'The concept of full stack development is introduced, advocating for learning a wide range of skills to specialize in a particular area over time.', 'The importance of choosing a programming language is emphasized, with the advice that any experience is beneficial for beginners and there is no bad choice.']}, {'end': 1384.228, 'segs': [{'end': 833.422, 'src': 'embed', 'start': 800.249, 'weight': 1, 'content': [{'end': 801.891, 'text': 'Just pick something, do something.', 'start': 800.249, 'duration': 1.642}, {'end': 805.574, 'text': 'It will become clear how to move and pivot as you go along the way.', 'start': 802.391, 'duration': 3.183}, {'end': 809.814, 'text': 'Okay, but seriously, just tell me a language, please.', 'start': 807.031, 'duration': 2.783}, {'end': 813.538, 'text': 'Before I do that, I have to give you a disclaimer.', 'start': 812.016, 'duration': 1.522}, {'end': 819.864, 'text': 'So, asking a programmer what language you should use is incredibly biased.', 'start': 814.519, 'duration': 5.345}, {'end': 824.348, 'text': 'Like, people have chosen languages and based their entire career around these things.', 'start': 820.324, 'duration': 4.024}, {'end': 828.279, 'text': 'Okay, this is like asking, Try not to offend people.', 'start': 824.368, 'duration': 3.911}, {'end': 833.422, 'text': "Somebody in a multi-level marketing scheme, like, should I use your competitor or the other one? Like, you're getting a pitch.", 'start': 828.599, 'duration': 4.823}], 'summary': 'Choosing a programming language is biased and influenced by careers and preferences.', 'duration': 33.173, 'max_score': 800.249, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8800249.jpg'}, {'end': 890.705, 'src': 'heatmap', 'start': 857.383, 'weight': 0.807, 'content': [{'end': 858.523, 'text': "that I'll talk about later.", 'start': 857.383, 'duration': 1.14}, {'end': 862.664, 'text': 'But you want to pick a language that is stable.', 'start': 859.704, 'duration': 2.96}, {'end': 869.026, 'text': "If you're trying to learn it and the components of the language are changing out from under you between versions,", 'start': 863.325, 'duration': 5.701}, {'end': 869.926, 'text': "you're not going to have a good time.", 'start': 869.026, 'duration': 0.9}, {'end': 871.707, 'text': 'Cough Angular 1 to 2.', 'start': 870.106, 'duration': 1.601}, {'end': 872.927, 'text': 'You want it to be beginner friendly.', 'start': 871.707, 'duration': 1.22}, {'end': 878.048, 'text': "C and C++ are amazing, powerful languages, but they're not beginner friendly.", 'start': 873.907, 'duration': 4.141}, {'end': 880.809, 'text': "Like, don't give yourself more pain than you have to at the beginning.", 'start': 878.588, 'duration': 2.221}, {'end': 884.15, 'text': 'You want something that has a large community.', 'start': 881.609, 'duration': 2.541}, {'end': 890.705, 'text': 'OK, you want something where when you go to Google, the first 10 hits are for that language.', 'start': 885.08, 'duration': 5.625}], 'summary': 'Choose a stable, beginner-friendly language with a large community for efficient learning.', 'duration': 33.322, 'max_score': 857.383, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8857383.jpg'}, {'end': 931.49, 'src': 'embed', 'start': 901.795, 'weight': 2, 'content': [{'end': 904.037, 'text': 'You want something that has a web framework, because you want to make web apps.', 'start': 901.795, 'duration': 2.242}, {'end': 908.901, 'text': 'And you want something that has been around for a while, but is still being maintained.', 'start': 904.878, 'duration': 4.023}, {'end': 912.415, 'text': "And it's kind of a balance that you have to work.", 'start': 909.653, 'duration': 2.762}, {'end': 919.681, 'text': "But it's important that it's continually being improved, but it's not changing so fast that it's going to blow you out of the water.", 'start': 913.136, 'duration': 6.545}, {'end': 925.165, 'text': 'So all that being said, I think all these are good languages to choose from.', 'start': 920.802, 'duration': 4.363}, {'end': 929.369, 'text': 'Someone is angry in the chat saying, .NET and Node are not a language.', 'start': 926.767, 'duration': 2.602}, {'end': 931.49, 'text': "We can't hear you, so stop yelling.", 'start': 930.169, 'duration': 1.321}], 'summary': 'Seek a stable, well-maintained web framework for creating web apps that balances continual improvement with stability. various good languages to choose from.', 'duration': 29.695, 'max_score': 901.795, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8901795.jpg'}, {'end': 961.457, 'src': 'heatmap', 'start': 926.767, 'weight': 1, 'content': [{'end': 929.369, 'text': 'Someone is angry in the chat saying, .NET and Node are not a language.', 'start': 926.767, 'duration': 2.602}, {'end': 931.49, 'text': "We can't hear you, so stop yelling.", 'start': 930.169, 'duration': 1.321}, {'end': 933.552, 'text': "Just don't pick PHP.", 'start': 932.711, 'duration': 0.841}, {'end': 935.734, 'text': 'Just please pick one on the left.', 'start': 933.652, 'duration': 2.082}, {'end': 938.297, 'text': "If you pick PHP, that's fine.", 'start': 936.676, 'duration': 1.621}, {'end': 939.137, 'text': "You'll learn eventually.", 'start': 938.517, 'duration': 0.62}, {'end': 941.759, 'text': 'Sometimes bad experience points you towards good experience.', 'start': 939.478, 'duration': 2.281}, {'end': 945.121, 'text': 'Pick something you can make web things with.', 'start': 942.7, 'duration': 2.421}, {'end': 946.522, 'text': "That's the general point.", 'start': 945.481, 'duration': 1.041}, {'end': 952.912, 'text': 'OK, so you picked a language, how do we do this? Step one is to learn the language itself.', 'start': 947.628, 'duration': 5.284}, {'end': 961.457, 'text': "If I said, OK, we're going to write a passionate political essay in German, but you don't know any German, you're going to have a bad time.", 'start': 953.632, 'duration': 7.825}], 'summary': 'Advice on language choice: avoid php, choose a web-capable language, learn it first for success.', 'duration': 34.69, 'max_score': 926.767, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8926767.jpg'}, {'end': 1000.091, 'src': 'heatmap', 'start': 969.843, 'weight': 0.706, 'content': [{'end': 973.565, 'text': "You've got to learn the language yourself, or you're going to be tripping over yourself trying to do stuff.", 'start': 969.843, 'duration': 3.722}, {'end': 975.767, 'text': 'So work through the language.', 'start': 974.326, 'duration': 1.441}, {'end': 979.051, 'text': 'and then make CRUD apps.', 'start': 977.068, 'duration': 1.983}, {'end': 983.476, 'text': 'This is both a description of the quality of your apps and the type of app itself.', 'start': 979.892, 'duration': 3.584}, {'end': 988.762, 'text': "If you didn't know, CRUD stands for Create, Read, Update, Destroy.", 'start': 984.577, 'duration': 4.185}, {'end': 990.324, 'text': 'OK, this is like a Facebook feed.', 'start': 988.782, 'duration': 1.542}, {'end': 994.209, 'text': 'You make posts, you edit posts, you get your posts back, and you can delete them.', 'start': 990.685, 'duration': 3.524}, {'end': 1000.091, 'text': "After you do that, you're learning the language, you're learning the tools around the language.", 'start': 996.388, 'duration': 3.703}], 'summary': 'Learn language, build crud apps for practice. example: facebook feed functionalities.', 'duration': 30.248, 'max_score': 969.843, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8969843.jpg'}, {'end': 1054.513, 'src': 'embed', 'start': 1027.795, 'weight': 0, 'content': [{'end': 1031.96, 'text': "Learn some language stuff, make some CRUD apps, investigate something you don't know, and repeat.", 'start': 1027.795, 'duration': 4.165}, {'end': 1034.464, 'text': 'And just keep building and building on your knowledge.', 'start': 1032.161, 'duration': 2.303}, {'end': 1039.09, 'text': "OK, let's talk about getting your first job.", 'start': 1036.926, 'duration': 2.164}, {'end': 1047.291, 'text': "I'm going to quote myself, being quoted by Ryan, who's quoting me originally, when I say, this is probably the hardest part in the whole process.", 'start': 1040.39, 'duration': 6.901}, {'end': 1054.513, 'text': "Because there are a lot of things outside of your control with company logistics, the person that's interviewing you,", 'start': 1047.472, 'duration': 7.041}], 'summary': 'Advice on language learning, app development, and job hunting in tech.', 'duration': 26.718, 'max_score': 1027.795, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81027795.jpg'}, {'end': 1198.896, 'src': 'heatmap', 'start': 1172.366, 'weight': 0.963, 'content': [{'end': 1176.388, 'text': 'And then lastly, and probably the most important, make as many stupid apps as possible.', 'start': 1172.366, 'duration': 4.022}, {'end': 1179.429, 'text': 'Like as many, like dozens, hundreds if you can.', 'start': 1176.988, 'duration': 2.441}, {'end': 1181.65, 'text': 'And just absolutely dumb stuff.', 'start': 1180.149, 'duration': 1.501}, {'end': 1183.39, 'text': 'Like when Trump tweets, it emails your grandma.', 'start': 1181.75, 'duration': 1.64}, {'end': 1187.132, 'text': 'Just like literally anything you can think of, make an app out of it.', 'start': 1183.631, 'duration': 3.501}, {'end': 1190.431, 'text': 'Okay, so getting back to the first job.', 'start': 1189.11, 'duration': 1.321}, {'end': 1195.294, 'text': "We've done all that stuff, we're prepping, what do we do? Step one, talk to recruiters.", 'start': 1191.091, 'duration': 4.203}, {'end': 1197.175, 'text': 'I got my first job through a recruiter.', 'start': 1195.914, 'duration': 1.261}, {'end': 1198.896, 'text': "I don't even know how they found my email.", 'start': 1197.195, 'duration': 1.701}], 'summary': 'Make many stupid apps, even hundreds if possible. also, talk to recruiters to get first job.', 'duration': 26.53, 'max_score': 1172.366, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81172366.jpg'}], 'start': 800.249, 'title': 'Choosing a programming language and getting your first job', 'summary': 'Discusses the biased nature of language recommendations and provides guidance on choosing a stable, beginner-friendly back-end language with a large community and web framework. it emphasizes the importance of continually building knowledge, social media presence, contributing to open source, and creating numerous apps to secure the first job, while also highlighting the significance of communication in the workplace.', 'chapters': [{'end': 842.128, 'start': 800.249, 'title': 'Choosing a programming language', 'summary': 'Discusses the biased nature of asking programmers for language recommendations, likening it to receiving a strong pitch from a multi-level marketing scheme.', 'duration': 41.879, 'highlights': ['The biased nature of asking programmers for language recommendations, likening it to receiving a strong pitch from a multi-level marketing scheme.', "The disclaimer about the biased nature of asking a programmer for language recommendations, highlighting the impact on individuals' career choices.", 'Encouragement to choose a language and pivot as you go along, emphasizing the clarity that comes from taking action.']}, {'end': 1384.228, 'start': 842.528, 'title': 'Choosing a back-end language and getting your first job', 'summary': 'Provides guidance on choosing a stable, beginner-friendly back-end language with a large community and web framework, emphasizing the importance of continually building knowledge, social media presence, contributing to open source, and creating numerous apps to secure the first job, while also highlighting the significance of communication in the workplace.', 'duration': 541.7, 'highlights': ['The chapter provides guidance on choosing a stable, beginner-friendly back-end language with a large community and web framework. It emphasizes the importance of stability, beginner-friendliness, a large community, and web framework in selecting a back-end language, such as recommending Ruby and advising against languages like C and C++ for beginners.', 'Emphasizes the importance of continually building knowledge, social media presence, contributing to open source, and creating numerous apps to secure the first job. It recommends continually building knowledge, maintaining a developer social media presence, contributing to open source, creating multiple apps, and networking to secure the first job, highlighting the benefits of attending meetups, contributing to open source, and actively engaging in the developer community.', 'Highlights the significance of communication in the workplace, providing a framework for effective communication in problem-solving scenarios. It emphasizes the importance of effective communication in the workplace and provides a framework for communicating technical issues, encouraging comprehensive information sharing to facilitate problem-solving and reduce frustration for both parties involved.']}], 'duration': 583.979, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc8800249.jpg', 'highlights': ['The chapter emphasizes the importance of continually building knowledge, social media presence, contributing to open source, and creating numerous apps to secure the first job.', 'The biased nature of asking programmers for language recommendations, likening it to receiving a strong pitch from a multi-level marketing scheme.', 'The chapter provides guidance on choosing a stable, beginner-friendly back-end language with a large community and web framework.']}, {'end': 1830.494, 'segs': [{'end': 1414.135, 'src': 'embed', 'start': 1384.368, 'weight': 0, 'content': [{'end': 1386.15, 'text': 'We can jump right there and start working on the problem.', 'start': 1384.368, 'duration': 1.782}, {'end': 1390.596, 'text': 'The next thing is to hone your Google foo.', 'start': 1387.993, 'duration': 2.603}, {'end': 1393.087, 'text': 'You think you can Google, but you cannot.', 'start': 1391.667, 'duration': 1.42}, {'end': 1393.988, 'text': 'You will learn.', 'start': 1393.428, 'duration': 0.56}, {'end': 1398.689, 'text': 'Googling well is a skill as much as being able to write Ruby.', 'start': 1394.808, 'duration': 3.881}, {'end': 1402.451, 'text': 'Okay, sometimes you just want to paste that whole bad boy in there.', 'start': 1398.709, 'duration': 3.742}, {'end': 1405.132, 'text': 'Just copy paste, bam, first hit.', 'start': 1402.951, 'duration': 2.181}, {'end': 1406.692, 'text': 'That works well.', 'start': 1406.152, 'duration': 0.54}, {'end': 1410.113, 'text': 'Now you want to remove project specific info.', 'start': 1407.372, 'duration': 2.741}, {'end': 1414.135, 'text': "Google does not know what undefined function, who's that Pokemon, it's Pikachu is.", 'start': 1410.974, 'duration': 3.161}], 'summary': 'Improving google search skills is crucial for problem-solving. copy-pasting can yield first hits, but project-specific info should be removed.', 'duration': 29.767, 'max_score': 1384.368, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81384368.jpg'}, {'end': 1462.775, 'src': 'embed', 'start': 1430.452, 'weight': 1, 'content': [{'end': 1433.735, 'text': 'but this is the amount of time you work on something before you ask for help.', 'start': 1430.452, 'duration': 3.283}, {'end': 1436.837, 'text': 'This could be 15 minutes, 30 minutes, an hour, whatever it is.', 'start': 1434.395, 'duration': 2.442}, {'end': 1441.801, 'text': 'And you want to give it your best shot and try and figure it out before you ask for help.', 'start': 1437.538, 'duration': 4.263}, {'end': 1451.209, 'text': "Now the important thing is, let's say you hit a problem, hit a problem, hit a problem, you get help, you're frustrated, but you move on and then bam,", 'start': 1443.883, 'duration': 7.326}, {'end': 1451.59, 'text': 'a new error.', 'start': 1451.209, 'duration': 0.381}, {'end': 1456.353, 'text': 'What the tendency is, is to go ask for help immediately again.', 'start': 1452.512, 'duration': 3.841}, {'end': 1462.775, 'text': 'But reset the timer, try it again, remember to relax, take breaks if you need to.', 'start': 1456.973, 'duration': 5.802}], 'summary': 'Set a time limit before asking for help, and reset the timer if facing new errors.', 'duration': 32.323, 'max_score': 1430.452, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81430452.jpg'}, {'end': 1501.722, 'src': 'embed', 'start': 1474.179, 'weight': 2, 'content': [{'end': 1478.58, 'text': 'So for you to really grow as a developer, you want to learn how to fix your own problems.', 'start': 1474.179, 'duration': 4.401}, {'end': 1482.32, 'text': 'Couple miscellaneous tips.', 'start': 1480.677, 'duration': 1.643}, {'end': 1484.383, 'text': 'Ask the duck.', 'start': 1483.622, 'duration': 0.761}, {'end': 1489.939, 'text': 'Has anyone heard of rubber duck debugging? This is common in the programming world.', 'start': 1485.024, 'duration': 4.915}, {'end': 1496.981, 'text': "I don't remember the exact origin, but there's a boss or a professor who put a literal rubber duck on his desk.", 'start': 1490.059, 'duration': 6.922}, {'end': 1501.722, 'text': 'And before people could ask him questions, they had to walk up and audibly ask the duck the question.', 'start': 1497.541, 'duration': 4.181}], 'summary': "Developers should learn to fix their own problems, use 'rubber duck debugging' for help.", 'duration': 27.543, 'max_score': 1474.179, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81474179.jpg'}, {'end': 1561.915, 'src': 'embed', 'start': 1534.586, 'weight': 3, 'content': [{'end': 1537.488, 'text': 'At my first job, I literally had stickies that I stuck to my monitor.', 'start': 1534.586, 'duration': 2.902}, {'end': 1543.19, 'text': 'If you figure out, oh, how do I add a new database column in a migration? You know, jot some notes down.', 'start': 1538.068, 'duration': 5.122}, {'end': 1545.051, 'text': "You're going to be referring to these things a lot.", 'start': 1543.43, 'duration': 1.621}, {'end': 1551.434, 'text': "And it's impressive to see that when I see somebody that has taken notes and is really trying to learn and remember,", 'start': 1545.611, 'duration': 5.823}, {'end': 1554.015, 'text': "versus someone who's just like hey, how do I do this?", 'start': 1551.434, 'duration': 2.581}, {'end': 1555.496, 'text': "And it's like we've done this six times.", 'start': 1554.035, 'duration': 1.461}, {'end': 1557.857, 'text': 'Like, you know, got to keep progressing.', 'start': 1555.556, 'duration': 2.301}, {'end': 1561.915, 'text': 'Lastly, fight imposter syndrome.', 'start': 1559.813, 'duration': 2.102}], 'summary': 'Taking notes helps learning and progress, fight imposter syndrome.', 'duration': 27.329, 'max_score': 1534.586, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81534586.jpg'}, {'end': 1652.554, 'src': 'embed', 'start': 1588.126, 'weight': 4, 'content': [{'end': 1593.594, 'text': "You have valuable experience, especially coming outside of the programming world, that you can bring to whatever you're doing.", 'start': 1588.126, 'duration': 5.468}, {'end': 1599.502, 'text': 'So lastly, I want to talk about closing the junior-senior gap.', 'start': 1595.697, 'duration': 3.805}, {'end': 1607.596, 'text': 'And a lot of people, when they think about these loose terms of junior and senior developer, they think, oh, the senior has all this knowledge.', 'start': 1600.31, 'duration': 7.286}, {'end': 1610.799, 'text': 'They have all this experience where they just know the answer.', 'start': 1607.636, 'duration': 3.163}, {'end': 1612.341, 'text': 'They see something and just boom, they know it.', 'start': 1610.839, 'duration': 1.502}, {'end': 1615.103, 'text': 'And that is true to an extent.', 'start': 1613.021, 'duration': 2.082}, {'end': 1616.164, 'text': 'You will gain knowledge.', 'start': 1615.303, 'duration': 0.861}, {'end': 1625.852, 'text': "But the thing that really separates someone who's, I think, a great developer and a good one is that great developers have a problem-solving system.", 'start': 1616.704, 'duration': 9.148}, {'end': 1632.274, 'text': 'They have honed and polished this system to where, yes, they may get stuck,', 'start': 1626.593, 'duration': 5.681}, {'end': 1635.355, 'text': 'but they are so fast at figuring it out because they go straight to the problem.', 'start': 1632.274, 'duration': 3.081}, {'end': 1637.696, 'text': 'They research, they implement it, and it works.', 'start': 1635.915, 'duration': 1.781}, {'end': 1640.936, 'text': "And so I'm going to give you five debugging tips.", 'start': 1638.356, 'duration': 2.58}, {'end': 1644.017, 'text': 'You can use this from day one all the way throughout your career.', 'start': 1641.316, 'duration': 2.701}, {'end': 1648.118, 'text': "Number one, when you run into a problem, don't thrash your code.", 'start': 1644.797, 'duration': 3.321}, {'end': 1652.554, 'text': 'Most people when they run into a problem, they just go crazy changing stuff.', 'start': 1649.011, 'duration': 3.543}], 'summary': 'Valuable experience can bridge junior-senior gap; great developers have problem-solving system and 5 debugging tips.', 'duration': 64.428, 'max_score': 1588.126, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81588126.jpg'}], 'start': 1384.368, 'title': 'Developing effective problem-solving skills', 'summary': 'Covers effective problem-solving techniques for developers, emphasizing the importance of honing google search skills, setting time limits before seeking help, utilizing rubber duck debugging, maintaining a notes system for learning and reference, and providing five key debugging tips. it also highlights the misconception of the junior-senior gap in the programming world.', 'chapters': [{'end': 1551.434, 'start': 1384.368, 'title': 'Effective problem-solving for developers', 'summary': 'Outlines effective problem-solving techniques for developers, emphasizing the importance of honing google search skills, setting time limits before seeking help, utilizing rubber duck debugging, and maintaining a notes system for learning and reference.', 'duration': 167.066, 'highlights': ['Honing Google search skills is crucial for developers, as effective googling is a valuable skill comparable to coding in a specific language. ', 'Setting time limits, such as 15-30 minutes, before seeking help on a problem encourages developers to give their best effort in problem-solving before asking for assistance. ', "Utilizing the 'rubber duck debugging' technique, where developers explain their problem to an inanimate object or person, often leads to self-discovery of the solution before seeking external help. ", 'Encouraging the practice of taking notes to document and remember solutions and learnings, which aids in personal development and problem-solving efficiency. ']}, {'end': 1830.494, 'start': 1551.434, 'title': 'Developing problem-solving skills and closing the junior-senior gap', 'summary': 'Emphasizes the importance of developing problem-solving skills as a developer, providing five key debugging tips, and highlights the misconception of the junior-senior gap in the programming world.', 'duration': 279.06, 'highlights': ['Develop problem-solving system as a great developer Great developers have honed and polished problem-solving systems, enabling them to resolve issues quickly and efficiently.', 'Provide five debugging tips for developers The speaker shares five practical debugging tips for developers, emphasizing the importance of reading error messages and using print statements to identify issues.', 'Address the misconception of the junior-senior gap in programming The speaker challenges the misconception of the junior-senior gap, highlighting the valuable experiences and skills that individuals from non-programming backgrounds bring to the field.']}], 'duration': 446.126, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81384368.jpg', 'highlights': ['Honing Google search skills is crucial for developers, as effective googling is a valuable skill comparable to coding in a specific language.', 'Setting time limits, such as 15-30 minutes, before seeking help on a problem encourages developers to give their best effort in problem-solving before asking for assistance.', "Utilizing the 'rubber duck debugging' technique, where developers explain their problem to an inanimate object or person, often leads to self-discovery of the solution before seeking external help.", 'Encouraging the practice of taking notes to document and remember solutions and learnings, which aids in personal development and problem-solving efficiency.', 'Develop problem-solving system as a great developer Great developers have honed and polished problem-solving systems, enabling them to resolve issues quickly and efficiently.', 'Provide five debugging tips for developers The speaker shares five practical debugging tips for developers, emphasizing the importance of reading error messages and using print statements to identify issues.', 'Address the misconception of the junior-senior gap in programming The speaker challenges the misconception of the junior-senior gap, highlighting the valuable experiences and skills that individuals from non-programming backgrounds bring to the field.']}, {'end': 2248.986, 'segs': [{'end': 1861.372, 'src': 'embed', 'start': 1830.654, 'weight': 1, 'content': [{'end': 1832.275, 'text': "If you want to try Ruby, that's a great link.", 'start': 1830.654, 'duration': 1.621}, {'end': 1838.217, 'text': "The Rails tutorial that I mentioned, every Rails developer in the world has gone through that book and it's amazing.", 'start': 1833.035, 'duration': 5.182}, {'end': 1842.379, 'text': "Even if you don't end up choosing Rails, that's probably still a good book to go through.", 'start': 1838.937, 'duration': 3.442}, {'end': 1847.701, 'text': "That's the link to my extras doc and then to Ryan's interview if you didn't see that talk.", 'start': 1842.399, 'duration': 5.302}, {'end': 1851.942, 'text': "I'm at John Mosesman about everywhere on the web.", 'start': 1849.641, 'duration': 2.301}, {'end': 1856.464, 'text': "If you want to talk, I'd be happy to talk with you, help you in any way I can.", 'start': 1852.442, 'duration': 4.022}, {'end': 1861.372, 'text': "And with that, let's have some questions.", 'start': 1858.17, 'duration': 3.202}], 'summary': 'Recommendations for learning ruby and rails, with an offer for assistance and contact information.', 'duration': 30.718, 'max_score': 1830.654, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81830654.jpg'}, {'end': 1980.484, 'src': 'embed', 'start': 1910.976, 'weight': 0, 'content': [{'end': 1917.593, 'text': 'What should you do next? I would say, I think picking another language is probably good.', 'start': 1910.976, 'duration': 6.617}, {'end': 1921.655, 'text': "I think you'll find that a lot of the things you did in Ruby will directly transfer, like.", 'start': 1917.813, 'duration': 3.842}, {'end': 1924.996, 'text': 'the syntax is a little different, but the concepts are there.', 'start': 1921.655, 'duration': 3.341}, {'end': 1930.038, 'text': "Like I said in the talk, I don't think it really matters which one you pick.", 'start': 1926.356, 'duration': 3.682}, {'end': 1937.4, 'text': "I would talk to recruiters and see who's hiring, whether that's .NET or something JavaScript based or whatever.", 'start': 1930.398, 'duration': 7.002}, {'end': 1941.161, 'text': 'In the meantime.', 'start': 1939.841, 'duration': 1.32}, {'end': 1946.663, 'text': 'so let me ask what was What do you think the problem was in finding a Ruby job?', 'start': 1941.161, 'duration': 5.502}, {'end': 1951.145, 'text': "Were you not able to find enough things to apply to or you weren't able to get far enough?", 'start': 1946.683, 'duration': 4.462}, {'end': 1964.973, 'text': 'Gotcha.', 'start': 1964.653, 'duration': 0.32}, {'end': 1974.802, 'text': 'Yeah Yeah.', 'start': 1966.734, 'duration': 8.068}, {'end': 1980.484, 'text': 'Oklahoma is, or at least Oklahoma City, is very .NET centric.', 'start': 1977.163, 'duration': 3.321}], 'summary': 'Consider learning another language like .net or javascript, as concepts from ruby can directly transfer.', 'duration': 69.508, 'max_score': 1910.976, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81910976.jpg'}, {'end': 2053.81, 'src': 'embed', 'start': 1999.662, 'weight': 3, 'content': [{'end': 2007.248, 'text': "But picking up something like JavaScript, whether that's Angular or React, or something like that,", 'start': 1999.662, 'duration': 7.586}, {'end': 2010.17, 'text': "that's going to directly translate into any other job you do.", 'start': 2007.248, 'duration': 2.922}, {'end': 2012.952, 'text': "So I don't think there's a bad option.", 'start': 2011.03, 'duration': 1.922}, {'end': 2014.593, 'text': 'I think you should have to kind of pick something.', 'start': 2013.332, 'duration': 1.261}, {'end': 2017.695, 'text': "But definitely go talk to the recruiters and see just what's out there.", 'start': 2015.133, 'duration': 2.562}, {'end': 2042.181, 'text': "Anyone else? Yes? Ready for the first job? I don't think you ever hit a point where you're like, yeah, now I'm ready.", 'start': 2028.063, 'duration': 14.118}, {'end': 2045.386, 'text': "I think it's just about continually growing.", 'start': 2042.682, 'duration': 2.704}, {'end': 2048.529, 'text': 'And over time, things will line up.', 'start': 2046.428, 'duration': 2.101}, {'end': 2053.81, 'text': "Because the job thing is tough because, like I said, there's so many things outside of your control.", 'start': 2048.549, 'duration': 5.261}], 'summary': 'Learning javascript frameworks like angular or react can enhance job prospects. continuous growth is key, and job readiness is an ongoing process.', 'duration': 54.148, 'max_score': 1999.662, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81999662.jpg'}, {'end': 2109.698, 'src': 'embed', 'start': 2077.768, 'weight': 4, 'content': [{'end': 2078.688, 'text': 'can I make CRUD apps??', 'start': 2077.768, 'duration': 0.92}, {'end': 2080.11, 'text': 'Do I know what APIs are??', 'start': 2078.989, 'duration': 1.121}, {'end': 2081.591, 'text': 'Have I made them??', 'start': 2080.17, 'duration': 1.421}, {'end': 2082.871, 'text': 'Can I do some SQL stuff??', 'start': 2081.63, 'duration': 1.241}, {'end': 2086.534, 'text': 'Have I used all the major JavaScript CSS frameworks??', 'start': 2083.132, 'duration': 3.402}, {'end': 2088.936, 'text': "There's some checkboxes like that?", 'start': 2087.635, 'duration': 1.301}, {'end': 2094.259, 'text': "But I really think it's just about continuing to grow until something lines up.", 'start': 2089.416, 'duration': 4.843}, {'end': 2102.728, 'text': 'Or on the other flip side is, and it sounds bad, but the stronger your network is, the more people you know.', 'start': 2095.697, 'duration': 7.031}, {'end': 2109.698, 'text': "If I know you really well, and I'm working in a place where it's like hey, we could take on another developer right now.", 'start': 2103.55, 'duration': 6.148}], 'summary': 'Aspiring to excel in crud apps, apis, sql, javascript, and css frameworks to expand network for job opportunities.', 'duration': 31.93, 'max_score': 2077.768, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc82077768.jpg'}, {'end': 2150.484, 'src': 'heatmap', 'start': 2128.567, 'weight': 0.794, 'content': [{'end': 2137.495, 'text': "The question is have It's a good question have I ever Based on my computer science background basically have I ever like directly use that in a job.", 'start': 2128.567, 'duration': 8.928}, {'end': 2143.338, 'text': "I got so close to using it that I'm dead serious.", 'start': 2138.376, 'duration': 4.962}, {'end': 2145.86, 'text': 'One time, I got so close.', 'start': 2143.838, 'duration': 2.022}, {'end': 2147.761, 'text': 'I was like, yes, I got this.', 'start': 2145.88, 'duration': 1.881}, {'end': 2148.722, 'text': "I don't even remember what it was.", 'start': 2147.781, 'duration': 0.941}, {'end': 2150.484, 'text': "And then I was like, actually, there's a better way to do this.", 'start': 2148.982, 'duration': 1.502}], 'summary': 'Computer science background almost used directly in a job, but found a better way.', 'duration': 21.917, 'max_score': 2128.567, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc82128567.jpg'}, {'end': 2196.206, 'src': 'embed', 'start': 2167.782, 'weight': 6, 'content': [{'end': 2170.364, 'text': 'Yeah, so you asked specifically have you ever used recursion?', 'start': 2167.782, 'duration': 2.582}, {'end': 2175.408, 'text': "And it's like I mean, like you said, recursion and loops can generally be kind of interchanged.", 'start': 2170.825, 'duration': 4.583}, {'end': 2178.651, 'text': "So here's another great thing I should mention.", 'start': 2177.25, 'duration': 1.401}, {'end': 2181.353, 'text': "There's so many resources online now.", 'start': 2178.711, 'duration': 2.642}, {'end': 2187.679, 'text': 'I think Stanford has an online class where they basically put their CS class online.', 'start': 2181.413, 'duration': 6.266}, {'end': 2191.443, 'text': "And so if you need to learn about So you don't need to learn about those things.", 'start': 2187.819, 'duration': 3.624}, {'end': 2196.206, 'text': "But if you're like, oh, I don't really understand recursion, there's tons of stuff online to go see.", 'start': 2191.483, 'duration': 4.723}], 'summary': 'Recursion and loops can be interchanged, stanford offers cs class online.', 'duration': 28.424, 'max_score': 2167.782, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc82167782.jpg'}, {'end': 2248.986, 'src': 'embed', 'start': 2229.956, 'weight': 7, 'content': [{'end': 2236.961, 'text': "to where just the time and money it takes to go through that degree it's not the fastest path to get where you want to go if you want to do development.", 'start': 2229.956, 'duration': 7.005}, {'end': 2238.262, 'text': 'I guess is the overall point.', 'start': 2237.281, 'duration': 0.981}, {'end': 2239.382, 'text': 'Good question.', 'start': 2238.962, 'duration': 0.42}, {'end': 2248.986, 'text': 'Anybody else? All right, thank you.', 'start': 2244.726, 'duration': 4.26}], 'summary': 'Getting a degree takes time and money, not the fastest path for development.', 'duration': 19.03, 'max_score': 2229.956, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc82229956.jpg'}], 'start': 1830.654, 'title': 'Programming language choice and job preparation', 'summary': 'Emphasizes the significance of selecting a programming language such as ruby or .net and suggests exploring languages like javascript, angular, or react. it also underlines the importance of continual growth, networking, and utilizing online resources for learning.', 'chapters': [{'end': 2017.695, 'start': 1830.654, 'title': 'Choosing a programming language', 'summary': 'Discusses the importance of choosing a programming language, such as ruby or .net, and advises on exploring other languages like javascript, angular, or react to enhance job prospects and transferable skills.', 'duration': 187.041, 'highlights': ['The Rails tutorial is highly recommended for every Rails developer and is considered amazing, even if not choosing Rails.', 'Picking another language after learning Ruby is advised, as many concepts will directly transfer, and talking to recruiters about job opportunities is suggested.', 'Learning .NET is encouraged, especially in an area like Oklahoma City, which is .NET centric, and gaining more experience in JavaScript, Angular, or React is seen as beneficial for job prospects.', 'The speaker offers to help and discuss further, emphasizing the importance of talking to recruiters and exploring available options.']}, {'end': 2248.986, 'start': 2028.063, 'title': 'Preparing for a programming job', 'summary': 'Discusses the readiness for a programming job, emphasizing continual growth, the importance of networking, and the availability of online resources for learning computer science concepts.', 'duration': 220.923, 'highlights': ['The importance of continual growth and perseverance in preparing for a programming job, with the mention of specific skills like CRUD apps, APIs, SQL, JavaScript, and CSS frameworks.', "The significance of networking and knowing people in securing a programming job, highlighting the advantage of having a strong network and being at the top of someone's list for job opportunities.", 'The lack of necessity for a computer science background in average programming gigs, with the exception of companies like Amazon, Google, and Facebook which require it for solving complex problems.', "The abundance of online resources for learning computer science concepts, including the mention of Stanford's online CS class and the book 'The Imposter Handbook' by Rob Connery, which breaks down important CS concepts.", 'The inefficiency of pursuing a traditional computer science degree in comparison to utilizing available resources for learning and entering the development field.']}], 'duration': 418.332, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/lo4BSraYvc8/pics/lo4BSraYvc81830654.jpg', 'highlights': ['Learning .NET is encouraged, especially in .NET centric areas like Oklahoma City.', 'The Rails tutorial is highly recommended for every Rails developer.', 'Picking another language after learning Ruby is advised, as many concepts will directly transfer.', 'Gaining more experience in JavaScript, Angular, or React is beneficial for job prospects.', 'The importance of networking and knowing people in securing a programming job.', 'The significance of continual growth and perseverance in preparing for a programming job.', 'The abundance of online resources for learning computer science concepts.', 'The inefficiency of pursuing a traditional computer science degree in comparison to utilizing available resources for learning and entering the development field.']}], 'highlights': ['Learning to program offers high market potential and scalability, providing incredible scale and efficiency in business, and enabling individuals with tech-related business ideas to bootstrap their ideas and overcome challenges.', 'The chapter provides a comprehensive guide for aspiring developers, covering reasons for pursuing a career in software development, required skills, types of development, and practical advice on securing the first job.', 'The speaker shares experiences and insights on becoming a developer, emphasizing the positive impact of technology and expressing enthusiasm in sharing knowledge to help others learn effectively.', 'The concept of making invisible robots from words, highlighting the intriguing nature of programming and its impact on matter.', 'The flexibility of programming as a domainless tool and its applicability to diverse interests and hobbies.', 'The importance of liking computers, enjoying desk jobs, and embracing continuous learning as essential attributes for becoming a developer.', "Determination is the most crucial skill for success in programming, as illustrated by the speaker's journey from being a novice to acquiring skills and knowledge over time, ultimately securing multiple job opportunities in the field.", 'The speaker emphasizes that one does not need to be tech savvy, proficient in math and science, or possess a computer science degree to succeed in programming, highlighting the significance of determination over traditional qualifications.', 'The analogy of programming being akin to being a welder, a skill and craft that can be learned without the need for a computer science degree, further underscores the message of determination being the key to success in the field.', "The speaker's experience of starting with no programming background in college and gradually acquiring skills and knowledge, leading to job opportunities, serves as a testament to the importance of determination in programming.", 'Learning Rails involves acquiring a multitude of skills, reflecting the continual evolution of web development.', 'The comparison between development and music highlights the diverse genres and types of applications in programming.', 'Web development is categorized into websites, web apps, native apps, and generic internet of things, with emphasis on the importance of web apps.', 'The chapter distinguishes front-end and back-end development, highlighting the focus of front-end on the user interface and experience, and the role of back-end in powering the front-end through servers, network requests, and databases.', 'The concept of full stack development is introduced, advocating for learning a wide range of skills to specialize in a particular area over time.', 'The importance of choosing a programming language is emphasized, with the advice that any experience is beneficial for beginners and there is no bad choice.', 'The chapter emphasizes the importance of continually building knowledge, social media presence, contributing to open source, and creating numerous apps to secure the first job.', 'The biased nature of asking programmers for language recommendations, likening it to receiving a strong pitch from a multi-level marketing scheme.', 'The chapter provides guidance on choosing a stable, beginner-friendly back-end language with a large community and web framework.', 'Honing Google search skills is crucial for developers, as effective googling is a valuable skill comparable to coding in a specific language.', 'Setting time limits, such as 15-30 minutes, before seeking help on a problem encourages developers to give their best effort in problem-solving before asking for assistance.', "Utilizing the 'rubber duck debugging' technique, where developers explain their problem to an inanimate object or person, often leads to self-discovery of the solution before seeking external help.", 'Encouraging the practice of taking notes to document and remember solutions and learnings, which aids in personal development and problem-solving efficiency.', 'Develop problem-solving system as a great developer Great developers have honed and polished problem-solving systems, enabling them to resolve issues quickly and efficiently.', 'Provide five debugging tips for developers The speaker shares five practical debugging tips for developers, emphasizing the importance of reading error messages and using print statements to identify issues.', 'Address the misconception of the junior-senior gap in programming The speaker challenges the misconception of the junior-senior gap, highlighting the valuable experiences and skills that individuals from non-programming backgrounds bring to the field.', 'Learning .NET is encouraged, especially in .NET centric areas like Oklahoma City.', 'The Rails tutorial is highly recommended for every Rails developer.', 'Picking another language after learning Ruby is advised, as many concepts will directly transfer.', 'Gaining more experience in JavaScript, Angular, or React is beneficial for job prospects.', 'The importance of networking and knowing people in securing a programming job.', 'The significance of continual growth and perseverance in preparing for a programming job.', 'The abundance of online resources for learning computer science concepts.', 'The inefficiency of pursuing a traditional computer science degree in comparison to utilizing available resources for learning and entering the development field.']}