6 ms·
> I became a dev when everyone was hiring for React, so React is what I taught myself immediately after bootcamp in the scramble for a job A better education p
by carlossouza 3y ago
> I became a dev when everyone was hiring for React, so React is what I taught myself immediately after bootcamp in the scramble for a job
A better education path (in a bootcamp, university, book, youtube, whatever) would start with the fundamentals and build it from the ground up... not the other way around.
(I just realized how lucky I am for being taught in the best possible order, from the ground up... first the basics... and how so many people didn't have this opportunity)
- agumonkey 3y agoI have a strange feeling about the industry. It seems better received to know a framework 30% (or enough to make simple/intermediate things) even if you know next to nothing about the underlyings rather than the opposite. If you're an ES6 master but can't mesh well with react tasks / react convos in daily you will look as less useful.
- majesticglue 3y agoI disagree. It's like telling someone who is somewhat interested in building cars to learn how an engine works before having them on the ground playing with the actual car parts. The issue becomes not whether they'll learn, it's about whether they WANT to continue to learn. Most people when they want to start coding, would rather want to build cool things. And then later on, they'll naturally be more interested in the fundamentals. I argue that this is why schools are terrible for teaching. They try and teach fundamentals without making kids interested in the topic first. As someone who taught many kids, the struggle is always making them interested, not the rate at which they learn. I remember when I started programming, the worst advice i got was on stack overflow, that I should learn from this thick c++ textbook as a start... Wasted couple months on that book, where the concepts went through one ear and out the other, became extremely disinterested. Only until someone told me to just learn Javascript and build things was when I progressed and learned rapidly. Took me only a year after that to get a job with me becoming interested very quickly on learning fundamentals from there. If I kept learning from a book, it would've taken me several years before I got to even building. It's silly to assume someone who learns from the top down can't learn the fundamentals at some point. Now I've learned game development and currently learning ai on the side. I've tried bottoms up learning many times, but it is incredibly slow to get my goals. Top down and learning fundamentals after you get your hands dirty has been the absolute fastest way for me to learn new topics. With bottoms up, while you may learn many of the basics, you also happen to learn a bunch of extraneous information that you may never use, and will forget because you don't use it.
- c-hendricks 3y agoThere's space between "read this giant c++ tome" and "you're good to go with a couple of months of React", quite a lot even. From my experience with bootcamp people, it leaves them woefully underprepared. But my sample size is small: 3 people, 3 separate bootcamps, similar results. They knew one portion of react, no fundamentals. And sadly a couple of them really took to using Copilot. So they don't know how to do what they're doing and couldn't explain their submitted code. Just the worst of all worlds there. They were effectively incredibly expensive Copilot subscriptions (not to belittle them, they did that themselves)
- majesticglue 3y agodefinitely. I just think for some, bottoms up learning has quite some disadvantages and was an approach that I've used for a long time with okay results. It would get me to where I wanted to be...but it takes way too long sometimes. Of course there are people like you mentioned though who only do top down learning but just never go into learning the fundamentals ever, which is another problem in its own right.
- syntheweave 3y agoI've gradually taken towards "always learn as if it's a sport" as the approach to learning. Which, if you look at the sports science recommendations is: * Isolate highly specific techniques into drills. * Then go directly to practicing live gameplay. Ignore intermediate exercises. And the approach with programming can, in fact, do this, if presented properly: definitely, we know how to isolate things into short follow-along examples. What tends to be missing is the "live gameplay" element, because it's hard to set up sample projects that are complex enough to reveal the need for a particular technique.
- Spivak 3y agoI don't know anyone who has ever learned programming bottom up. Now growing with the technology as it evolves is one thing, but being taught in that manner is miserable because it's unmotivated and the reason for the low level is the high level not the other way around. You just use even handlers in JS and then when you hit some confusing behavior you dive in at learn about how event propagation works. Nobody learns block how devices work before filesystems because it's backwards. Filesystems are the motivation, block devices are a means. The processors course in college comes after the intro programming and after systems programming.
- throwaway675309 3y agoI love when people say this, because everyone has a different relative arbitrary starting point for the term "basic". So let's take you, for example. How far back did you start ? Did you write a basic HTML site in notepad? Did you program your own TCP/IP stack? Of course you at least configured the actual Web server using Apache on your Debian vps, right? See how tired this argument is? As for me, I just directly manipulate the platters of my hard drive using a magnetized needle to encode sequences of ones and zeros.
- lazypenguin 3y agoNone of these things are fundamentals
- treffer 3y agoThe opportunity one is really the core. A friend went through a bootcamp. Father of 3. I think this is the most viable option to join the field for him. So the options are bootcamp or not. Not from the ground up or not. Bootcamps cater thst group. Ideally skilled, smart, willing to learn but on a tight schedule and in need of a job. This also changed my mind a bit on how to think about bootcamps. They are a way to give people who couldn't afford a longer education on the discipline an entry point. All the success or failure is still on the person, and there is a lot to learn, but I respect everyone going through the hard path.
- yoavm 3y agoAgreed, but it's so rare nowadays though. I still remember when I saw a junior frontend dev struggling to get some element to look differently when hovered in React. They went though loops and hoops to style it using CSS-in-JS and mousemove, only because they didn't hear about :hover.
- revskill 3y agoThen what ? That junior dev could produce working software, and fix the css issue later (if needed). Give that "senior CSS developer" a day and figure out how to manage state, then what you get is a crap.
- nicoburns 3y agoThe problem is that if the end state you want is a clean codebase implementing your use case, that’s also easy to modify and extend, then the mess such a developer will produce is a much worse starting point than starting from scratch.
- gibbitz 3y agoBusiness doesn't fund "fix it later" -- it just becomes tech debt. You have to push to do it right the first time or approve merges you can live with in perpetuity.
- sfn42 3y agoYeah that's gonna work out great when the entire app is built using weird overcomplicated solutions to simple problems, let's just clean it all up later! Doesn't matter how you write your code as long as it seems to work, well deal with all the bugs we discover later! The proper way to do it is to do code reviews and teach newbies how to do things like this. Ideally they should have asked about it(or just googled) before the review. I think "well just fix it later if needed" is asking for trouble and you're basically just writing legacy code.
- gedy 3y agoMy favorite experience with Bootcamp folks was someone who came in do an interview, and she could talk, was professional, had nice looking blogs, etc. and seemed really awesome on paper. However, I had her do a really simple React exercise, and she was producing some really strange code like using Ruby inside of a JavaScript onClick handler? lol I think a failing of a lot of these bootcamps is they encourage people to present themselves as more experienced than they actually are. I don’t mind someone who’s starting out, and has a lot of potential, but please be honest about your skill level, as it just disappoints the interviewer and misrepresents you.
- syx 3y agoI think most of this comes down to the fact that these bootcamps are there to freshly bake people to work on the latest shiny tech completely ignoring the basics of computer science. I, like yourself, was very lucky to attend a university course that gave me exactly those fundamentals.
- beej71 3y agoI worked at a boot camp that started off CS-"heavy" (relative to other boot camps). Unfortunately, they gradually just turned into a React shop to try to maximize profits. There were students who had been in the program for 4 months and couldn't write FizzBuzz. The placement rate was poor because students couldn't do technical interviews. I understand this particular company has made improvements since then (I've left), but it was fucking grim at the time. I now teach at a state university. But yes, to anyone in a boot camp, get yourself some Khan Academy or whatever you need to get the fundamentals. This is an art, a science, and a craft, and you need to study to show your pride in that craft.
- mettamage 3y agoNot always. The bootcamp I worked for did 2 months of pure HTML/CSS/JS and then did a personal project for another month of which students almost exclusively used HTML/CSS/JS, some did React. Only in the final week did I teach React. This was around 2017, most students didn't become React devs. Most students did end up in the JS ecosystem, but 30% did something else [1]. [1] When I say 30%, that's not an official statistics. It's just on my impression what I've personally seen from students who connected to me on LinkedIn. It's a guestimate at best.
- ukuina 3y agoWhich part of that curriculum was core CS?
- mettamage 3y agoNone of it, as those skills were not asked for by the labor market. And I tend to agree with it (as a CS bachelor and master graduate). What you need to learn is programming in a specific way. CS teaches a broad scope of things that are all helpful but they are not strictly necessary to know, especially not as a junior. I think doing a CS degree after having done web dev for 3 years in the field is a much wiser decision. For example, I never really had to know how a compiler works or assembly, but I know it. I only needed my data structures and algorithms knowledge once. My knowledge of UML? Meh And so on
- bdcravens 3y agoFor me, coming online in the late 1990s, I've never experienced as much "education density" as I did when learning HTML to build sites on Geocities. For those who didn't experience that, circa 1997, you could either upload files or write HTML in nothing more than a textfield. No highlighting, no WYSIWYG, no page builders. Just you and a blank canvas (if you were lucky you might use an editor like Homesite or HotDog)
- zhte415 3y agoIt was also a time of DIYing shopping carts in cookies, forums all about getting payments working, and what's HTTPS?
- tzhenghao 3y agoYeah, I was just chatting with another principal eng friend recently where maybe a whole new generation of programmers may be several degrees away from topics like operating systems, compilers, computer security and networking. Once in a while, (lower level) software needs to be rewritten as underlying invariants go out of fashion. Think filesystems due to hardware access patterns etc. - to unlock magnitudes of performance improvements. The scary part is maybe we'll never have enough programmers to know how to do "the hard stuff" anymore. I hope I'm proven wrong though!
- pc86 3y agoThis is sort of a FUD argument IMO. There will always be people who focus on low level software engineering. There will always be people who want to learn about the hardware of computers much more than the software. Proportionally there will almost certainly be less (we don't need nearly as many computer engineers as we do software engineers) but as long as the salaries remain competitive there will be plenty.
- KnobbleMcKnees 3y agoIt's not just this but also the fact that there are many more layers of abstraction now than there were even 10 years ago, never mind 20/30/40 years ago, and the real world incentive to understand the entire stack of those abstractions is virtually nil in modern engineering environments.
- augusto-moura 3y agoIt depends on the intention of the person trying to learn. When someone is starting and asks to me which language/tech is best to start, I always ask, what do you want from learning tech? Are you comfortable with X salary? Do you want to make a career of it? Go international/remote? Etc. I had some friends being honest about only wanting some good money, not top high, but in comfortable zone, and preferably fast, in less than a year. With that kinda of mentality, I usually recommend going straight to the most used stack where I live, React, Angular or Java. They are usually just starting and want to feel the waters, I tell about the basics and link some online courses. Everyone can start on one tech and learn another later. I myself learned frontend before high school and only had a formal education on software years later on college, and now I feel like pretty proficient on software as a whole. The answer to it, is usually giving some time and experience
- Twirrim 3y agoWe had an intern last year, and I got a chance to do a 1-on-1 with him later on on his time with us. He was looking for some insights from the engineer in the org with the longest career in tech. The biggest single thing I think I ended up doing during that session was getting him to re-frame his thinking from "I'm a React developer" to "I'm a developer", emphasising how all the fundamentals remain the same, just the nitty gritty implementation changes a bit from time to time. It was interesting to watch that lightbulb moment happening with him as we were talking, while also frustrating that the bootcamp etc. training he'd been through had so fundamentally set his thinking up wrong from the outset (since had a few more interns that came via different bootcamps, and it has been the same story with each!)
- randomdata 3y agoAnd that's why learning is best left as an individual pursuit. For me, it is always best to start with a complex system and then work backwards, understanding the thoughts and decisions that went into each step along the way. When I start with the basics I don't get a feel for the bigger picture and it means nothing. I'm glad I've only been around the industry for 25-some-odd years. We already had many high level abstractions to work with. If I were old like you and had to start with flipping toggle switches, I'm sure I would have zoned out immediately and never progressed further. I could handle flipping toggle switches now, but only because I've been engrossed in the bigger picture thanks to those high level abstractions.
- pc86 3y agoI hate to break it to you but if you've been in the professional world for 25 years, you're old :)
- randomdata 3y agoWell, yeah, but you'd have to be at least twice my age to have been starting out when this tech was in its primitive state. Comparatively, I'm still a spring chicken.
- drunkenmagician 3y agoI think the word(s) you meant to say were ‘properly experienced’ ;)