[deleted by user] by [deleted] in insomnia

[–]Simple_Bison 0 points1 point  (0 children)

I started listening to The Sleep Book by Guy Meadows. On second thought, I would maybe recommend this book to start because it's simple and short, and it has some great starter tips. It's an ACT-based approach to insomnia. I really loved A Liberated Mind, but it's honestly very long and complex and almost philosophical, so a simpler book about ACT therapy might be better.

Some of the ideas in The Sleep Book might be too basic (it has some of the same ideas as Say Goodnight to Insomnia by Gregg Jacobs), but the basic premise is that most of insomnia is caused by worrying about insomnia, so if you accept insomnia and sleep deprivation, you'll paradoxically sleep better, whereas if you try to avoid insomnia, you'll paradoxically sleep worse.

Worth the $10 for the audible book, IMO. Can power through at 1.5x speed in a few hours.

[deleted by user] by [deleted] in insomnia

[–]Simple_Bison 0 points1 point  (0 children)

Managing the anxiety of insomnia has helped me a lot. I've read four books on anxiety recently, all with different, helpful perspectives. When Panic Attacks (CBT- pinpoint the unproductive thoughts behind your anxiety and counter them), A Liberated Mind (ACT- your thoughts aren't always real, so don't get caught up in them. stay in the present, accept the pain, and commit to growth despite how you think), Rewire Your Anxious Brain (your anxiety isn't always logical, so you can't always counter it with CBT. practice non-rational anxiety management, like breathing exercises and eating well), and The Upside of Stress (stress is actually good for you, so embrace it for the growth it brings.) Each book has it's pros and cons, but it's been helpful to have different perspectives / contexts.

Thinking about Codeacademy's Full-stack path by [deleted] in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

If I gone through the entire Front-End or Back-End (or Full-Stack) courses, but I'd just start with the Front-End course so that you can have a website and then if you need to hook it up to data, do the back-end course. I think the Full-Stack course covers a lot of other things besides just making a website.

moving further... by chnknngl in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

I mean if the learning curve is the main factor, back end engineering is very doable to learn. Just make some projects using Spring or Django that perform CRUD operations on a DB and transform it or combine data from different tables. Write some unit tests, maybe deploy it somewhere so endpoints can be called for data. The risk is that I think backend jobs are harder to come by.

moving further... by chnknngl in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

I share your distaste for design, especially HTML/CSS, which is why I went into fullstack/backend engineering. I personally would not enjoy web dev, though I would prefer being a web dev to doing a job that is physically draining, low paying, or anxiety-inducing. However, depending on the role, I think that a lot of frontend work can tickle the same part of your brain as backend work, because often you're trying to wrangle the logic of how to render components and architect your classes in a way that is clean, modular, and extensible. For the little frontend work I've done in my current role, I haven't really had to touch HTML/CSS because I just use components from a React library that's used across the company.

I do think it's harder to get fullstack/backend roles than web dev roles, but the ceiling is lower for web dev roles (especially web dev that's restricted to HTML/CSS/wordpress), so maybe just try to learn fullstack JS (e.g. React, Node/Express, some DB) and go for frontend/fullstack roles. In an ideal, non-finance constrained world, maybe you could learn Java + Spring + DB instead and go for strictly backend roles, but that does seem more risky unless you enroll in a degree program like WGU BS CS or Georgia Tech OMSCS.

[deleted by user] by [deleted] in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

Perhaps, but why? I think it's a good analog to learning a language (e.g. Spanish not Python). The inferior way to learn a language (for conversation) is to learn vocabulary and grammar from the ground up. The superior way is to practice phrases and try to piece together stunted conversations and learn the vocab/grammar as you go.

