ahaha i like that analogy but id say when it comes to web develop,ent the big problem these days is people are learning typescript before the learn javascript, and on top of that the're learning javascript throught react or Next.js. i think all the new wave of 'build this website clone' style of tutorial is good for learning something like react, but only good if youve alrady done the boring part on learning the actual programminhg primitives/semantics.
Entry level into any job is a liability. SWE is not special. Yea companies don’t owe you anything, but if finance or consulting can do it why can’t tech? You’re not expected to do anything net positive for YEARs in those positions. In the end when us senior devs retire who is going to replace us? I think the tech community is getting too pretentious.
Agreed. I was mindblown that my engineer colleagues expect to never train or show the admins what they've done. They expect admins to reverse engineer their unicorn deployments with zero guidance. Which is possible, but is generally an engineer/architect skill that admins don't always have the experience for. Documentation and training are critical.
Finance doesn't have this problem. There aren't a million people doing bootcamps on "Anyone can be a Financial Analysis.. follow me" courses. If you have no degree you can't get into this group. No one goes from Wendy's drive-thru with a GED to Finance entry-level.
@@edrivenstudioslevar I can tell you from first-hand experience as someone that got a finance degree and worked as a financial analyst for 6 or so years, you could definitely teach someone how to be a financial analyst (at least the kind I was doing) in a bootcamp type setting. It's not rocket science, and I think that clearly bootcamps are not all great and there's a lot to refine here but I think it's a good idea that people are recognizing you don't have go to school for 4 years and mostly learn about unrelated topics in order to learn a specific job function.
In post-covid world, you can now hire people remotely to solve software problems. The best coders in the world aren't in America. They are in Asia and willing to work for less. At the end of the day these companies are about profit. The high salaries of interns and junior devs was an anomaly of the easy money era which was creating inflation in the broader economy.
... of course there is?!? 1. It's as complicated as ever. For each innovative abstraction that improves DX we fill that space with a new cognitive demand. For the "average developer" it's never going to get easier than it used to be for the "average developer", it will always be as difficult as can be tolerated by the market. 2a. No one has figured out an efficient way to teach this stuff( and there might not be one ). 2b. Not everyone starts when they're 11. Until we start teaching dev/CS to 5th graders en masse, there is no way around this. 2c. Adults have to make money. Can't expect CS/Bootcamp grads to spend 5 years post-grad as interns while they figure out how to actually contribute to non-pet projects, while also learning how to be professionals. The seniors complaining about the "skill gaps" are likely the only ones who can help fix it. Learn to develop new talent like EVERY OTHER INDUSTRY does. You frame the issue solely as falling on those pesky "New Developers" then you won't see the ways you can make constructive changes.
There is clearly a diminishing return to increasing the level of abstraction. Once you go beyond a certain point, you lose fine control. There is a reason why we write code and not plain english sentences.
completely agree. im writing a book now to teach people this stuff from the bottom with a very small focus on actual language syntax or projects, specifically because thats focused on too much and everyone who understands this expects you to just go get a degree. theyd rather whine and gatekeep than develop newcomers to the industry and show them the ropes. also i started at 19 so its interesting you make the "not everyone started at 11" point
1) I certainly see what you're saying. But I think it depends on what job you're going for. If you're looking for "the main full-stack dev" (or whatever that is) - it's true. You'll be expected to (or feel like you're expected to) know a ton of stuff. But that's when you're tying to fill ALL NEEDS. Real devs don't feel like that. This is just one type of role - and set of perceived expectations. In that way - yes - "it will always be as difficult as can be tolerated by the market" -- so, what I'm saying is -- don't do that. Don't play that game (at least at first). 2a) I think I've got it down pretty good - and we keep iterating and it's going well. And I'm very sure about what _doesn't_ work. 2b) I started when I was 29. I think people assume I'm talking about "elite coders!" or something. I'm talking about making websites. I know people of all ages and backgrounds with happy careers at every level of skill. Some people get paid 80k to update the events in a CMS. This isn't about leetcode. It's about just "being a part of the teams that build and maintain hypermedia systems" - and it's not as hard-core as people seem to think. I'm not a senior complaining about a skill gap. I'm someone who wants to help people see that they DON'T NEED TO HAVE A SKILL GAP - if they choose to do things just a little differently - in a different order. If people learn a bit more of the core concepts and get the right type of practice, companies will be more likely to feel confident training them. I'm not saying it's "the new developers" fault. I'm saying that it's a failure to clearly outline goals and how to achieve them.
I understand that the younger generation doesn't give a shit about the fundamentals, but regardless of the new shiny framework, underneath it all works on the same binary compute principles as it did 80 years ago, nothing has fundamentally changed. So if you wanna know why your money making website crashes every 10 hours or under load then no new shiny JS framework is gonna help you.
Depends on the company, I was hired fresh out of college and started contributing on week 2 with little to no training. I was working on the same tickets as mid levels. I have a couple years of experience now and the main difference is I get tasks done quicker.
@@carguy-xv2cl Same thing for me. Sure I took way longer and had more rejections on pull requests - almost all PRs had comments in the first few months - but even without education in CS no one was there to teach me shit. I was less productive, made way less money, but got the job done without bothering other people more often than a couple hours a month.
I can only speak to my experience. I got my first job and was not trained. I just started building the websites as the projects came. But I've also been in a Sr. position and trained people up on the job. So, maybe it depends on the type of work and the size of the company. My point is NOT that Jr. people can't be Jr. - but that some people are expecting the bar to be lower than it is in reality. Spending some time trying isn't enough. I knew more by learning on my own when getting my first job than a lot of people I see coming out of average boot camps do. They have more experience with the ecosystem (which didn't exist at that time yet) - but much less experience solving problems and building things. This isn't about giving anyone a hard time. I'm just saying that people should learn the right things - to a reasonable depth (and I think that bar is pretty low) - before expecting to be hirable. Maybe where that line is drawn isn't clear, but I don't think it's asking too much. In fact, I think a lot of people would say my idea of "enough" is nowhere near enough.
Man, I disagree with a lot being said here. Companies absolutely owe people a chance, and owe upgrade paths. If your company can't afford redundancy and train folk into positions, its already a failing company. Focusing on extracting as much profit off of people as possible and claiming those people arent owed anything by businesses is absolutely wild. Operate your business witbout people, then. Obviously there's a balance to be found between "being a training center" and "being a profit center." There should be a healthy cycle of ingesting new and upskilling personnel internally. If a senior dev leaves, his midlevel should have been prepared to stand up and take his position, the junior into his middle-level, and pull in a new junior. It doesnt always work out, of course, but the intent should be there.
I think that companies certainly SHOULD be hiring entry-level devs. It's smart. I think what Don is saying is that people shouldn't count on being "given a chance" out of the goodness of corporate society. I think they are being plain stupid. But if people want to play ball, they're going to have to adjust a little to make the point.
lol. since when are businesses humanitarian entities? they're here to make as much money as possible. And people are making it seems there are no junior positions open. there are. it's just much more competitive. If i look at a resume - at a CS candidate from Stanford with 5 side projects vs some frat kid from community college that went to some boot camp. Who do you think I'm going to take? The one that put in years of work.
I agree. Training is a vital element of every field, and computer science is no different. The bottom line is that we need to do the same thing we did with software. Do it ourselves, make it open, make it free. Boom. Barrier gone. Decentralized free education is the best way to ensure enduring quality that prioritizes the student and not corporations trying to maximize profits or institutions trying to milk as much grant money and student loan income
@@logicaestrex2278 Most free education is still coming from taxes. The average elementary student in my city costs 20k+ a year. So, I think it's a bit more complicated. We have to fun people to create _better_ education and I think educators should be paid for their very important job.
@@sheriffderek oh I don't disagree, and by free I didn't mean state funded. That creates other problems. I'd love to hear your suggestions for what a sufficiently effective system would look like! Thanks for the reply friend
At my company, almost every new hire out of school got let go in a round of layoffs. The similarity? Attitude. The good ones are curious. They aren't necessarily smarter. But they have the right mind to learn new things and put in the EXTRA work. We've seen too many new hires who do the absolute minimum and don't care about much else. The good ones that we kept, had the traits i mentioned above. And this applies to all professions. Attitude is everything. A person with the right attitude who went to a bootcamp will do much better than a person with a comp sci degree from Stanford with the a wrong one.
This was a fun talk. Thanks for having me on, Don. I must apologize for my excessive use of 'like,' 'you know,' and 'or whatever.' It seems that mentioning 'San Diego' right off the bat somehow disabled my internal filter ;). Probably just excited to chat. Did you see Sam Altman's last presentation? He said "um" at the end of every single half-sentence. Not what I'm going for! Time to get back into Toastmasters, I guess! Goal for next time: 95% less "likes." : ) Also, the open office hours I do are on _Saturdays_ -
You did great and made a lot of good points. I've been in school for 3 years and took a lot of development/programming courses but none of them prepared me for the real world and most of my learning has been on my own. I wish they would have taught me more and given me more direction. I ended up staying in college but also doing a program called Code Louisville that helps mentor you and get a job. My school was teaching technology so out of date that there was no way I would have gotten a job unless I took drastic measures to do so. Thanks for the talk 🙏
My biggest critique towards what both of you are saying is that people will waste time learning things "under the hood" when it isn't relevant to their job. Most product managers don't know or care about the details. They want features shipped out fast and functional to the point that a lot of people, like myself, have to learn quickly. You end up with shallow, surface-level knowledge on tech stacks that senior engineers have already picked before you. For instance, my first job was building REST APIs in PHP for a legacy application. I had never used PHP before, as I was a JavaScript and .NET developer coming into the company. However, the priority was to deliver functional features promptly, rather than gaining in-depth knowledge of PHP's inner workings. In summary, while a strong grasp of fundamentals is valuable, the practical demands of a role may necessitate rapidly acquiring just enough knowledge to work effectively with the chosen technologies, even if they are unfamiliar. The focus is often on delivering working solutions using the established tech stack, rather than mastering the underlying details of those technologies.
What I see is there is a severe disconnect between what people think a software engineer does and what it actually takes to be a professional in this field. Bootcamps focus on just the coding aspect. There is more to this career than being a code monkey.
There's a ton of jobs out there that can get by with code monkeys and anything more might be overkill(over experienced for the job). Not all jobs are from FAANG/space-x/darpa. There's probably no need to reinvent the wheel when centering a div. As long as code monkeys are following best practices & using battle tested solutions, which are created/maintained by the experts, they can/do create careers out of this.
@@sagecoder8802 If this is your take, you clearly haven't worked on any substantial application before. The problem is not knowing how to center a div, but to understand the implications of what your code is doing, across the entire application stack. In my experience, "code monkeys" are nothing but a net negative to production, as they don't understand the meaning behind the functions they are calling, and why they have to follow best practices in the first place.
@@sagecoder8802 From my experience those code only jobs are being replaced by outsourcing or the company relying on SaaS services. Even at a non FAANG, a professional engineer will need to understand CI/CD, deployments, and generally know how to navigate the ambiguity of a corporate job. Software engineering is indeed a corporate white collar job that requires strong communication, some politics and how to influence others. We don’t purely sit down and code allow. If I have to tell you what to do at every stage of your career, I might as well look for a SaaS solution or AI to replace you. Sorry to say, but an engineers worth is not our coding abilities, it’s our abilities to solve business problems through technology. And to be a trusted advisor in the technology space to the business. You can be an okay coder but a great professional. They don’t go hand and hand. And to your point, not all jobs are FAANG jobs, sometimes all it takes to solve the problem is a configuration change and a meeting with a stakeholder
@@X85283 🤔 hm, care to elaborate about the personalities you notice? I know I'm introverted, get nervous, but have not too much issue talking my way through things especially if the other person understands what I'm talking about. Working on that skill of recalling what I've done so far and not being scared of sounding like I don't know what I'm talking about (learning to be less of a perfectionist)
I think there’s really an evangelization of “throwing away the abstractions” and “curiosity” that really just makes it easy to move goal posts. How is learning C get you any closer to a front end role? How does using messing around with a Rasberry Pi get you any closer to writing code for an enterprise backend? It doesn’t lol. When a company posts a listing for a job it seems very few hiring managers even have enough time to check portfolios that could be relevant to the role itself, let alone some random project completely unrelated to the role. This doesn’t mean to say don’t ever be curious or learn things outside of web dev that will get you a job, but I think the curiosity argument is just a great way to blame the current situation of the market on aspiring devs. It also continues to evangelize the idea of “keep building your portfolio” and “keep working on these projects”. It’s open-ended, so that you will keep up with the videos/ podcasts/subscriptions for more advice/guidance. I’m starting to believe there are more people capitalizing off aspiring devs then there are people actually making money building legit software that solves unique/distinct problems.
Realistically, if you are building projects at this point you should do it with the understanding no one may ever look at it and it is your passion project. Make sure it’s clean, focuses on reasonable best practices, focuses on detail as much as possible, and don’t worry if it doesn’t reinvent a square shaped wheel or a new javascript runtime
I agree wholeheartedly. The reality is the market is terrible . Having personal projects helps ; but to go all the way and get a job is a combination of a variety of factors . Some of which are out of control of the aspiring developer . Selling shovels(dev courses) is the most reliable way to a lucrative path in the web dev industry .
I learned web dev first, front end and back end. But it was all high level languages, for many years. Recently I started learning C and C++ and it completely evolved my understanding of memory management, dynamic data structures, different types of allocations etc. This not just about web development, it's about being a complete developer, to be able to do anything.
Learning C and C++ helps you understand how computers actually work. Your browser is written in C++ because it needs speed and efficiency. Webdevs must learn these languages because otherwise you will end up writing code thinking that your code is working on an infinitely resourceful theoretical machine. That may work for you for smaller projects until you actually start coding big stuff and then you will be completely clueless on why my browser is taking up so much memory or why certain things are really slow while others are fast inspite of you coding it without bugs etc.
This guy has a shallow understanding of the industry, especially of larger fortune 500 companies and how they work. You are given tasks to complete that fit into a larger project. NEVER are you just looking at an empty screen wondering what to make. Any competent developer, at small companies too, will already have ideas on what to put into the editor from even the very beginning.
I believe many boot camps target the type of role you're describing, which is why they teach the stack and methods they do. However, my point wasn't about _specific jobs_ but specific parts of *the learning journey*. Maybe the comment about an empty text editor was misunderstood. I see learning to work within a large codebase as part of an incremental process. Some people may see this as just a job, but that's not how my brain works. And I'm talking about roles that often intersect with UX and UI. For example, in my work, we might discover that we need a way to limit the total open spots in a social group (in a social app). We know that some users are happy with their group at 4 people total and don't want new applicants (even though usually there's a max of 8). In those situations, I actually *am* going to be staring at a blank piece of paper or CodePen, considering what might be an interesting interface for this. Then I'll make prototypes (like this CodePen codepen.io/perpetual-education/pen/yLwzPBe) and test them with users in-house, eventually iterating into a new feature. It depends on what type of developer you are and the size of the company. I could do this as a one-person shop or at the world's biggest tech company. There are certainly roles where developers strictly handle tickets and maintain or build features within a large codebase, often focusing on a single component at a time with full mockups already created and handed off. The design system might already be very mature, and it may even come down to pasting a few components next to each other or working out the data in a program like Storybook and never even touching the code. There's a wide spectrum of roles at companies of all sizes, including project management, UX, design systems, A/B testing, prototyping, documentation, managing tech debt, evolving database structures, or working on performance. At smaller companies, you might be building a SaaS product. All of these roles are real and valid. And I think _most_ of them involve problem-solving. We didn't have time to discuss them all ;). I don't mean to dismiss the structured task environment of large companies. Instead, I am emphasizing the overall preparedness and mindset of aspiring developers. Confidence with the medium and a sense of honest curiosity are crucial-regardless of the company's size or the nature of the tasks. I think it is important to understand the 'why' behind technologies and to take an interest in the outcome and the design process *as a whole*.
@@sheriffderekBoot camps *target* this, but they do it solely to check a "been educated" box and have zero educational value. This results in people who are literally incapable of doing a job having "better" credentials for corporate positions than others who actually might understand (or even like) the work.
You are oversimplifying his already simplified analogy. The point is that the demand for massive numbers of new programmers and resulting flood of applicants have resulted in a large number of people who aren't actually capable of the job as they only pursued this while looking at the possible paycheck. This is a serious problem across all fields which require academic expertise, from elementary teachers to doctors.
@@sheriffderek I liked your feedback and thankyou for the time and insight you spent providing it. Most of the content produced in larger Fortune 500 companies is for internal use only. So you know the how and why they reached your API endpoint or page. Even if you were to design a special project for a large company from scratch, you would have knowledge of how your project must fit within the company's ecosystem. Also most larger companies have Style Guides or Branding Guides and Guidelines. Some projects though are very unique such as a funnel for an interactive advertisement, which I could see causing some to pause looking at a black screen, but those situations are very rare. The rarity of the staring at a blank screen and not knowing how to move forward is the main point that I was trying to make. I think that happens more with hobby projects or people new to web development.
@@swegga4530 - become an expert in the business, just as your manager already is. I often see a problem at work and suggest to my manager a fix that has nothing to do with coding. Some examples are 1) creating a new policy on how to handle an upset customer to prevent future customers from getting upset to begin with 2) gently suggest to my manager that wants me to code something up to instead just use a shared google spreadsheet or google form 3) suggest to my manager a really slick way to fix a business problem by coding up something so the customer can just press a button instead of talking 3 days and hours of employee time. As you can see I often solve problems by NOT writing code unless it's absolutely necessary. No point to overcomplicate things. My manager knows that if she left I could step into her role and pick up her job with very little downtime because I know so much of what she knows. I enjoy coding and dislike all the meetings she attends. She has zero interest in coding and enjoys all her meetings, so we compliment each other. I work as a senior software engineer in the San Francisco Bay Area at a large (over 5000 person) research institution.
@@DonTheDeveloper In my experience, this is not exclusively an employee issue but a systemic problem within most companies. Many have very rigid structures and narrow silos for engineers, leading to frustration on both sides when interesting and creative inter-domain solutions are proposed. Management often lacks the technical knowledge, trust, and understanding to recognize or support these solutions. They don't care about aligning tasks with the abilities their employees truly excel at, leaving employees stuck with boring tasks that need to be solved according to some rigid and outdated plan. Furthermore, the hiring process is flawed because it focuses more on very specific skill sets and experiences rather than potential and creativity. As a result, companies don't know what they are looking for and fail to properly support genuinely intuitive, savvy, and creative experts who are indeed excellent problem solvers. This often even drives such individuals out of business, leaving companies to operate driven by buzzwords instead of genuine, product-oriented engineering.
i hate this. i’m not asking to write a react todo app and get a 100k job. i’m asking for any shot at a future that doesn’t involve me working until i die, never being able to own a house, being paycheck to paycheck with no escape. I literally have years of experience. I have a portfolio. I can talk about what I’ve done. This industry is broken. There is no reason to hire juniors for their value proposition, when they’ll take a year to really get decent and then just leave in another year because that’s the only way to move up. don’t even get me started on interviewing. I’ve worked with recruiters every day for years, applied to every company i like, tailored my resume and cover letter, send cold emails to all of them, cold Linkedin messages. And now I’m fucked because all of this has taken so much time that I have a significant gap in my resume. It is actually just impossible unless you have a network and demonstrated seniority. Is this really a junior friendly community where we help uplevel newer devs? It looks more like we’re being shamed here.
I did a bootcamp at the end of 2020 and I completely agree with everything you guys are saying. I love what I do, I always wanted to get involved in software but I needed the bootcamp to hand hold me enough to get going, uni wasn't an option though I wish I could of studied computer science now. I have worked with people that clearly don't really care and it shows in what they produce. This line of work requires someone who is kind of obsessed really imo - especially so if you are not going to get a comprehensive education and are self taught/bootcamp because you have so much you have to catch up on. The past few years I have been absolutely obsessed with learning how things work under the hood, and it makes it more apparent how bad it is being reliant on the high levels of abstraction especially prevalent in web dev. Then there is the software engineering side to it! This has come naturally to me, but I can imagine for many people it doesn't, and bootcamp isn't teaching you that. To conclude... there are probably alot of people who shouldn't be developers. I think with AI and the hype it is generating alongside their difficulty getting jobs, those people will be leaving the industry and that is probably for the best for all parties.
That's awesome to hear your growing excitement for digging a bit deeper. There's so much to learn! "I think with AI and the hype it is generating alongside their difficulty getting jobs, those people will be leaving the industry and that is probably for the best for all parties." I agree. This is the reality many people are not prepared to face, but this is already starting to happen. The dev job market will self-correct in time with this playing a role.
@@DonTheDeveloper Indeed, I think that is a huge part of my love for it. I have always been obsessed with understanding how things work in everything I've done. I truly am mind boggled when I speak to people who don't have that doing this - all of the best devs I've worked with are the same, and I've been incredibly lucky to meet some great guys who have worked at really interesting places. I hope it is happening. With that said I am being bombarded by recruiters at the moment... I've really been unsure what to attribute that to though.
@@DonTheDeveloper i think the sad thing probally also a lot of true aspiring devolopers who can do the job because of a mix of: bad timing, personal problems at home, economics , physical and mental handicaps, bad education (probally outdated bootcamps/colleges and paid courses or lack of knowledge about potential niches like robotics/embedded/cyber security ) , a lot of them gonna end up the same and i had half of these reasons i name that could made me end up in that bucket and i think that did not happen because i saw potential in the industry, i thought the knowledge could help me get closer to my dream project , it could help me economical , i was prepared to work longer than i thought and possibly fail , and i had more to win trying than losing and that helps. i was probally gonna end on the same boat and consoom on the windows 10/12 instead of give it all i can on a linux laptop wit ubuntu lts/linux mint installed.
A lot of the problem is that new kids have "skills" in a "stack" (i.e. they know how to program in Python, know how to set up MySQL DBs, and know how to use Flask/Django to make it all work).....but they haven't been part of "all-up" development of actual software, and individual projects are a very, very poor prep for Day Two of your job as a SWE. It's like getting your Driver's License at 16, driving a Prius, and then being told to load up an 18-wheeler and deliver a cargo to Denver.
Self-taught dev since 2006, and I agree with a lot of this. But flexbox and grid are definitely not abstractions! If I had to go back to using floats, I would protest. Floats were a hack.
More than floats, I think where people get stuck (for no good reason) is with display types. For example, dev tries to put a margin-top on a link (probably for the wrong reasons) (but to make more space above) - and it doesn’t work. They don’t know why. They get frustrated and just cement the idea that “I can’t make it look the way I want” - and it’s because HTML and CSS are dumb. And that’s that. Their whole career becomes avoiding it. I know people like this who work at big tech companies. So, maybe not floats so much (for layout) - but people don’t have a good understanding of why we have inline or block display types (and in the case of grid that changes too). I think it’s important for people to be able to think about these tools from the designers perspective. Why is CSS like that? Just a little thinking about it can really skip all that trouble.
@@sheriffderek Yeah, that stuff requires some study to understand. Same with stacking contexts. Ultimately, the frontend stack (and by "stack" I mean HTML/CSS/JS....not the frameworks) is simple on the surface and quite complex at the detail level. Anybody who writes it off as simple has likely never polished a frontend to completion.
@@sheriffderek Also, regarding CSS, I can't imagine jumping straight into Tailwind without having a ton of experience with vanilla CSS. I LOVE Tailwind, but I can see it being a mess if you don't know what's happening under the hood. I agree with the sentiments in the video about the importance of vanilla experience.
This is how i became a software engineer: i read about 60 books about everything: windows os programing, com dcom, windows drivers, linix programming, databases, directx, samba, low level network protocols, i wrote assembler code, while taking csc courses. I spent weekends programming and expolring what i learned. I understand so well how everything works at low level that you can give me any modern framework, library or a labguage and i can figure it out in a week. Taking 6 month of bootcamp will not help you. 20 uears ago there was no google and youtube so i read books.
Although the methods of learning are different today, I completely agree. You only get what you put in. It's not that a 6 month bootcamp won't help at all but how you decide to spend your spare time during the bootcamp and after it ends for the next few years.
the part about entitlement is spot on. Ppl really don`t understand, that another private entity owes them nothing in terms of money or job opportunities. Just like you don`t owe someone a free labor ...
His take at the 6:00 minute mark is really deep. Now I'm thinking about other aspects of my social life and agree that the follow-through is missing in multiple career paths.
I think there's a gap in the market that still hasn't been filled in terms of learning. Camps are too compressed, online courses tend to only give feature outlines, and University level is too theoretical compared to what industry actually wants in terms of practical value. A well structured course of 1 year in duration could probably do a lot. You need time to absorb, time to play around. I'm surprised none of the big tech companies themselves have filled that niche, but also not surprised.
I think you are right on the money with this. I've thought about this extensively. I think it's just a really tough selling point at that length and would be too much risk for the cost to develop it for most programs. But, I 100% agree with this.
Unfortunately that part of untaught knowledge is highly subjective and not as easily defined compared to existing C.S. theory. How would you provide a structured learning approach akin to those who already seek out a curriculum? I would argue that self taught people teach themselves and learn many of these things through a variety of ways. People who get a degree often look for something more guided. It could be useful, at least in the U.S., to make more of C.S. akin to a trade, requiring on-the-job experience.
@@retagainez It's not even defined well in some of the best known books. The industry is young, moves so fast, and there isn't a core foundation like in other industries that are well established. But I do think there's a middle ground somehow, there has to be right? I mean what does industry want; people can always be molded to suit the particulars of a company, but at a base level they shouldn't be total noobs.
@@shrunkensimon The things that change don't have well-defined books, yes. But things like Java programming stay fairly constant. Existing algorithms don't really change and are proven. So, again, I'm asking how would you create structure that provides that sort of stability and curriculum that walks students through? I think the best way is on-the-job training requiring students to participate in during their education, as you would in a trade.
“On the job training” is tough because you can’t trust the person to step up. But in many ways, when I’m working with someone - we’re working through real projects just like they would at the real job. By having a combination of established milestones and concepts (like a loose curriculum) with real projects that let you gain that experience - and having it customized to the person’s goal, I do think you can get the best of many angles. Being self taught will really force a strong connection, but it also invariably leads to a lot of lost time focusing on the wrong things. So, the mentality of being self-taught, but knowing you’re on the right track is a sweet spot.
Hipster tech is what everyone is learning without having any understanding of what it does. These people calling themselves devs these days are like a guy AI generating a song calling himself a musician.
The answer is going to have to be a paid mentorship program. My friend’s kid graduated in chemical engineering. He spent a full year in training before they would let him on the floor under guidance of a senior engineer.
Imagine a Bootcamp where they tell you "3 to 5 years of continued interest, and hard work after you graduate and you'll definitely land a dev position." Great candid conversation. Thank you!
Good points. What about the disconnect of asking for junior developers, but expecting 5 years of experience, having more responsibilities than the typical SSR?
Yeah. It's crazy. They just don't seem to know what they are doing. Having everyone one the team be "Sr" doesn't even make sense. You need a wide variety of skill and experience and interest to be the best team. The Sr. dev isn't likely going to want to - or even be good at doing many of the tasks.
Bro you can't even imagine, here in Las Vegas the incompetence level is off the charts everywhere. It's like all the college graduates never went to school or something.
I KNOW WHAT HE MEANS. We focus so hard on the HOW (the tools, the languages, the libraries....) and almost no time spent on the WHY. As in "this Bootcamp teaches me X technology, Y technology, and Z technology" - but without learning the "easy" technologies A through W, your X,Y,Z is honestly pretty useless. A software project with 30,000 dependencies, and is completely useless or barely works.
Yep....A lot of the time in trying to learn the topical stuff I come across things where I am told to use this thing but not why or in what cases. Great, I know what an array is...now where the fuck do I fit it into my website? Turns out it's more useful if you have a bunch of iterable information like an Amazon website product list but absolutely useless for making a lawyer's page advertising some narcissistic nonsense about fighting their damndest for you. Each tech I've worked with or come across has it's use cases and it's through pure accident that I learned what they are.
I taught as an adjunct for a web scripting class at a University and I asked the class to name a famous guitarist, and the only name any of the kids could come up with was Slash, and that in and of itself was concerning but I was asking because I was trying to drive home the point that Slash didn't just become a great guitarist because only played guitar during guitar class, he became a great guitarist because he loved playing guitar. When the class was ending I told the kids to think of the class as learning to ride a bike. I taught you how to ride the bike, but it's on you now to learn how to do tricks on the bike and take it from here. Same applies for web/software development if you want to be a developer you have to live it whether you're employed or not, even 20+ years after the www was invented the boundaries of what's possible haven't been drawn yet.
What I find strange, is all the backlash to that idea. "No one should have to like their job!" Well, OK. But you aren't going to be really good at it. At the same time, that's OK too. Most people are mediocre.
I envy people who have a passion for tech and actually enjoy coding. It's genuinely one of the most mind numbing things I've ever had to endure. The only lure about this industry is the money and perhaps the comfort of remote work which explains why so many young people want to do it. There isn't much opportunities out there for someone looking to reskill or change career without spending years getting a college degree and starting at the bottom again, hence why getting into tech is seen as a viable alternative option.
And that's fine. I don't think people should force themselves to write code if they don't enjoy it. Other opportunities do exist: trades, management, product, design, other types of engineering, accounting
The actual golden skill you develop while coding is being able to create a digital product out of thin air. You can literally create anything digitally. Any services, any business can be made with code. It's not even the money or the cushy prestigious job.
It's not the code, it's what you can create with it what we enjoy. Most of people who hates coding hates the project that they're into, hates the deadlines, hates their managers, but when you realize how to code properly and realize the power that you have in your bare hands, it can be really fun. Hating coding it's like hating a hammer, it's just a tool. Just find something that can be of your interest, a clone of an old videogame for instance.
Man it’s hard to reskill, I would rather go to medical school than write sql. But gosh the cost is very very high , and it will take forever doing it part time while working.
I think their perspectives are valid. I'm self taught and spent a few years making CLI projects or basic web apps before starting to work professionally using web frameworks. I come across other people who sometimes have been working professionally longer than me who seem to only know how to use their tools but don't understand the fundamentals enough to know why the tools are helpful and (even more importantly) when they're not. TLDR: Being intrinsically motived seems like a better indicator of long-term success in software engineering than only being extrinsically motivated for the money.
i think it's extremely important for developers to learn a systems programming language. you can still be productive without that but i noticed a massive shift in my problem solving ability and overall understanding of data structures and how things work. that was around 5 years ago for me and it was the best thing decision i ever made for my career.
@@jasonm9825 i would recommend rust or c personally. the rust ecosystem is a lot like npm which helped me quite a bit and it's also more high level than most of the systems languages. instead of manually freeing memory, it's handled through scope. so it's kind of like a combination of garbage collection and manual memory management. i found that mental model a lot easier coming from a javascript/typescript background.
Ask them to center a div though ;). I agree that being a problem solver is important! But not all problems require an engineering mindset. In some cases, engineers are a bad fit for some problems where things cannot be calculated.
I think a lot of people myself included try to rish through the foundations of html css and JavaScript to get to a framework such as react because thats what the job posts ask for. Of course that leads to problems. I havent gotten a job yet but I suspect the people who break through this block and go back and learn the foundations are the ones who end up with jobs or even their own profitable apps
This is absolutely true in my case. Started learning JS for a few months getting the basics down, then rushed through a bootcamp and crammed enough React in to bullshit my way through an interview and somehow landed a job. It's only now after 2 years of being a web developer that I am starting to put some of the building blocks together and go back to the fundamentals. I have a long way to go but I understand a lot more than I did a year ago. When I got hired I knew basically nothing but have always had a good work ethic and the persistence to try and figure things out so I guess they saw something good in me.
Any website that is somewhat functional requires data stores, server communication, data delivery, networking, load balancing, security, cicd, automated testing, then ui and ux, unless you understand those things, I won’t let you touch my code. It used to be that you had departments dealing with each of those areas, in the world of anything as code now, you as a developer is responsible for all these things and any one of those things can fuck up a website and loses me money
@@drchamp1902 Get over yourself home boy, nobody is trying to touch your precious code. And no, I don’t agree that in todays industry a single developer is responsible for maintaining all of these things. This is classic gate keeper talk from disgruntled developers who feel vastly superior to many of the newer breed of devs who have entered in the industry over the past few years. Maybe in a small start-up with 3 devs or if you are a free-lancer perhaps you need to be very well versed in all of these areas….but to say that you need all of this to simply work a dev today is a little over the top. I work on a project with with over 100 developers split in to over 10 teams. Having a knowledge of all of this stuff is super beneficial for sure and makes you far better suited to work on a variety of projects/teams. But you no not need to know the intricacies of each of these areas to be a developer. Just a broad understanding is enough for a lot of developers to get by just fine so long as they can specialize in something other area of importance.
i don't think learning javascript is enough. it wasn't until i learned a systems language around 5 years ago that i truly understood programming. i could still be productive before that but my ability to solve problems was inferior to my coworkers that had a computer science background.
It's pretty obvious why you see a lack of talent these days and it's because the demand is high, but the number of people who have passion for development is not as high as the demand. I write code outside of my job as do a lot of other good devs then you get ones who simply do the job then go home and don't enjoy it. That second set of people will never be able to catch up. One of the best developers I know even once they got a job as an executive still wrote a lot of code during his job when possible and outside it.
I have a mentor. There is a difference between corporate devs in a specific role vs a freelancer. I am attracted to both. From my observation, the corporate devs are not just professional but efficient as hell. It is amazing what people can accomplish as a team. There is a different skill demand for those environments. My mentor impresses upon me building tests to prove my code does what is required of it.
Got out of the Navy (2019). Went to coding boot camp and “learned” React (2020). Found a WordPress entry level web dev job (2021). Transitioned into SEO (2022). Very much enjoying SEO to this day.
This makes absolutely no sense, there are so many tools and this is why Git was made in the first place. If you can’t train and help guide new people that’s a shortcoming on your part, not theirs. I see this ego everywhere, lots of people forget where they started
I’m scarily aligned with this guest. I’m obsessed with UX, removing barriers, and finding sneaky ways to make things satisfying instead of frustrating. How does one get on this show? I’m sure this claim is a dime a dozen, but I can’t help but wonder if I might be able to contribute something useful!
There are TOO many developers. Software is a small part of life. We need more people working qith hardware and solving problems in the physical world. The idea that there was a "shortage" was a perversion of the market. Most of these big companies only need maybe 100 engineers to manage the code and innovate. The rest of the value is on the business operations side. Thats why all these big tech companies are downsizing. Your best bet as a junior dev is to start your own business. Thats why a good portion of tech people are leaning into social media for side income.
I don't have enough info to be sure.... but I often think this same thing. I encourage the people I work with to start their own companies (not so much social media though).
@@nerdobject5351 I've never heard a company say "There are too many developers - it's so easy to find them and hire them for cheap." But I've heard pretty much every company I've every been at or met talk about how hard it is to find good developers. And I helped hire recently and it was a horror show. So, - no. There aren't too many developers. There are too many unqualified people who think they are hirable developers.
took alot of words to get to the point but the key is you need to be fascinated by coding which naturally drives you to keep learning. And even those people will have a hard time finding a job.
15:00 totally agree there , knowing history and why it's there instead of just using abstraction. I mean if you build static website with mvc will better for SEO immediately than react SPA.
This is because they don’t think they have enough front-end work to justify a full-time position and for whatever reason can’t/won’t hire contractors. So in order to justify the position they have no choice but to expand the scope of the role to things they think you should be able to work on. Whether that makes sense or not is another discussion entirely.
23:05 You can layout a website without css at all using an image map, tables, and framesets like we did back in the late 90's and early 2000's. Its not pretty but I was so excited when we got tools like css positioning and the box model.
funny thing is, you don't need to know any of this. you can open Word and you can create static website in it by moving things placing things. no skill needed 😂 it was my first website more than 20 years ago 😂
5 year gap will be always there! Solution is mentorship and speaking your mind in the corporate environments , remove role blocks. As long this it jobs pays good there would be always people with wrong attitude and motives.
Its a massive gap among every industry that used to have to be taught hands on in person. Composers of yesterday that literally had to program eq in person for hours are far beyond anything online
I know people in LA who started as the coffee boy in the recording studio and now have big successful studios of their own. It certainly seems to be more rare, but I've seen people learn on the job in many of my companies. I do agree that there's a problem. I think it's a bigger issue. Might be about the pay. You get 8 devs, and you'd better be bringing in at least a million on top of all expenses and everyone else's expenses and buffer. I don't know how it is to run a big company - but I've seen a few burn 10k in an hour meeting that had no value. But as someone who pays interns - it's expensive! People need more just to live. And you have to make sure that money and time add up to something. Because all the big companies can undercut you with a snap.
@@sheriffderek well speaking of undercutting I just found out my mom stole my income tax money to pay for her and her aunt's cruise next week lol. So companies aren't the only one that's undercutting. Wicked
Look for mentors that are more experienced then you. A mentor doesn’t have to be the most experienced person in the world. They just have to be one step ahead of the person being mentored.
As one example, there was a time when I wanted to level up but didn't know who to ask. I had seen someone talking a lot about a particular framework. They created a course and were looking for beta testers. Or sometimes I just make friends in other ways. And so, I asked this person -- do you ever mentor people? What's your rate? They said we could try it out and that their rate was X amount (more than $100), so I went for it. I met with them once a week for a while and got 10 times what I paid for. But there are certainly ways to do that for less money, too. It depends on what domain you want to work in and how specific you want to get. If you want to talk to, say - "the fireship guy," - I bet you can. There's just always a specific price. I know my local JS meetup has mentorship options to try to pair people up. You can also work on some open source with people or take on side projects (or get a different job). : )
MOAR Rants -cos it helps us hear the real stuff - keep these videos coming to help new developers and some developers lile me who are coming back after a long illness or a career break - and i find that the IT / Coding industry has sped ahead 2. maybe 3 generations of where i was in 2011 when i had to bow out - was doing COBOL type back stuff then and a little VBA am back now but am overwhelmed where things have moved to as an unemployed "old style" coder in 2024 - Great Job !
Great talk & it is obvious that Derrick (sorry if mis-spelled) has worked in the real world. Very few of the hot takes on tech you see on X are from people who work in real world. 15:06 "It's like people want to skip over HTML & stuff but HTML is a great way to teach about javascript. It's already a data structure and if you learn CSS selectors well then you already know how to select everything out of the DOM."
The thing is that he brings up the army analogy, but the soldiers are still getting paid. I do get what he is saying as far as there are students who go to the bootcamps and have no idea how to problem solve some of the coding problems, but those are the students that are getting interviews. might just be the recruiters that are the ones that are part of the issue.
My army analogy is no good. But imagine the people on your team - who don't know how to hold their gun and keep accidentally shooting you in the leg. That's a bummer. It just doesn't seem like we should be putting ourselves in that position - for not reason.
@@sheriffderek I agree, there definitely has to be a standard when it comes to jumping on to a team. I still think it would be nice to have some level of apprenticeship when it comes to the entry level.
@@sheriffderek if anything, I think a better analogy would be going into a construction site. Working in construction, it really does suck when somebody doesn't know how to wire an outlet, check a breaker, simple things like that. Then the person becomes more of a liability. It's almost similar to if I have to teach somebody how to do a function, how to use flexbox, how use CSS grid. Also you can't be an apprentice and expect journey man money.
@@Gamycodes I've experimented with apprenticeship. It's tough, though. There's no guarantee that people will be able to do this job (and you're paying them). Other jobs are a bit more rote and are more about using your body and time. This is a bit more multidimensional. I've had people I was 100% sure would just do amazing and I was sure I'd hire them - and everything would be amazing. But it didn't happen like that. I think it works well in bigger companies where if you don't pick up the work in one department, they can move you. But it's a big ask of a small company.
Do you think *you* would be able to start from zero in today's heightened technical environment and expectations? Things are more complicated now than they were just a few years ago, and the pace of change in increasing. How much did you know back when you were a "new developer"? That was a enough to get the first job then, is it enough to get you a first job today?
I think it would be a lot more confusing. In a way, there are also WAY more ways to learn... but it's really confusing. That being said, I don't think its harder*. It's about knowing what to know and why. As I mentioned in the conversation, - I DID have to go back to basically the start with programming and undo all the things I'd cut corners on and created blurry mental models for. And for the last almost 4 years, I've been running workshops and helping people - and YES: It's possible to integrate this medium into your career path. It's not easy, but people make it 20x harder than it needs to be. They don't know any better though, so they won't believe me. But the technical part isn't the hard part. I haven't met anyone who couldn't write the code. But the problem-solving and the work/life balance and the personal difficulty in an area without clear directions is absolutely way harder than the code. Some of the people I work with got jobs with 1/3rd of what I knew then. I can usually sort people out with a quick look at their work - but it's up to them to put in the time.
Yah what's being missed in this comment is yes it's fast moving , and complex.... But I didn't have utube , digital books when I started I spent 100s on thick books on my bookshelf and I got used to speed reading... On any new tech I'd buy a junior starter book , a mid level book normally wrex then a export book if never read all the text of all 3 but it gives me a good intro and a reference set. It was a real transformation when digital book shelves came along.
this kind of videos are almost as interest me it make me think how i start coding. i went from struggling with grove arduino programming to Ros2,c/c++,ptyhon,robotics,still dont understand tensorflow a bit , practicing math in khan acadamy, now i can mae : a class in c++ , programing raspberry pi/arduino robot in c++,python , soldering, content creation , 3d printing and designing, all that in 4Y i struggle now with c++ error linking but i am becoming a lot better than most and thats i consider a accomplishment.
From my experience of being in bootcamp and then subsequently getting hired as a software engineer, 90% of the work comes after the BootCamp. A BootCamp teaches you how to use a brush and its up to you to learn to paint. That might be hard to believe due to all the marketing bootcamps put out, but there is just way to much to learn to fit into a 3 month period.
Some of you in the comments section has this all wrong! What they are saying is there a MASSIVE amount of people who are honestly not-capable of being developers who are clogging up the industry. NOT EVERYONE! Yes there are good devs on the come up. There are people worth investing time in. But the clutter is causing problems. The amount of people that should not and will not ever get a professional job is very high.
I was surprised how misread some of the things we said were! Maybe I'm making some assumptions about the audience because of Don's massive collection of interviews with BootCamp students. I figured we were in context. We're not bashing "all developers" or people who are new. We're talking about a skill gap that exists for some people (and possibly many people who are watching this).
Awesome. The noise is crazy to me, i got in thru following my intwrests. Never looked at dev twitter or socials, learned a ton from an in person mentor at a job, and went from there. Seeing it now its insane the doomerism, looking at it does no one good.
You'd be surprised how much I saw that when I learned web dev for fun on the side (I work in enterprise networking IT currently). I was making web sites all the way from the basics to a full MERN stack and trying to find people to exchange code and share projects was rare if not impossible. Whole discord servers of 200+ people and only like 5 of them have projects to share. None of the comp sci majors had projects. This was 5 years ago. Looks like it's the same situation now in an even worse market.
25 years in the industry, from dev to director. If you are entering the market and don't have a portfolio (example sites) even if they're basic and no one paid you, you're not getting an interview. To get an internship this is at least 6 months of working nights and weekends to challenge yourself to create custom changes, not borrowing someone else's WordPress widget.
I’m not knocking any particular pathway, however I think part of the problem is that many for a while (especially around COVID) saw any career in software as an easy path to a six figure job (one they could get in 3 months or something crazy). I spent five years building my own projects before I ever got paid for software engineering, so when I entered the industry professionally I was already operating at a level of fairly high competence (there wasn’t a lot I couldn’t build and I mainly had to learn team dynamics etc.). I’m not saying boot camps are the problem, I think the talent that was attracted and the short pipeline into the industry caused many of these issues. That being said many great developers got their start in this same pipeline, it’s not a slight at anyone who came in through that door, it’s just that that door brought in a lot of people who don’t have the motivation to become great developers or the love of the work itself.
Back in the early and mid-90s, developers did every role. There were just developers, who designed UI/UX, defined product features, coded, wrote documentation, tested, and supported customers. We did not know any different.
There will come a time when software engineering fill have to really grapple with this problem because it seems like right now we are just throwing everything against the wall and hoping it sticks without addressing the problem from the ground up. We also need to consider how out of touch and ineffective technical interviews are as well as the reliance of having that one super rock-star dev to get your projects out the door. We have an industry wide problem.
I'm reading this book "The Superstruct Manifesto" right now (short and sweet) and the author said something along the lines of "if your company sells linked lists to your customers, then great - otherwise... you're going to have to produce real product features" (which is so true!) -- and these types of interviews are no good for anyone. We need to be interviewing based on what actually matters.
There is a disbalance between demand and supply in junior dev space, that's all there is to it. When I was starting, it was enough to have some experience with a computer and a desire to learn more. Now you have to invest hundreds of hours into study to even pop up on a radar with 10s of thousands of others just like you.
"hundreds of hours" That's it? You should be spending easily over 1000 hours of focused effort. Who is setting these false expectations for new developers?
@@DonTheDeveloper people do that as well and then cant find work or the work pays marginally better or even worse than a job with much lower entry bar. F* that.
There is so much to say about today's developers and the industry. We need more adults in the room. Be accountable for your decisions. And if you want something, put in the work. Nothing worth having is free.
any good advice on showing companies that i'm talented in the problem solving department? i can't tell if the extensive original projects i do for fun in my off time on my resume are really expressing that quality as well as they should :( either that or i dont even make it to someone with any actual know-how because my resume doesnt have a cs degree on it...
Write about them. Outline how you approached the projects. Break it up into many articles. Show each stage of problem-solving. Show drawings and database structure outlines or whatever it is that you are into. Then, at the end (or at any point), you can take the best of the best from those articles and narrow it down into a succinct case study that links out to those articles if they want more. Crush them with content (I mean proof of your problem-solving skills ;). They'll have no choice but to choose you - over the person who has nothing. The worst-case scenario is that you learn a lot about yourself and have a ton of proof of work to show. Win-win.
I’ve gone through 2 interns and my conclusion is that there isn’t a skill gap just a learning/training gap. Expecting juniors to have senior level coding skills doesn’t make sense.
I'd like to hear more about "skill" vs" "learning/training" gap. I'm not expecting Jr. devs to have Sr. Experience. I agree, that makes no sense. I'm saying they should have _some_ skills and experience and be able to learn on the job.
@@sheriffderek Im saying my interns came raw from college not knowing up from down. I've mentored 3 freshers, one works at Microsoft, Statsig and an HR SaaS company now. They knew nothing and now they are professionals. They just needed training and guidance.
@@monstercameron Ah. Yeah. That's nice too. I've had some people come over from marketing to start dev and we trained them up. Worked great. I agree with you that when you train people, they learn things. Your interns came from college. The people I think we're speaking to - did some Udemy courses or a boot camp and are trying to get hired at places that don't have built-in training opportunities. It would be great if they did.
@@sheriffderek a bit of survivorship bias, I came from a bootcamp and never finished college. I think expecting to have a massive workforce that you can hire from that knows your exact tech stack makes no sense and you leave yourself open to mercenaries who are overemployed. A buddy of mine was working a quarter mil a year doing this. I suppose its pick your poison.
@@monstercameron I'm not really following. But that's OK. I learned how to make websites on my own. I'm talking about basic HTML and CSS here. I don't speak for the industry - but I'm speaking as someone might need to hire someone. I can't afford to hire someone with no experience at all and train them. One in ten might work out. I also don't expect people to have Sr. level skills. That's silly.
i learned videography and editing by myself, did a lot of gigs before finding a job at a small company. even with my knowledge i felt like a liability because the business world is not the same as freelance, but they taught me for a few months and now iam all good. how do i know iam all good? they never asked me how i did things, they completely trust me to do it right
The big issue I think is not necessarily that graduates are any less able now than they were. With experienced devs competing for jobs due to layoffs, companies don't feel they need to support grads through the incubation phase. Companies can't complain about new graduates and fail to support them at the same time. If a company is thinking that short term, I'd love to see their balance books and conduct some intrinsic valuations before refusing a job offer from them.
Senior devs do not grow on trees, as opposed to popular corporate belief. They are “nurtured and grown” from junior devs, by the current seniors. Companies that refuse to hire juniors or dedicate time to their growth are actively harming the future of this profession.
I love this channel. I’m a coding bootcamp instructor and agree w a lot of this. 1-size fits all is a bad approach and some ppl are ready for $160k a year jobs after and others are very much barely jr devs. I think the different time periods is a solid idea.
My willpower and effort is insane. Despite that unable to get my foot through the door with a job. Even entry level tech jobs. Finished a 6 month Webdev bootcamp. Building projects. Learning Python, Doing CompTIA A+, Doing another 6 month AI bootcamp, really pressing hard. I'm still fighting and learning every day hoping someone will say yes someday.
Bottom line. I won't stop growing regardless if someone says Yes or No. (For getting in a job). Just hope someday it is a yes. In the meantime, keep pushing hard, fighting hard, and grow.
the way he describes junior skills is a middle level for the guys i listen, who has 10+experience in web dev. the skills he asks requires at least 2-3 dedicated years from the start and learning something for 2-3 years without job is just insane. no any profession exists like that. just dont.
Exactly , the issue is unless you’re rich you have to eventually work to make a living . There is a limit as to how much time someone can spend before getting an entry level job .
@@RatherBeCancelledThanHandled 100%. What he saying is more for someone who is succesful in life and wants something more as hobby. Learning it without stress. Slowly. Thats why most of the top1% programers started coding at very young age
Help me understand this. I'm not sure if you're referencing me or Don. Are you saying that my outline of what people should know to get a job (how to make websites, HTML, CSS, a bit of visual design, some backend, some JS, and some frameworks, too) is asking too much and is more aligned with the requirements of a mid-level (years of experience) type role? What I'm outlining _could_ take years. But, I know it can also be learned in as little as 6 months (well, 1000-1500 hours) (if you have the right plan). It also seems like most colleges are 4 years where you are learning something for 2, 3, 4, 5 years before you get a job in that field. Doctors learn for 6+ years before getting a paying job as a doctor don't they? There are many jobs for people of all skill levels. You don't have to go straight for "Software engineer." I started making sites for friends and then got a job at a small dev shop. Many of the people I know get jobs doing admin for websites, building brochure sites, or as smaller roles at a SaaS to start. You can build up while you're learning. I worked at a pizza place when I was first learning. I was totally broke at that time and playing in bands with no career plans or safety net. I'm also - in no way trying to be a top %1 programmer ;)
Too many people want to do cs for the money, not for the passion. Which is fair, you can become a good dev without the passion, but you will never become a great dev.
You want passion get an arts degree. We go to work for money. Yes I enjoy solving problems and finding more efficient ways of doing something but, I enjoy getting paid. We are trading time/experience for money, why did they open the business? Why don’t they give their services away for free or for very little? I’ll tell you because they too enjoy getting paid 🎉 sure there may be passion for what the company does but there is also passion for what the company brings in :)
@@kevinsedwards yes, I won’t deny you have a point but it isn’t necessary for the Dev or SWE role. On the other hand, I believe innovation comes from passion and necessity. Hiring a developer that has a passion for development is a great strategy for any company, provided of course that they take the necessary steps to nurture that passion. If overworked and underpaid, that developer’s passion will be stifled, their potential at that company cut in half. A passionate developer/engineer will create ways for the company to accomplish their goals more efficiently, they will help ignite a passion for development in entry-level developers, they help set the standard for what a senior Dev should look like. In order to do that, they need to be paid fairly, and not be put in positions where they often have to do more work than what they signed on to do, that way they have enough room on their plate to make sure that the new developer that you snagged early is doing six figure work before having enough experience under their belt to ask for six figures.
I think this field is open for everyone just like any other field, no one have the right to make the rules, as there is unqualified people there is also god tier new commers more hungry than many current developers. This shouldn't be a problem as people get filtered by an interviewer and won't take your job if you deserve it. This is the new way of living, if a new commer will take your job then you gotta work on your skills
I don’t think making people use tables and floats when 13 yrs ago flexbox was a thing is crazy, especially when you yourself cannot do it. Flexbox and grid exist for a reason because it was hell back then when everyone learned jquery instead of JavaScript and there was no angular or react. Yes make them learn page layout using css only and JavaScript, it’s rails all over again when everyone knew the framework but not ruby itself. Making components in react you still have to write html, it’s not like everyone uses a component framework. The basics are what need to be learned and js before react or any frameworks/libraries and css before any preprocessor language. Same with ruby before rails and pho before laravel
Flexbox and grids have been the correct solution for at least five years. Table-based layouts and float hacks were never valid. It's not like websites really need multiple columns and thousands of buttons everywhere. Web apps however…
1) i don't believe that there is a shortage of people in the industry 2) there are many people that seem to refuse to or cannot help themselves before asking for help. I don't think this is any new phenomenon, but we notice it more because so many people are getting into software. It is one of the most accessible """science""" white collar professions out there.
The first software engineers were leading research-level mathematics Ph.D's. The problems have not gotten simpler since then, they've gotten much more complicated. Make no mistake: actual software engineering is far more complicated than being a medical doctor, or practicing contract law, or being a master builder. In all of those professions you are expected to have an insane level of education and certification (doctors, lawyers), or you are expected to have apprenticed for years before you are anything but a liability. The fact that the industry has went from professional PhD's in the 1950's, to script-kiddie in the 1980's, to boot-camp grads in the 2010's is all about economics. We were born in an age of globalization and never graduated into a profession. Imagine if there were no doctors before 1960, perhaps by the year 2024 the medical profession would be a bunch of venture capitalists who decided the cheapest way to make money on brain surgery would be to take a 21-year-old and give them two months of "boot camp" and then have them start sawing away at your skull.
I think the issue here is that students have to decide between getting a job and starting their own thing, and the interview process is the antisis of being a good developer
People are buying shovels and don't even know what they're digging for.
College in a nutshell
I think this is a great analogy.
I just want to have the treasure but the dirt is dirty >:(
ahaha i like that analogy but id say when it comes to web develop,ent the big problem these days is people are learning typescript before the learn javascript, and on top of that the're learning javascript throught react or Next.js. i think all the new wave of 'build this website clone' style of tutorial is good for learning something like react, but only good if youve alrady done the boring part on learning the actual programminhg primitives/semantics.
@donaldjohnson-ow3kq market is too saturated for that. Its just the top 10% course sellers who make any money.
Entry level into any job is a liability. SWE is not special. Yea companies don’t owe you anything, but if finance or consulting can do it why can’t tech? You’re not expected to do anything net positive for YEARs in those positions. In the end when us senior devs retire who is going to replace us? I think the tech community is getting too pretentious.
Agreed. I was mindblown that my engineer colleagues expect to never train or show the admins what they've done. They expect admins to reverse engineer their unicorn deployments with zero guidance. Which is possible, but is generally an engineer/architect skill that admins don't always have the experience for.
Documentation and training are critical.
Finance doesn't have this problem. There aren't a million people doing bootcamps on "Anyone can be a Financial Analysis.. follow me" courses. If you have no degree you can't get into this group. No one goes from Wendy's drive-thru with a GED to Finance entry-level.
@@edrivenstudioslevar I can tell you from first-hand experience as someone that got a finance degree and worked as a financial analyst for 6 or so years, you could definitely teach someone how to be a financial analyst (at least the kind I was doing) in a bootcamp type setting. It's not rocket science, and I think that clearly bootcamps are not all great and there's a lot to refine here but I think it's a good idea that people are recognizing you don't have go to school for 4 years and mostly learn about unrelated topics in order to learn a specific job function.
I can't agree more
In post-covid world, you can now hire people remotely to solve software problems. The best coders in the world aren't in America. They are in Asia and willing to work for less.
At the end of the day these companies are about profit. The high salaries of interns and junior devs was an anomaly of the easy money era which was creating inflation in the broader economy.
... of course there is?!?
1. It's as complicated as ever. For each innovative abstraction that improves DX we fill that space with a new cognitive demand. For the "average developer" it's never going to get easier than it used to be for the "average developer", it will always be as difficult as can be tolerated by the market.
2a. No one has figured out an efficient way to teach this stuff( and there might not be one ).
2b. Not everyone starts when they're 11. Until we start teaching dev/CS to 5th graders en masse, there is no way around this.
2c. Adults have to make money. Can't expect CS/Bootcamp grads to spend 5 years post-grad as interns while they figure out how to actually contribute to non-pet projects, while also learning how to be professionals.
The seniors complaining about the "skill gaps" are likely the only ones who can help fix it. Learn to develop new talent like EVERY OTHER INDUSTRY does. You frame the issue solely as falling on those pesky "New Developers" then you won't see the ways you can make constructive changes.
There is clearly a diminishing return to increasing the level of abstraction. Once you go beyond a certain point, you lose fine control.
There is a reason why we write code and not plain english sentences.
completely agree. im writing a book now to teach people this stuff from the bottom with a very small focus on actual language syntax or projects, specifically because thats focused on too much and everyone who understands this expects you to just go get a degree. theyd rather whine and gatekeep than develop newcomers to the industry and show them the ropes. also i started at 19 so its interesting you make the "not everyone started at 11" point
1) I certainly see what you're saying. But I think it depends on what job you're going for. If you're looking for "the main full-stack dev" (or whatever that is) - it's true. You'll be expected to (or feel like you're expected to) know a ton of stuff. But that's when you're tying to fill ALL NEEDS. Real devs don't feel like that. This is just one type of role - and set of perceived expectations. In that way - yes - "it will always be as difficult as can be tolerated by the market" -- so, what I'm saying is -- don't do that. Don't play that game (at least at first).
2a) I think I've got it down pretty good - and we keep iterating and it's going well. And I'm very sure about what _doesn't_ work.
2b) I started when I was 29. I think people assume I'm talking about "elite coders!" or something. I'm talking about making websites. I know people of all ages and backgrounds with happy careers at every level of skill. Some people get paid 80k to update the events in a CMS. This isn't about leetcode. It's about just "being a part of the teams that build and maintain hypermedia systems" - and it's not as hard-core as people seem to think.
I'm not a senior complaining about a skill gap. I'm someone who wants to help people see that they DON'T NEED TO HAVE A SKILL GAP - if they choose to do things just a little differently - in a different order. If people learn a bit more of the core concepts and get the right type of practice, companies will be more likely to feel confident training them. I'm not saying it's "the new developers" fault. I'm saying that it's a failure to clearly outline goals and how to achieve them.
I understand that the younger generation doesn't give a shit about the fundamentals, but regardless of the new shiny framework, underneath it all works on the same binary compute principles as it did 80 years ago, nothing has fundamentally changed. So if you wanna know why your money making website crashes every 10 hours or under load then no new shiny JS framework is gonna help you.
@@drchamp1902 wdym, i love the fundamentals lol
New devs have always been a liability. You train them a year, and then they become active contributors. Has always been this way.
Indeed and I think it's a bit rich all this lauding coming from guys who entered the industry when it was less mature and fewer devs
Depends on the company, I was hired fresh out of college and started contributing on week 2 with little to no training. I was working on the same tickets as mid levels. I have a couple years of experience now and the main difference is I get tasks done quicker.
@@carguy-xv2cl Same thing for me. Sure I took way longer and had more rejections on pull requests - almost all PRs had comments in the first few months - but even without education in CS no one was there to teach me shit. I was less productive, made way less money, but got the job done without bothering other people more often than a couple hours a month.
I can only speak to my experience. I got my first job and was not trained. I just started building the websites as the projects came. But I've also been in a Sr. position and trained people up on the job. So, maybe it depends on the type of work and the size of the company.
My point is NOT that Jr. people can't be Jr. - but that some people are expecting the bar to be lower than it is in reality. Spending some time trying isn't enough. I knew more by learning on my own when getting my first job than a lot of people I see coming out of average boot camps do. They have more experience with the ecosystem (which didn't exist at that time yet) - but much less experience solving problems and building things. This isn't about giving anyone a hard time. I'm just saying that people should learn the right things - to a reasonable depth (and I think that bar is pretty low) - before expecting to be hirable. Maybe where that line is drawn isn't clear, but I don't think it's asking too much. In fact, I think a lot of people would say my idea of "enough" is nowhere near enough.
You train them a year, and then they **leave for another company for a more senior role**.
There fixed it for you.
Man, I disagree with a lot being said here.
Companies absolutely owe people a chance, and owe upgrade paths.
If your company can't afford redundancy and train folk into positions, its already a failing company.
Focusing on extracting as much profit off of people as possible and claiming those people arent owed anything by businesses is absolutely wild. Operate your business witbout people, then.
Obviously there's a balance to be found between "being a training center" and "being a profit center." There should be a healthy cycle of ingesting new and upskilling personnel internally. If a senior dev leaves, his midlevel should have been prepared to stand up and take his position, the junior into his middle-level, and pull in a new junior. It doesnt always work out, of course, but the intent should be there.
I think that companies certainly SHOULD be hiring entry-level devs. It's smart. I think what Don is saying is that people shouldn't count on being "given a chance" out of the goodness of corporate society. I think they are being plain stupid. But if people want to play ball, they're going to have to adjust a little to make the point.
lol. since when are businesses humanitarian entities? they're here to make as much money as possible. And people are making it seems there are no junior positions open. there are. it's just much more competitive. If i look at a resume - at a CS candidate from Stanford with 5 side projects vs some frat kid from community college that went to some boot camp. Who do you think I'm going to take? The one that put in years of work.
I agree. Training is a vital element of every field, and computer science is no different. The bottom line is that we need to do the same thing we did with software. Do it ourselves, make it open, make it free. Boom. Barrier gone. Decentralized free education is the best way to ensure enduring quality that prioritizes the student and not corporations trying to maximize profits or institutions trying to milk as much grant money and student loan income
@@logicaestrex2278 Most free education is still coming from taxes. The average elementary student in my city costs 20k+ a year. So, I think it's a bit more complicated. We have to fun people to create _better_ education and I think educators should be paid for their very important job.
@@sheriffderek oh I don't disagree, and by free I didn't mean state funded. That creates other problems. I'd love to hear your suggestions for what a sufficiently effective system would look like! Thanks for the reply friend
At my company, almost every new hire out of school got let go in a round of layoffs. The similarity? Attitude. The good ones are curious. They aren't necessarily smarter. But they have the right mind to learn new things and put in the EXTRA work. We've seen too many new hires who do the absolute minimum and don't care about much else. The good ones that we kept, had the traits i mentioned above. And this applies to all professions. Attitude is everything.
A person with the right attitude who went to a bootcamp will do much better than a person with a comp sci degree from Stanford with the a wrong one.
This was a fun talk. Thanks for having me on, Don.
I must apologize for my excessive use of 'like,' 'you know,' and 'or whatever.' It seems that mentioning 'San Diego' right off the bat somehow disabled my internal filter ;). Probably just excited to chat. Did you see Sam Altman's last presentation? He said "um" at the end of every single half-sentence. Not what I'm going for! Time to get back into Toastmasters, I guess! Goal for next time: 95% less "likes." : )
Also, the open office hours I do are on _Saturdays_ -
You did great and made a lot of good points. I've been in school for 3 years and took a lot of development/programming courses but none of them prepared me for the real world and most of my learning has been on my own. I wish they would have taught me more and given me more direction. I ended up staying in college but also doing a program called Code Louisville that helps mentor you and get a job. My school was teaching technology so out of date that there was no way I would have gotten a job unless I took drastic measures to do so. Thanks for the talk 🙏
Maybe someone can count my number of my "ums" and "likes" and we can compare. I bet you my number is higher. It was a really good chat!
@@DonTheDeveloper Only 19 "ums." Hardly any!
Me?
"like": 63 times
"you know": 35 times
"or whatever": 10 times
@@sheriffderek Ok you win
My biggest critique towards what both of you are saying is that people will waste time learning things "under the hood" when it isn't relevant to their job. Most product managers don't know or care about the details. They want features shipped out fast and functional to the point that a lot of people, like myself, have to learn quickly. You end up with shallow, surface-level knowledge on tech stacks that senior engineers have already picked before you.
For instance, my first job was building REST APIs in PHP for a legacy application. I had never used PHP before, as I was a JavaScript and .NET developer coming into the company. However, the priority was to deliver functional features promptly, rather than gaining in-depth knowledge of PHP's inner workings.
In summary, while a strong grasp of fundamentals is valuable, the practical demands of a role may necessitate rapidly acquiring just enough knowledge to work effectively with the chosen technologies, even if they are unfamiliar. The focus is often on delivering working solutions using the established tech stack, rather than mastering the underlying details of those technologies.
I'm currently doing a CS degree and there's a lot of people who don't really have that curiosity.
What I see is there is a severe disconnect between what people think a software engineer does and what it actually takes to be a professional in this field. Bootcamps focus on just the coding aspect. There is more to this career than being a code monkey.
There's a ton of jobs out there that can get by with code monkeys and anything more might be overkill(over experienced for the job). Not all jobs are from FAANG/space-x/darpa.
There's probably no need to reinvent the wheel when centering a div. As long as code monkeys are following best practices & using battle tested solutions, which are created/maintained by the experts, they can/do create careers out of this.
@@sagecoder8802 If this is your take, you clearly haven't worked on any substantial application before. The problem is not knowing how to center a div, but to understand the implications of what your code is doing, across the entire application stack. In my experience, "code monkeys" are nothing but a net negative to production, as they don't understand the meaning behind the functions they are calling, and why they have to follow best practices in the first place.
@@sagecoder8802 From my experience those code only jobs are being replaced by outsourcing or the company relying on SaaS services. Even at a non FAANG, a professional engineer will need to understand CI/CD, deployments, and generally know how to navigate the ambiguity of a corporate job. Software engineering is indeed a corporate white collar job that requires strong communication, some politics and how to influence others. We don’t purely sit down and code allow.
If I have to tell you what to do at every stage of your career, I might as well look for a SaaS solution or AI to replace you. Sorry to say, but an engineers worth is not our coding abilities, it’s our abilities to solve business problems through technology. And to be a trusted advisor in the technology space to the business.
You can be an okay coder but a great professional. They don’t go hand and hand. And to your point, not all jobs are FAANG jobs, sometimes all it takes to solve the problem is a configuration change and a meeting with a stakeholder
@@X85283that is common sense, thing is most people that are in that industry are close to anti social
@@X85283 🤔 hm, care to elaborate about the personalities you notice? I know I'm introverted, get nervous, but have not too much issue talking my way through things especially if the other person understands what I'm talking about. Working on that skill of recalling what I've done so far and not being scared of sounding like I don't know what I'm talking about (learning to be less of a perfectionist)
I think there’s really an evangelization of “throwing away the abstractions” and “curiosity” that really just makes it easy to move goal posts. How is learning C get you any closer to a front end role? How does using messing around with a Rasberry Pi get you any closer to writing code for an enterprise backend? It doesn’t lol. When a company posts a listing for a job it seems very few hiring managers even have enough time to check portfolios that could be relevant to the role itself, let alone some random project completely unrelated to the role.
This doesn’t mean to say don’t ever be curious or learn things outside of web dev that will get you a job, but I think the curiosity argument is just a great way to blame the current situation of the market on aspiring devs. It also continues to evangelize the idea of “keep building your portfolio” and “keep working on these projects”. It’s open-ended, so that you will keep up with the videos/ podcasts/subscriptions for more advice/guidance. I’m starting to believe there are more people capitalizing off aspiring devs then there are people actually making money building legit software that solves unique/distinct problems.
Realistically, if you are building projects at this point you should do it with the understanding no one may ever look at it and it is your passion project. Make sure it’s clean, focuses on reasonable best practices, focuses on detail as much as possible, and don’t worry if it doesn’t reinvent a square shaped wheel or a new javascript runtime
I agree wholeheartedly. The reality is the market is terrible . Having personal projects helps ; but to go all the way and get a job is a combination of a variety of factors .
Some of which are out of control of the aspiring developer .
Selling shovels(dev courses) is the most reliable way to a lucrative path in the web dev industry .
I learned web dev first, front end and back end. But it was all high level languages, for many years. Recently I started learning C and C++ and it completely evolved my understanding of memory management, dynamic data structures, different types of allocations etc.
This not just about web development, it's about being a complete developer, to be able to do anything.
You got the point .. you make more money selling the dream than actually solve a problem
Learning C and C++ helps you understand how computers actually work. Your browser is written in C++ because it needs speed and efficiency. Webdevs must learn these languages because otherwise you will end up writing code thinking that your code is working on an infinitely resourceful theoretical machine. That may work for you for smaller projects until you actually start coding big stuff and then you will be completely clueless on why my browser is taking up so much memory or why certain things are really slow while others are fast inspite of you coding it without bugs etc.
This guy has a shallow understanding of the industry, especially of larger fortune 500 companies and how they work. You are given tasks to complete that fit into a larger project. NEVER are you just looking at an empty screen wondering what to make. Any competent developer, at small companies too, will already have ideas on what to put into the editor from even the very beginning.
I believe many boot camps target the type of role you're describing, which is why they teach the stack and methods they do.
However, my point wasn't about _specific jobs_ but specific parts of *the learning journey*. Maybe the comment about an empty text editor was misunderstood. I see learning to work within a large codebase as part of an incremental process.
Some people may see this as just a job, but that's not how my brain works. And I'm talking about roles that often intersect with UX and UI. For example, in my work, we might discover that we need a way to limit the total open spots in a social group (in a social app). We know that some users are happy with their group at 4 people total and don't want new applicants (even though usually there's a max of 8). In those situations, I actually *am* going to be staring at a blank piece of paper or CodePen, considering what might be an interesting interface for this. Then I'll make prototypes (like this CodePen codepen.io/perpetual-education/pen/yLwzPBe) and test them with users in-house, eventually iterating into a new feature. It depends on what type of developer you are and the size of the company. I could do this as a one-person shop or at the world's biggest tech company.
There are certainly roles where developers strictly handle tickets and maintain or build features within a large codebase, often focusing on a single component at a time with full mockups already created and handed off. The design system might already be very mature, and it may even come down to pasting a few components next to each other or working out the data in a program like Storybook and never even touching the code. There's a wide spectrum of roles at companies of all sizes, including project management, UX, design systems, A/B testing, prototyping, documentation, managing tech debt, evolving database structures, or working on performance. At smaller companies, you might be building a SaaS product. All of these roles are real and valid. And I think _most_ of them involve problem-solving. We didn't have time to discuss them all ;).
I don't mean to dismiss the structured task environment of large companies. Instead, I am emphasizing the overall preparedness and mindset of aspiring developers. Confidence with the medium and a sense of honest curiosity are crucial-regardless of the company's size or the nature of the tasks. I think it is important to understand the 'why' behind technologies and to take an interest in the outcome and the design process *as a whole*.
@@sheriffderekBoot camps *target* this, but they do it solely to check a "been educated" box and have zero educational value. This results in people who are literally incapable of doing a job having "better" credentials for corporate positions than others who actually might understand (or even like) the work.
You are oversimplifying his already simplified analogy. The point is that the demand for massive numbers of new programmers and resulting flood of applicants have resulted in a large number of people who aren't actually capable of the job as they only pursued this while looking at the possible paycheck.
This is a serious problem across all fields which require academic expertise, from elementary teachers to doctors.
@@sheriffderek I liked your feedback and thankyou for the time and insight you spent providing it.
Most of the content produced in larger Fortune 500 companies is for internal use only. So you know the how and why they reached your API endpoint or page. Even if you were to design a special project for a large company from scratch, you would have knowledge of how your project must fit within the company's ecosystem. Also most larger companies have Style Guides or Branding Guides and Guidelines. Some projects though are very unique such as a funnel for an interactive advertisement, which I could see causing some to pause looking at a black screen, but those situations are very rare. The rarity of the staring at a blank screen and not knowing how to move forward is the main point that I was trying to make. I think that happens more with hobby projects or people new to web development.
I think thats a great point that people want to be a code monkey. Not a genuine problem solver, which is what companies are looking for.
The number of people who want to just be code monkeys just keeps growing. You're 100% right. Companies want problem solvers.
Code monkeys making 6 figures from the get go but not problem solver.
@@DonTheDeveloperthen how do you become a problem solver?
@@swegga4530 - become an expert in the business, just as your manager already is. I often see a problem at work and suggest to my manager a fix that has nothing to do with coding. Some examples are 1) creating a new policy on how to handle an upset customer to prevent future customers from getting upset to begin with 2) gently suggest to my manager that wants me to code something up to instead just use a shared google spreadsheet or google form 3) suggest to my manager a really slick way to fix a business problem by coding up something so the customer can just press a button instead of talking 3 days and hours of employee time. As you can see I often solve problems by NOT writing code unless it's absolutely necessary. No point to overcomplicate things.
My manager knows that if she left I could step into her role and pick up her job with very little downtime because I know so much of what she knows. I enjoy coding and dislike all the meetings she attends. She has zero interest in coding and enjoys all her meetings, so we compliment each other. I work as a senior software engineer in the San Francisco Bay Area at a large (over 5000 person) research institution.
@@DonTheDeveloper In my experience, this is not exclusively an employee issue but a systemic problem within most companies. Many have very rigid structures and narrow silos for engineers, leading to frustration on both sides when interesting and creative inter-domain solutions are proposed. Management often lacks the technical knowledge, trust, and understanding to recognize or support these solutions. They don't care about aligning tasks with the abilities their employees truly excel at, leaving employees stuck with boring tasks that need to be solved according to some rigid and outdated plan. Furthermore, the hiring process is flawed because it focuses more on very specific skill sets and experiences rather than potential and creativity. As a result, companies don't know what they are looking for and fail to properly support genuinely intuitive, savvy, and creative experts who are indeed excellent problem solvers. This often even drives such individuals out of business, leaving companies to operate driven by buzzwords instead of genuine, product-oriented engineering.
i hate this. i’m not asking to write a react todo app and get a 100k job. i’m asking for any shot at a future that doesn’t involve me working until i die, never being able to own a house, being paycheck to paycheck with no escape. I literally have years of experience. I have a portfolio. I can talk about what I’ve done. This industry is broken. There is no reason to hire juniors for their value proposition, when they’ll take a year to really get decent and then just leave in another year because that’s the only way to move up. don’t even get me started on interviewing. I’ve worked with recruiters every day for years, applied to every company i like, tailored my resume and cover letter, send cold emails to all of them, cold Linkedin messages. And now I’m fucked because all of this has taken so much time that I have a significant gap in my resume. It is actually just impossible unless you have a network and demonstrated seniority. Is this really a junior friendly community where we help uplevel newer devs? It looks more like we’re being shamed here.
>when they’ll take a year to really get decent and then just leave in another year because that’s the only way to move up
Yeah. This sucks.
I did a bootcamp at the end of 2020 and I completely agree with everything you guys are saying. I love what I do, I always wanted to get involved in software but I needed the bootcamp to hand hold me enough to get going, uni wasn't an option though I wish I could of studied computer science now. I have worked with people that clearly don't really care and it shows in what they produce. This line of work requires someone who is kind of obsessed really imo - especially so if you are not going to get a comprehensive education and are self taught/bootcamp because you have so much you have to catch up on.
The past few years I have been absolutely obsessed with learning how things work under the hood, and it makes it more apparent how bad it is being reliant on the high levels of abstraction especially prevalent in web dev. Then there is the software engineering side to it! This has come naturally to me, but I can imagine for many people it doesn't, and bootcamp isn't teaching you that.
To conclude... there are probably alot of people who shouldn't be developers. I think with AI and the hype it is generating alongside their difficulty getting jobs, those people will be leaving the industry and that is probably for the best for all parties.
That's awesome to hear your growing excitement for digging a bit deeper. There's so much to learn!
"I think with AI and the hype it is generating alongside their difficulty getting jobs, those people will be leaving the industry and that is probably for the best for all parties."
I agree. This is the reality many people are not prepared to face, but this is already starting to happen. The dev job market will self-correct in time with this playing a role.
@@DonTheDeveloper Indeed, I think that is a huge part of my love for it. I have always been obsessed with understanding how things work in everything I've done. I truly am mind boggled when I speak to people who don't have that doing this - all of the best devs I've worked with are the same, and I've been incredibly lucky to meet some great guys who have worked at really interesting places.
I hope it is happening. With that said I am being bombarded by recruiters at the moment... I've really been unsure what to attribute that to though.
@@adam7802 what do they ask?
@@Dawsatek22 what are you referring to, recruiters?
@@DonTheDeveloper i think the sad thing probally also a lot of true aspiring devolopers who can do the job because of a mix of: bad timing, personal problems at home, economics , physical and mental handicaps, bad education (probally outdated bootcamps/colleges and paid courses or lack of knowledge about potential niches like robotics/embedded/cyber security ) , a lot of them gonna end up the same and i had half of these reasons i name that could made me end up in that bucket and i think that did not happen because i saw potential in the industry, i thought the knowledge could help me get closer to my dream project , it could help me economical , i was prepared to work longer than i thought and possibly fail , and i had more to win trying than losing and that helps. i was probally gonna end on the same boat and consoom on the windows 10/12 instead of give it all i can on a linux laptop wit ubuntu lts/linux mint installed.
A lot of the problem is that new kids have "skills" in a "stack" (i.e. they know how to program in Python, know how to set up MySQL DBs, and know how to use Flask/Django to make it all work).....but they haven't been part of "all-up" development of actual software, and individual projects are a very, very poor prep for Day Two of your job as a SWE. It's like getting your Driver's License at 16, driving a Prius, and then being told to load up an 18-wheeler and deliver a cargo to Denver.
Self-taught dev since 2006, and I agree with a lot of this. But flexbox and grid are definitely not abstractions! If I had to go back to using floats, I would protest. Floats were a hack.
If you've never written a float clearfix, you're not a real frontend developer. 😉
More than floats, I think where people get stuck (for no good reason) is with display types. For example, dev tries to put a margin-top on a link (probably for the wrong reasons) (but to make more space above) - and it doesn’t work. They don’t know why. They get frustrated and just cement the idea that “I can’t make it look the way I want” - and it’s because HTML and CSS are dumb. And that’s that. Their whole career becomes avoiding it. I know people like this who work at big tech companies. So, maybe not floats so much (for layout) - but people don’t have a good understanding of why we have inline or block display types (and in the case of grid that changes too). I think it’s important for people to be able to think about these tools from the designers perspective. Why is CSS like that? Just a little thinking about it can really skip all that trouble.
@@sheriffderek Yeah, that stuff requires some study to understand. Same with stacking contexts. Ultimately, the frontend stack (and by "stack" I mean HTML/CSS/JS....not the frameworks) is simple on the surface and quite complex at the detail level. Anybody who writes it off as simple has likely never polished a frontend to completion.
@@sheriffderek Also, regarding CSS, I can't imagine jumping straight into Tailwind without having a ton of experience with vanilla CSS. I LOVE Tailwind, but I can see it being a mess if you don't know what's happening under the hood. I agree with the sentiments in the video about the importance of vanilla experience.
@@DonTheDeveloperwhat??? Man stop it
This is how i became a software engineer: i read about 60 books about everything: windows os programing, com dcom, windows drivers, linix programming, databases, directx, samba, low level network protocols, i wrote assembler code, while taking csc courses. I spent weekends programming and expolring what i learned. I understand so well how everything works at low level that you can give me any modern framework, library or a labguage and i can figure it out in a week. Taking 6 month of bootcamp will not help you. 20 uears ago there was no google and youtube so i read books.
Okay boomer 👍
Although the methods of learning are different today, I completely agree. You only get what you put in. It's not that a 6 month bootcamp won't help at all but how you decide to spend your spare time during the bootcamp and after it ends for the next few years.
Read a book on Linux, still can't spell it correctly
To be fair, this isn’t the only path
Sounds like an inefficient use of time
The rants and mapping through the real process of becoming a developer was awesome. Thank you guys for this. 👌👌
Glad you enjoyed it!
the part about entitlement is spot on.
Ppl really don`t understand, that another private entity owes them nothing in terms of money or job opportunities. Just like you don`t owe someone a free labor ...
"Looking for a job, I specialize in making to-do apps"
hey, hey, I can make a card matching game in js too, I'll have you know
You are so lucky. My specialty is making counter apps. I have been looking for a job since 2008.
His take at the 6:00 minute mark is really deep. Now I'm thinking about other aspects of my social life and agree that the follow-through is missing in multiple career paths.
I think there's a gap in the market that still hasn't been filled in terms of learning. Camps are too compressed, online courses tend to only give feature outlines, and University level is too theoretical compared to what industry actually wants in terms of practical value.
A well structured course of 1 year in duration could probably do a lot. You need time to absorb, time to play around. I'm surprised none of the big tech companies themselves have filled that niche, but also not surprised.
I think you are right on the money with this. I've thought about this extensively. I think it's just a really tough selling point at that length and would be too much risk for the cost to develop it for most programs. But, I 100% agree with this.
Unfortunately that part of untaught knowledge is highly subjective and not as easily defined compared to existing C.S. theory. How would you provide a structured learning approach akin to those who already seek out a curriculum? I would argue that self taught people teach themselves and learn many of these things through a variety of ways. People who get a degree often look for something more guided. It could be useful, at least in the U.S., to make more of C.S. akin to a trade, requiring on-the-job experience.
@@retagainez It's not even defined well in some of the best known books. The industry is young, moves so fast, and there isn't a core foundation like in other industries that are well established.
But I do think there's a middle ground somehow, there has to be right? I mean what does industry want; people can always be molded to suit the particulars of a company, but at a base level they shouldn't be total noobs.
@@shrunkensimon The things that change don't have well-defined books, yes. But things like Java programming stay fairly constant. Existing algorithms don't really change and are proven. So, again, I'm asking how would you create structure that provides that sort of stability and curriculum that walks students through?
I think the best way is on-the-job training requiring students to participate in during their education, as you would in a trade.
“On the job training” is tough because you can’t trust the person to step up. But in many ways, when I’m working with someone - we’re working through real projects just like they would at the real job. By having a combination of established milestones and concepts (like a loose curriculum) with real projects that let you gain that experience - and having it customized to the person’s goal, I do think you can get the best of many angles. Being self taught will really force a strong connection, but it also invariably leads to a lot of lost time focusing on the wrong things. So, the mentality of being self-taught, but knowing you’re on the right track is a sweet spot.
Hipster tech is what everyone is learning without having any understanding of what it does.
These people calling themselves devs these days are like a guy AI generating a song calling himself a musician.
The answer is going to have to be a paid mentorship program. My friend’s kid graduated in chemical engineering. He spent a full year in training before they would let him on the floor under guidance of a senior engineer.
Imagine a Bootcamp where they tell you "3 to 5 years of continued interest, and hard work after you graduate and you'll definitely land a dev position." Great candid conversation. Thank you!
I think you really can do it in a year, though - if things line up.
Good points. What about the disconnect of asking for junior developers, but expecting 5 years of experience, having more responsibilities than the typical SSR?
Yeah. It's crazy. They just don't seem to know what they are doing. Having everyone one the team be "Sr" doesn't even make sense. You need a wide variety of skill and experience and interest to be the best team. The Sr. dev isn't likely going to want to - or even be good at doing many of the tasks.
Bro you can't even imagine, here in Las Vegas the incompetence level is off the charts everywhere. It's like all the college graduates never went to school or something.
What,s skool?
School is a joke primary and higher
@@First_Principals I think 90% of the schools here.
Hahaha that could be 50% them, 50% their schools.
@@chillbro2275 that could be true, our schools aren't the best.
I KNOW WHAT HE MEANS. We focus so hard on the HOW (the tools, the languages, the libraries....) and almost no time spent on the WHY. As in "this Bootcamp teaches me X technology, Y technology, and Z technology" - but without learning the "easy" technologies A through W, your X,Y,Z is honestly pretty useless. A software project with 30,000 dependencies, and is completely useless or barely works.
Yep....A lot of the time in trying to learn the topical stuff I come across things where I am told to use this thing but not why or in what cases. Great, I know what an array is...now where the fuck do I fit it into my website? Turns out it's more useful if you have a bunch of iterable information like an Amazon website product list but absolutely useless for making a lawyer's page advertising some narcissistic nonsense about fighting their damndest for you.
Each tech I've worked with or come across has it's use cases and it's through pure accident that I learned what they are.
I taught as an adjunct for a web scripting class at a University and I asked the class to name a famous guitarist, and the only name any of the kids could come up with was Slash, and that in and of itself was concerning but I was asking because I was trying to drive home the point that Slash didn't just become a great guitarist because only played guitar during guitar class, he became a great guitarist because he loved playing guitar. When the class was ending I told the kids to think of the class as learning to ride a bike. I taught you how to ride the bike, but it's on you now to learn how to do tricks on the bike and take it from here. Same applies for web/software development if you want to be a developer you have to live it whether you're employed or not, even 20+ years after the www was invented the boundaries of what's possible haven't been drawn yet.
What I find strange, is all the backlash to that idea. "No one should have to like their job!" Well, OK. But you aren't going to be really good at it. At the same time, that's OK too. Most people are mediocre.
I envy people who have a passion for tech and actually enjoy coding. It's genuinely one of the most mind numbing things I've ever had to endure. The only lure about this industry is the money and perhaps the comfort of remote work which explains why so many young people want to do it. There isn't much opportunities out there for someone looking to reskill or change career without spending years getting a college degree and starting at the bottom again, hence why getting into tech is seen as a viable alternative option.
And that's fine. I don't think people should force themselves to write code if they don't enjoy it.
Other opportunities do exist: trades, management, product, design, other types of engineering, accounting
The actual golden skill you develop while coding is being able to create a digital product out of thin air.
You can literally create anything digitally. Any services, any business can be made with code.
It's not even the money or the cushy prestigious job.
It's not the code, it's what you can create with it what we enjoy. Most of people who hates coding hates the project that they're into, hates the deadlines, hates their managers, but when you realize how to code properly and realize the power that you have in your bare hands, it can be really fun.
Hating coding it's like hating a hammer, it's just a tool. Just find something that can be of your interest, a clone of an old videogame for instance.
@@estebanperalta59True, but there's also a lot of fun in mastering the technique of using said hammer.
Man it’s hard to reskill, I would rather go to medical school than write sql. But gosh the cost is very very high , and it will take forever doing it part time while working.
I think their perspectives are valid. I'm self taught and spent a few years making CLI projects or basic web apps before starting to work professionally using web frameworks. I come across other people who sometimes have been working professionally longer than me who seem to only know how to use their tools but don't understand the fundamentals enough to know why the tools are helpful and (even more importantly) when they're not.
TLDR: Being intrinsically motived seems like a better indicator of long-term success in software engineering than only being extrinsically motivated for the money.
i think it's extremely important for developers to learn a systems programming language. you can still be productive without that but i noticed a massive shift in my problem solving ability and overall understanding of data structures and how things work. that was around 5 years ago for me and it was the best thing decision i ever made for my career.
Which language should one start with?
@@jasonm9825 i would recommend rust or c personally. the rust ecosystem is a lot like npm which helped me quite a bit and it's also more high level than most of the systems languages. instead of manually freeing memory, it's handled through scope. so it's kind of like a combination of garbage collection and manual memory management. i found that mental model a lot easier coming from a javascript/typescript background.
this is why the best devs have a background in engineering which emphasizes problem
solving and learning on the fly.
Ask them to center a div though ;). I agree that being a problem solver is important! But not all problems require an engineering mindset. In some cases, engineers are a bad fit for some problems where things cannot be calculated.
i wasn’t speaking for just front-end stuff.
This is not specific to web dev, it is pretty common in other area as well. It is indeed frustrating.
I think a lot of people myself included try to rish through the foundations of html css and JavaScript to get to a framework such as react because thats what the job posts ask for. Of course that leads to problems. I havent gotten a job yet but I suspect the people who break through this block and go back and learn the foundations are the ones who end up with jobs or even their own profitable apps
This is absolutely true in my case. Started learning JS for a few months getting the basics down, then rushed through a bootcamp and crammed enough React in to bullshit my way through an interview and somehow landed a job. It's only now after 2 years of being a web developer that I am starting to put some of the building blocks together and go back to the fundamentals. I have a long way to go but I understand a lot more than I did a year ago. When I got hired I knew basically nothing but have always had a good work ethic and the persistence to try and figure things out so I guess they saw something good in me.
Any website that is somewhat functional requires data stores, server communication, data delivery, networking, load balancing, security, cicd, automated testing, then ui and ux, unless you understand those things, I won’t let you touch my code. It used to be that you had departments dealing with each of those areas, in the world of anything as code now, you as a developer is responsible for all these things and any one of those things can fuck up a website and loses me money
I'm learning all those things little by little with my own website @@drchamp1902
@@drchamp1902 Get over yourself home boy, nobody is trying to touch your precious code. And no, I don’t agree that in todays industry a single developer is responsible for maintaining all of these things. This is classic gate keeper talk from disgruntled developers who feel vastly superior to many of the newer breed of devs who have entered in the industry over the past few years. Maybe in a small start-up with 3 devs or if you are a free-lancer perhaps you need to be very well versed in all of these areas….but to say that you need all of this to simply work a dev today is a little over the top.
I work on a project with with over 100 developers split in to over 10 teams. Having a knowledge of all of this stuff is super beneficial for sure and makes you far better suited to work on a variety of projects/teams. But you no not need to know the intricacies of each of these areas to be a developer. Just a broad understanding is enough for a lot of developers to get by just fine so long as they can specialize in something other area of importance.
i don't think learning javascript is enough. it wasn't until i learned a systems language around 5 years ago that i truly understood programming. i could still be productive before that but my ability to solve problems was inferior to my coworkers that had a computer science background.
It's pretty obvious why you see a lack of talent these days and it's because the demand is high, but the number of people who have passion for development is not as high as the demand. I write code outside of my job as do a lot of other good devs then you get ones who simply do the job then go home and don't enjoy it. That second set of people will never be able to catch up. One of the best developers I know even once they got a job as an executive still wrote a lot of code during his job when possible and outside it.
I’m in that stage, where I do see a website and want to copy it 🤷🏻♂️
I have a mentor. There is a difference between corporate devs in a specific role vs a freelancer. I am attracted to both. From my observation, the corporate devs are not just professional but efficient as hell. It is amazing what people can accomplish as a team. There is a different skill demand for those environments. My mentor impresses upon me building tests to prove my code does what is required of it.
Got out of the Navy (2019). Went to coding boot camp and “learned” React (2020). Found a WordPress entry level web dev job (2021). Transitioned into SEO (2022). Very much enjoying SEO to this day.
This makes absolutely no sense, there are so many tools and this is why Git was made in the first place. If you can’t train and help guide new people that’s a shortcoming on your part, not theirs. I see this ego everywhere, lots of people forget where they started
I’m scarily aligned with this guest. I’m obsessed with UX, removing barriers, and finding sneaky ways to make things satisfying instead of frustrating.
How does one get on this show? I’m sure this claim is a dime a dozen, but I can’t help but wonder if I might be able to contribute something useful!
Email me. You can find my email on the home page when you click "...more" at the top of my channel page.
As a guy named Derek who grew up skateboarding and went to art school, I am stoked to hear what you've got to say.
Derek's unite!
There are TOO many developers. Software is a small part of life. We need more people working qith hardware and solving problems in the physical world. The idea that there was a "shortage" was a perversion of the market. Most of these big companies only need maybe 100 engineers to manage the code and innovate. The rest of the value is on the business operations side.
Thats why all these big tech companies are downsizing. Your best bet as a junior dev is to start your own business. Thats why a good portion of tech people are leaning into social media for side income.
I don't have enough info to be sure.... but I often think this same thing. I encourage the people I work with to start their own companies (not so much social media though).
No, if they're too many developers, then salaries should decrease, but it's not so... I'm leaning towards d incompetence part
If this were true developers would be making 40k a year.
@@nerdobject5351 I've never heard a company say "There are too many developers - it's so easy to find them and hire them for cheap." But I've heard pretty much every company I've every been at or met talk about how hard it is to find good developers. And I helped hire recently and it was a horror show. So, - no. There aren't too many developers. There are too many unqualified people who think they are hirable developers.
took alot of words to get to the point but the key is you need to be fascinated by coding which naturally drives you to keep learning. And even those people will have a hard time finding a job.
15:00 totally agree there , knowing history and why it's there instead of just using abstraction. I mean if you build static website with mvc will better for SEO immediately than react SPA.
Just really knowing HTML CSS is so good. I think in general, we tend to see a list of a bunch of languages and frameworks etc on job descriptions.
This is because they don’t think they have enough front-end work to justify a full-time position and for whatever reason can’t/won’t hire contractors. So in order to justify the position they have no choice but to expand the scope of the role to things they think you should be able to work on. Whether that makes sense or not is another discussion entirely.
I find so much value on your channel dude it’s amazing!
Appreciate that!
23:05 You can layout a website without css at all using an image map, tables, and framesets like we did back in the late 90's and early 2000's. Its not pretty but I was so excited when we got tools like css positioning and the box model.
funny thing is, you don't need to know any of this. you can open Word and you can create static website in it by moving things placing things. no skill needed 😂 it was my first website more than 20 years ago 😂
5 year gap will be always there! Solution is mentorship and speaking your mind in the corporate environments , remove role blocks. As long this it jobs pays good there would be always people with wrong attitude and motives.
Its a massive gap among every industry that used to have to be taught hands on in person. Composers of yesterday that literally had to program eq in person for hours are far beyond anything online
I know people in LA who started as the coffee boy in the recording studio and now have big successful studios of their own. It certainly seems to be more rare, but I've seen people learn on the job in many of my companies. I do agree that there's a problem. I think it's a bigger issue. Might be about the pay. You get 8 devs, and you'd better be bringing in at least a million on top of all expenses and everyone else's expenses and buffer. I don't know how it is to run a big company - but I've seen a few burn 10k in an hour meeting that had no value. But as someone who pays interns - it's expensive! People need more just to live. And you have to make sure that money and time add up to something. Because all the big companies can undercut you with a snap.
@@sheriffderek well speaking of undercutting I just found out my mom stole my income tax money to pay for her and her aunt's cruise next week lol. So companies aren't the only one that's undercutting. Wicked
Derek is a great guest. More rants please.
More rants incoming
The simple truth is that development is a discipline. You only get what you give just like any other exercise.
Any advice to grow if I work in a startup with no senior developers?
Look for mentors that are more experienced then you. A mentor doesn’t have to be the most experienced person in the world. They just have to be one step ahead of the person being mentored.
You have a golden opportunity to take the reigns. Don't waste it.
As one example, there was a time when I wanted to level up but didn't know who to ask. I had seen someone talking a lot about a particular framework. They created a course and were looking for beta testers. Or sometimes I just make friends in other ways. And so, I asked this person -- do you ever mentor people? What's your rate? They said we could try it out and that their rate was X amount (more than $100), so I went for it. I met with them once a week for a while and got 10 times what I paid for. But there are certainly ways to do that for less money, too. It depends on what domain you want to work in and how specific you want to get. If you want to talk to, say - "the fireship guy," - I bet you can. There's just always a specific price. I know my local JS meetup has mentorship options to try to pair people up. You can also work on some open source with people or take on side projects (or get a different job). : )
Thanks guys, this is what i needed fo hear !
MOAR Rants -cos it helps us hear the real stuff - keep these videos coming to help new developers and some developers lile me who are coming back after a long illness or a career break - and i find that the IT / Coding industry has sped ahead 2. maybe 3 generations of where i was in 2011 when i had to bow out - was doing COBOL type back stuff then and a little VBA am back now but am overwhelmed where things have moved to as an unemployed "old style" coder in 2024 - Great Job !
Great talk & it is obvious that Derrick (sorry if mis-spelled) has worked in the real world. Very few of the hot takes on tech you see on X are from people who work in real world. 15:06 "It's like people want to skip over HTML & stuff but HTML is a great way to teach about javascript. It's already a data structure and if you learn CSS selectors well then you already know how to select everything out of the DOM."
The thing is that he brings up the army analogy, but the soldiers are still getting paid. I do get what he is saying as far as there are students who go to the bootcamps and have no idea how to problem solve some of the coding problems, but those are the students that are getting interviews. might just be the recruiters that are the ones that are part of the issue.
My army analogy is no good. But imagine the people on your team - who don't know how to hold their gun and keep accidentally shooting you in the leg. That's a bummer. It just doesn't seem like we should be putting ourselves in that position - for not reason.
@@sheriffderek I agree, there definitely has to be a standard when it comes to jumping on to a team. I still think it would be nice to have some level of apprenticeship when it comes to the entry level.
@@sheriffderek if anything, I think a better analogy would be going into a construction site. Working in construction, it really does suck when somebody doesn't know how to wire an outlet, check a breaker, simple things like that. Then the person becomes more of a liability. It's almost similar to if I have to teach somebody how to do a function, how to use flexbox, how use CSS grid. Also you can't be an apprentice and expect journey man money.
@@Gamycodes I've experimented with apprenticeship. It's tough, though. There's no guarantee that people will be able to do this job (and you're paying them). Other jobs are a bit more rote and are more about using your body and time. This is a bit more multidimensional. I've had people I was 100% sure would just do amazing and I was sure I'd hire them - and everything would be amazing. But it didn't happen like that. I think it works well in bigger companies where if you don't pick up the work in one department, they can move you. But it's a big ask of a small company.
Do you think *you* would be able to start from zero in today's heightened technical environment and expectations? Things are more complicated now than they were just a few years ago, and the pace of change in increasing. How much did you know back when you were a "new developer"? That was a enough to get the first job then, is it enough to get you a first job today?
I think it would be a lot more confusing. In a way, there are also WAY more ways to learn... but it's really confusing. That being said, I don't think its harder*. It's about knowing what to know and why. As I mentioned in the conversation, - I DID have to go back to basically the start with programming and undo all the things I'd cut corners on and created blurry mental models for. And for the last almost 4 years, I've been running workshops and helping people - and YES: It's possible to integrate this medium into your career path. It's not easy, but people make it 20x harder than it needs to be. They don't know any better though, so they won't believe me. But the technical part isn't the hard part. I haven't met anyone who couldn't write the code. But the problem-solving and the work/life balance and the personal difficulty in an area without clear directions is absolutely way harder than the code. Some of the people I work with got jobs with 1/3rd of what I knew then. I can usually sort people out with a quick look at their work - but it's up to them to put in the time.
Yah what's being missed in this comment is yes it's fast moving , and complex.... But I didn't have utube , digital books when I started I spent 100s on thick books on my bookshelf and I got used to speed reading... On any new tech I'd buy a junior starter book , a mid level book normally wrex then a export book if never read all the text of all 3 but it gives me a good intro and a reference set.
It was a real transformation when digital book shelves came along.
this kind of videos are almost as interest me it make me think how i start coding. i went from struggling with grove arduino programming to Ros2,c/c++,ptyhon,robotics,still dont understand tensorflow a bit , practicing math in khan acadamy, now i can mae : a class in c++ , programing raspberry pi/arduino robot in c++,python , soldering, content creation , 3d printing and designing, all that in 4Y i struggle now with c++ error linking but i am becoming a lot better than most and thats i consider a accomplishment.
@@myronschabe ok thanks for the advice.
i am dutch so i wanna first start in ln my own country for going somewhere else
@@myronschabe yea for some dutch can be like going from python to c++. it not easy but it possible if you are willing to commit
From my experience of being in bootcamp and then subsequently getting hired as a software engineer, 90% of the work comes after the BootCamp. A BootCamp teaches you how to use a brush and its up to you to learn to paint. That might be hard to believe due to all the marketing bootcamps put out, but there is just way to much to learn to fit into a 3 month period.
Thank you for making this video :)
You're welcome!
40:08 Absolutely. It leads to a lot of rather unfortunate marketing speech from the bootcamps.
Some of you in the comments section has this all wrong! What they are saying is there a MASSIVE amount of people who are honestly not-capable of being developers who are clogging up the industry. NOT EVERYONE! Yes there are good devs on the come up. There are people worth investing time in. But the clutter is causing problems. The amount of people that should not and will not ever get a professional job is very high.
I was surprised how misread some of the things we said were! Maybe I'm making some assumptions about the audience because of Don's massive collection of interviews with BootCamp students. I figured we were in context. We're not bashing "all developers" or people who are new. We're talking about a skill gap that exists for some people (and possibly many people who are watching this).
*A wild Ember enthusiast appears!* Shoutout to Ember, one of my favorite all time frameworks. Wish I still got to use it 💖
We almost used it on my last consulting project! It's still alive.
Awesome. The noise is crazy to me, i got in thru following my intwrests. Never looked at dev twitter or socials, learned a ton from an in person mentor at a job, and went from there. Seeing it now its insane the doomerism, looking at it does no one good.
There's so much noise. I don't envy new developers. That's awesome that you found a great in-person mentor though.
What? People do apply for programming jobs without proof of them making any program/websites etc? Damn
You'd be surprised how much I saw that when I learned web dev for fun on the side (I work in enterprise networking IT currently). I was making web sites all the way from the basics to a full MERN stack and trying to find people to exchange code and share projects was rare if not impossible. Whole discord servers of 200+ people and only like 5 of them have projects to share. None of the comp sci majors had projects. This was 5 years ago. Looks like it's the same situation now in an even worse market.
@@aFutureSelf It is 10x worse.
25 years in the industry, from dev to director. If you are entering the market and don't have a portfolio (example sites) even if they're basic and no one paid you, you're not getting an interview. To get an internship this is at least 6 months of working nights and weekends to challenge yourself to create custom changes, not borrowing someone else's WordPress widget.
I’m not knocking any particular pathway, however I think part of the problem is that many for a while (especially around COVID) saw any career in software as an easy path to a six figure job (one they could get in 3 months or something crazy). I spent five years building my own projects before I ever got paid for software engineering, so when I entered the industry professionally I was already operating at a level of fairly high competence (there wasn’t a lot I couldn’t build and I mainly had to learn team dynamics etc.). I’m not saying boot camps are the problem, I think the talent that was attracted and the short pipeline into the industry caused many of these issues. That being said many great developers got their start in this same pipeline, it’s not a slight at anyone who came in through that door, it’s just that that door brought in a lot of people who don’t have the motivation to become great developers or the love of the work itself.
Back in the early and mid-90s, developers did every role. There were just developers, who designed UI/UX, defined product features, coded, wrote documentation, tested, and supported customers. We did not know any different.
The UI/UX in the 90s was Visual Basic forms and not an entire framework that needs a whole developer in that role tho.
There will come a time when software engineering fill have to really grapple with this problem because it seems like right now we are just throwing everything against the wall and hoping it sticks without addressing the problem from the ground up. We also need to consider how out of touch and ineffective technical interviews are as well as the reliance of having that one super rock-star dev to get your projects out the door. We have an industry wide problem.
I'm reading this book "The Superstruct Manifesto" right now (short and sweet) and the author said something along the lines of "if your company sells linked lists to your customers, then great - otherwise... you're going to have to produce real product features" (which is so true!) -- and these types of interviews are no good for anyone. We need to be interviewing based on what actually matters.
Great Video!
There is a disbalance between demand and supply in junior dev space, that's all there is to it. When I was starting, it was enough to have some experience with a computer and a desire to learn more. Now you have to invest hundreds of hours into study to even pop up on a radar with 10s of thousands of others just like you.
"hundreds of hours" That's it? You should be spending easily over 1000 hours of focused effort. Who is setting these false expectations for new developers?
@@DonTheDeveloper people do that as well and then cant find work or the work pays marginally better or even worse than a job with much lower entry bar. F* that.
There is so much to say about today's developers and the industry. We need more adults in the room. Be accountable for your decisions. And if you want something, put in the work. Nothing worth having is free.
any good advice on showing companies that i'm talented in the problem solving department? i can't tell if the extensive original projects i do for fun in my off time on my resume are really expressing that quality as well as they should :( either that or i dont even make it to someone with any actual know-how because my resume doesnt have a cs degree on it...
Write about them. Outline how you approached the projects. Break it up into many articles. Show each stage of problem-solving. Show drawings and database structure outlines or whatever it is that you are into. Then, at the end (or at any point), you can take the best of the best from those articles and narrow it down into a succinct case study that links out to those articles if they want more. Crush them with content (I mean proof of your problem-solving skills ;). They'll have no choice but to choose you - over the person who has nothing. The worst-case scenario is that you learn a lot about yourself and have a ton of proof of work to show. Win-win.
Pre 2010 developers are the most cracked ones out there.
It's the conditioned _woke_ generation:
when everyone gets a trophy for simply showing up, then no one has incentive to be competent. 🧐
I’ve gone through 2 interns and my conclusion is that there isn’t a skill gap just a learning/training gap. Expecting juniors to have senior level coding skills doesn’t make sense.
I'd like to hear more about "skill" vs" "learning/training" gap. I'm not expecting Jr. devs to have Sr. Experience. I agree, that makes no sense. I'm saying they should have _some_ skills and experience and be able to learn on the job.
@@sheriffderek Im saying my interns came raw from college not knowing up from down. I've mentored 3 freshers, one works at Microsoft, Statsig and an HR SaaS company now. They knew nothing and now they are professionals. They just needed training and guidance.
@@monstercameron Ah. Yeah. That's nice too. I've had some people come over from marketing to start dev and we trained them up. Worked great. I agree with you that when you train people, they learn things. Your interns came from college. The people I think we're speaking to - did some Udemy courses or a boot camp and are trying to get hired at places that don't have built-in training opportunities. It would be great if they did.
@@sheriffderek a bit of survivorship bias, I came from a bootcamp and never finished college. I think expecting to have a massive workforce that you can hire from that knows your exact tech stack makes no sense and you leave yourself open to mercenaries who are overemployed. A buddy of mine was working a quarter mil a year doing this. I suppose its pick your poison.
@@monstercameron I'm not really following. But that's OK. I learned how to make websites on my own. I'm talking about basic HTML and CSS here. I don't speak for the industry - but I'm speaking as someone might need to hire someone. I can't afford to hire someone with no experience at all and train them. One in ten might work out. I also don't expect people to have Sr. level skills. That's silly.
i learned videography and editing by myself, did a lot of gigs before finding a job at a small company. even with my knowledge i felt like a liability because the business world is not the same as freelance, but they taught me for a few months and now iam all good. how do i know iam all good? they never asked me how i did things, they completely trust me to do it right
The big issue I think is not necessarily that graduates are any less able now than they were. With experienced devs competing for jobs due to layoffs, companies don't feel they need to support grads through the incubation phase. Companies can't complain about new graduates and fail to support them at the same time. If a company is thinking that short term, I'd love to see their balance books and conduct some intrinsic valuations before refusing a job offer from them.
this video set me on the right path!
Big fan of Derek. Didn't know about him before this.
Phew, I love programming and dive in to understand the basics
Senior devs do not grow on trees, as opposed to popular corporate belief. They are “nurtured and grown” from junior devs, by the current seniors.
Companies that refuse to hire juniors or dedicate time to their growth are actively harming the future of this profession.
Appreciate your podcast
I love this channel. I’m a coding bootcamp instructor and agree w a lot of this. 1-size fits all is a bad approach and some ppl are ready for $160k a year jobs after and others are very much barely jr devs. I think the different time periods is a solid idea.
My willpower and effort is insane. Despite that unable to get my foot through the door with a job. Even entry level tech jobs. Finished a 6 month Webdev bootcamp. Building projects. Learning Python, Doing CompTIA A+, Doing another 6 month AI bootcamp, really pressing hard. I'm still fighting and learning every day hoping someone will say yes someday.
Bottom line. I won't stop growing regardless if someone says Yes or No. (For getting in a job). Just hope someday it is a yes. In the meantime, keep pushing hard, fighting hard, and grow.
the way he describes junior skills is a middle level for the guys i listen, who has 10+experience in web dev. the skills he asks requires at least 2-3 dedicated years from the start and learning something for 2-3 years without job is just insane. no any profession exists like that. just dont.
Exactly , the issue is unless you’re rich you have to eventually work to make a living .
There is a limit as to how much time someone can spend before getting an entry level job .
@@RatherBeCancelledThanHandled 100%. What he saying is more for someone who is succesful in life and wants something more as hobby. Learning it without stress. Slowly. Thats why most of the top1% programers started coding at very young age
Help me understand this. I'm not sure if you're referencing me or Don.
Are you saying that my outline of what people should know to get a job (how to make websites, HTML, CSS, a bit of visual design, some backend, some JS, and some frameworks, too) is asking too much and is more aligned with the requirements of a mid-level (years of experience) type role?
What I'm outlining _could_ take years. But, I know it can also be learned in as little as 6 months (well, 1000-1500 hours) (if you have the right plan).
It also seems like most colleges are 4 years where you are learning something for 2, 3, 4, 5 years before you get a job in that field. Doctors learn for 6+ years before getting a paying job as a doctor don't they?
There are many jobs for people of all skill levels. You don't have to go straight for "Software engineer." I started making sites for friends and then got a job at a small dev shop. Many of the people I know get jobs doing admin for websites, building brochure sites, or as smaller roles at a SaaS to start. You can build up while you're learning. I worked at a pizza place when I was first learning. I was totally broke at that time and playing in bands with no career plans or safety net. I'm also - in no way trying to be a top %1 programmer ;)
@@sheriffderek now you are talking differently. u just prove my point.
@@johndevnoza4223 I don't understand.
Too many people want to do cs for the money, not for the passion. Which is fair, you can become a good dev without the passion, but you will never become a great dev.
You want passion get an arts degree. We go to work for money. Yes I enjoy solving problems and finding more efficient ways of doing something but, I enjoy getting paid. We are trading time/experience for money, why did they open the business? Why don’t they give their services away for free or for very little? I’ll tell you because they too enjoy getting paid 🎉 sure there may be passion for what the company does but there is also passion for what the company brings in :)
Passion is extremely important to a good life
@@kevinsedwards yes, I won’t deny you have a point but it isn’t necessary for the Dev or SWE role. On the other hand, I believe innovation comes from passion and necessity. Hiring a developer that has a passion for development is a great strategy for any company, provided of course that they take the necessary steps to nurture that passion. If overworked and underpaid, that developer’s passion will be stifled, their potential at that company cut in half. A passionate developer/engineer will create ways for the company to accomplish their goals more efficiently, they will help ignite a passion for development in entry-level developers, they help set the standard for what a senior Dev should look like. In order to do that, they need to be paid fairly, and not be put in positions where they often have to do more work than what they signed on to do, that way they have enough room on their plate to make sure that the new developer that you snagged early is doing six figure work before having enough experience under their belt to ask for six figures.
30:00 The best developers are curious. Never stop learning. Stay curious.
You get what you pay for...
I think this field is open for everyone just like any other field, no one have the right to make the rules, as there is unqualified people there is also god tier new commers more hungry than many current developers. This shouldn't be a problem as people get filtered by an interviewer and won't take your job if you deserve it. This is the new way of living, if a new commer will take your job then you gotta work on your skills
I don’t think making people use tables and floats when 13 yrs ago flexbox was a thing is crazy, especially when you yourself cannot do it. Flexbox and grid exist for a reason because it was hell back then when everyone learned jquery instead of JavaScript and there was no angular or react. Yes make them learn page layout using css only and JavaScript, it’s rails all over again when everyone knew the framework but not ruby itself. Making components in react you still have to write html, it’s not like everyone uses a component framework. The basics are what need to be learned and js before react or any frameworks/libraries and css before any preprocessor language. Same with ruby before rails and pho before laravel
This guy is very inteligent, Great thoughts.
Unsupervised entry level enginner can mess up your code base beyond recognition and derail your whole project.
Flexbox and grids have been the correct solution for at least five years. Table-based layouts and float hacks were never valid. It's not like websites really need multiple columns and thousands of buttons everywhere. Web apps however…
1) i don't believe that there is a shortage of people in the industry
2) there are many people that seem to refuse to or cannot help themselves before asking for help. I don't think this is any new phenomenon, but we notice it more because so many people are getting into software. It is one of the most accessible """science""" white collar professions out there.
The first software engineers were leading research-level mathematics Ph.D's.
The problems have not gotten simpler since then, they've gotten much more complicated.
Make no mistake: actual software engineering is far more complicated than being a medical doctor, or practicing contract law, or being a master builder.
In all of those professions you are expected to have an insane level of education and certification (doctors, lawyers), or you are expected to have apprenticed for years before you are anything but a liability.
The fact that the industry has went from professional PhD's in the 1950's, to script-kiddie in the 1980's, to boot-camp grads in the 2010's is all about economics.
We were born in an age of globalization and never graduated into a profession.
Imagine if there were no doctors before 1960, perhaps by the year 2024 the medical profession would be a bunch of venture capitalists who decided the cheapest way to make money on brain surgery would be to take a 21-year-old and give them two months of "boot camp" and then have them start sawing away at your skull.
If bootcamp only is a means to an end don’t hire that person they ain’t curious enough
I think the issue here is that students have to decide between getting a job and starting their own thing, and the interview process is the antisis of being a good developer
The bootcamps have flooded the market with React devs. Every Upwork project with React / Mern / Next.js has 50+ applicants