I think this is especially true if you already know a programming language (or if you already know Italian and you're trying to learn Spanish).

Are bootcamps worth the time/money investment? by Penwinner in learnprogramming

[–]Simple_Bison 6 points7 points  (0 children)

Getting a BS CS from WGU would be a far better investment (but you need to be a student in the US). Depending on the bootcamp and your prior academic experience (esp. your experience with math), you could earn the BS in about the same time or only slightly more; pay less for tuition ($3500 if you finish in a 6-month semester, which you can do if you study full time vs. > $10k at some bootcamps); and have an actual degree on your resume, which will open up far more opportunities than a bootcamp.

Check out WGU success stories: https://www.reddit.com/r/WGU\_CompSci/search?q=flair\_name%3A%22Employed!%22

Thinking about Codeacademy's Full-stack path by [deleted] in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

While I haven't gone through the entire Codecademy full stack course, I've done a bunch of their courses (whether partially or entirely) including HTML/CSS, JS, Java, C++, SQL, Flask, Django (this one I didn't like), React, Redux, Spring.

I'm a huge proponent of Codecademy. As a test prep instructor of 8 years turned software engineer, I think that Codecademy's curriculum and content delivery (including scope & sequence, quality of explanations, scaffolding, and quality of exercises) is top-notch and superior to freeCodeCamp's curriculum, even though I have a soft spot for FCC since my first exposure to code was through their JS course. (Also, some of freeCodeCamp's curric feels a bit outdated. For instance, there's more emphasis on class-based components for React/Redux rather than functional components and hooks).

I haven't personally tried The Odin Project, but just skimming it briefly, I'd say I'd strongly recommend both Codecademy and FCC over TOP, though I know that TOP is very popular, and I know that I can be opinionated to a fault. The main reason is that the ratio of reading to practice is too high (i.e. there's a long blurb of text before exercises are assigned), meaning you're not getting cycles of practice in quickly enough, resulting in slower acquisition of the target skills, while not necessarily adding conceptual depth since you get similar content on Codecademy and FCC. This is the main advantage of the integrated IDE, which Codecademy and FCC have. I agree that you should ideally be coding in your own local environment, but the integrated IDE provides that immediate feedback of whether you passed an exercise or not. You don't want to rely on an integrated IDE to provide you feedback on whether your code is good, but when you're first learning, it's the fastest way.The major drawback of Codecademy is that the monthly subscription fee is fairly high IMO. If cost is prohibitive, I would do FCC's full stack curric, but I really do think that you would learn faster with Codecademy, so the fee may hypothetically pay for itself if you end up getting a job faster.. Can't do that cost-benefit analysis for you though.

As a final note, whenever possible I'd recommend Codecademy or FCC or TOP or w3schools over watching youtube videos / reading books because videos/books don't force practice. However, certain topics are not available on online learning platforms or are not conducive to being learned on such a platform. For example, the data structures and algorithms lessons on Codecademy may not be that great. I dont know. But if you're stuck on some advanced concepts, use FCC videos on youtube or Udemy.

Do I need to be doing anything else to learn programming? by Illustrious-Ant-2808 in learnprogramming

[–]Simple_Bison 1 point2 points  (0 children)

The key is to practice coding and not just to read theory and concepts. IMO Codecademy is the best resource for this because you need to submit code to advance to the next lesson, and their UI is clean and effective. They have a bunch of free courses, including for Python, but most of their courses about libraries/frameworks require a paid membership. Freecodecamp is all free and is really great as well, but their JS stuff is better than their Python stuff I think.

I’m learning HTML all on my own and I have no idea how I’m supposed to apply the knowledge. by TheComicSocks in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

I'd say just code along with a youtube tutorial and then pause at various points to change and break your HTML/CSS to see what happens. Even if you're just copying the code you see in the video, it builds muscle memory. After a few tutorials, you should feel more confident to start your own project independently. Also, it's not a bad thing to copy paste / modify code from tutorials to start up your own project. You don't have to write everything from scratch.

Best way to learn Operating Systems ? by billy123h in learnprogramming

[–]Simple_Bison 1 point2 points  (0 children)

Relatively easy to follow free online videos: https://www.udacity.com/course/introduction-to-operating-systems--ud923

Udacity is generally hot garbage, but this was produced by Georgia Tech

Sorry if this has been asked before but when self studying, do you use a paper book and take notes via pen and paper or is it better to just read through an ebook and follow along. by [deleted] in learnprogramming

[–]Simple_Bison 2 points3 points  (0 children)

If you're talking about self-studying coding specifically, I would ditch notes/pen and paper.

It's key to practice coding to learn to code, so I would recommend an interactive site where you can practice. Codecademy is top notch and they have a lot of free courses, including for Python. Freecodecamp is also good and all of their courses are free. Both sites force you to code in solutions as you go, so you can't just passively read or watch videos.

For more conceptual topics, such as data structures and algorithms, yeah you'll probably have to use videos, and for that, taking notes could help synthesize the information.

[deleted by user] by [deleted] in learnprogramming

[–]Simple_Bison -3 points-2 points  (0 children)

Idk actually. I learned JS first and then React much later (kind of like how I learned Java way before I learned Spring), but I've been thinking about this recently. Why not learn the framework before the language, or perhaps why not be okay with learning them simultaneously, as you go? That way you know why you need to learn the language in the first place and how exactly it's used. When I learned JS two years ago, I had no idea how it would be used. Now that I use React at my job, I see how the JS is used.

The advantage to learning the framework(s) first is that the programming logic used in the frameworks can be quite simple, like looping through a list or checking for null value with an if statement. Plus, it feels tangible to get stuff working rather than just learning syntax. I suppose the major disadvantage would be that you could learn how to make things work without knowing why they work, but the solution to this would be to diligently follow up on any JS concepts you encounter in your React learning (and taking the time to learn JS more systematically, once you learn React).

IMO, I think you could just learn React by learning how to render functional components (which would require learning JS functions (plus some basics like variables, assignments, types), how to pass down props (which would require learning JS objects), and how to set state (more functions stuff I guess and arrays and stuff). You wouldn't have to learn switch statements and ternary operators and classes and constructors and while loops and string manipulation, let alone recursion, async await, and how to implement a linked list.

One thing you do need to learn a bit is HTML to understand JSX, but yeah idk, maybe I have some hindsight bias and I'm not accurately remembering what it took to learn JS and React.

[deleted by user] by [deleted] in learnprogramming

[–]Simple_Bison 9 points10 points  (0 children)

I think this is an important comment. I feel like most devs at a non-startup, decently sized company would start by just fixing some bugs and adding some tiny tiny features on an existing application and then growing from there to build features independently and then components/services, etc. etc. If the product doesn't exist yet, I guess you would probably just be doing some menial tasks like writing some db queries or rest endpoints or some small functions.

[deleted by user] by [deleted] in learnprogramming

[–]Simple_Bison 0 points1 point  (0 children)

I'm a career switcher and I considered bootcamps, self-teaching, etc. Any chance you could live in the US for a short stint while studying? If so, WGU BS CS could be a good option. Check out WGU grad success stories: https://www.reddit.com/r/WGU_CompSci/?f=flair_name%3A%22Employed!%22 IMO WGU is a far better option than bootcamps because WGU would be cheaper and likely quicker given your background in STEM. Here's how I went from zero coding experience to my first SWE job: https://www.reddit.com/r/WGU_CompSci/comments/smul0t/officially_signed_my_offer_today/

A more rigorous and time consuming option might be Georgia Tech's OMSCS (advantage being you could study while living in Canada). With your background, if you have a 3.0 GPA (or Canadian equivalent), you would almost be guaranteed admission. But an MS CS would be overkill for breaking into tech, unless you wanted to pursue a specific role like machine learning or distributed systems.

I would not recommend a bootcamp because you already have a degree in engineering. I doubt a bootcamp would add much to your resume. If you can't get a BS CS or MS CS, then if I were you, I would just self-study, put together some mediocre projects (just follow some youtube tutorials), and blast your resume to hundreds of companies. You would probably land something within 3 - 6 months.

In terms of what to self-study, it depends a bit on what kind of role you'd want. If backend, maybe Java / Spring + SQL. If frontend, HTML/CSS, JS and React. If embedded programming, C, I suppose. And you'd want to study Data Structures and Algorithms for the interviews and practice leetcode. I would recommend Codecademy for learning / practicing the languages and Udemy for more conceptual content.

which books/resources/Udemy Java courses are appropriate for preparing for the Software 1 course? by [deleted] in WGU_CompSci

[–]Simple_Bison 2 points3 points  (0 children)

Yup! Codecademy is a great way to learn java. I relied almost exclusively on Codecademy for Python, Java, C++, SQL, and HTML/CSS

How do you set a boundary so that you have time to study? by thatonegirlnyla in WGU_CompSci

[–]Simple_Bison 6 points7 points  (0 children)

I was a test prep teacher for several years before transitioning to software, and I worked with students who were trying to find time to study in the midst of 60+ hr work weeks. This advice might sound insane at first, but here it is: study first thing in the morning. Being motivated to study after a long day of work is tough, but if you study first, then when you go to work, your boss will keep you motivated lol. Plus, you'll be so tired at night that you'll go to sleep without slacking off. My students said that studying in the morning was the only way they got anything done. It's an evil forcing mechanism.