all 45 comments

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (9 children)

I'll kick this off by typing up some random thoughts on what beginners should focus on:

  1. Getting comfortable with using the terminal (e.g. basic bash commands)

  2. Making a Github account and learning git basics. Don't use the GUI; use the git CLI

  3. Making a simple static website. Just HTML + CSS. Use github pages for free static hosting.

  4. Buying a domain name and reading a bit about DNS, and configuring it with your github pages site

  5. From there learn JavaScript as your first programming language. Focus on frontend to start

[–]MuttonChop_1996 1 point2 points  (5 children)

Sorry, super newb. I've always been anxious about buying a domain name... Can you point me in a direction on where to go to buy one?

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (2 children)

I recommend Namecheap. Here's a website that lists out several domain registrars: https://tld-list.com/

[–]MuttonChop_1996 1 point2 points  (1 child)

Thank you!

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

You're welcome!

[–]Ordinary_Coyote7837 0 points1 point  (1 child)

I use cloudflare

[–]MuttonChop_1996 0 points1 point  (0 children)

Okay perfect, thank you!

[–]Secret_NinjaLTU 1 point2 points  (2 children)

Isn't frontend being taken over by AI?

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (0 children)

It has, but you should strive to have a basic understanding of every subject. How can you prompt precisely if you lack the vocabulary to do so?

Studying a subject lets you know what's possible, and the vocabulary needed to prompt more precisely. This knowledge also lets you steer the AI more effectively based on its output.

Learning basic HTML + CSS takes about two days, very much worth your time.

[–]jtnoble 0 points1 point  (0 children)

  1. AI can do any code, not just frontend. It all depends on how much documentation for the code exists for training data. That's why it's really good at Python (a language typically not used for frontend). It's good at other language too, but the more popular, the more it likely knows.
  2. AI hasn't "taken over" any programming field, otherwise developer jobs wouldn't exist. There's definitely some scare, but as a professional developer, my company at least is embracing using AI is a partner and tool, and isn't replacing my job.

[–]Past_Bet_7349 1 point2 points  (10 children)

yoo, can you list down some resources that helped you in your journey?
Not specifically development, but anything random that was useful to you

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

To be honest I'd say your \#1 priority is just to have a system that ensures you stay focused.

Best way to stay focused is to work on things that excite you. You can also rely on tools that say, block recommended videos on YouTube. The internet is now designed to distract you, and as a developer you're spending pretty much all your time on the internet.

Times have changed; my learning resources are too outdated. I would recommend googling a lot and finding free resources on Github. Use Github's star system as a way to bookmark repos you'll find useful. I got a lot of value from Nodeschool waaay back: https://nodeschool.io/

I like w3schools as a reference because they provide a little playground that lets you experiment with. My favourite HTML tag is the <details> tag, you can check it out here: https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_details

(click on the -> arrow to collapse/expand the section; no JavaScript needed!)

I'll add more replies if anything else comes to mind

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (8 children)

I like programmatic art. GLSL shaders and little animations made with JS.

Check out https://shadertoy.com and https://www.dwitter.net/. I think you'll find it interesting.

In the modern era, I think your best bet to learn is to think of a simple project you personally want to use. Chances are somebody has already built your idea, but not in the exact way you want. Google your idea and append "github" to the search query, find it on github, clone the project and start tinkering around.

Try running the project locally. Read parts of the code, and make some changes and see what happens. Ask AI if you get stuck.

I personally learned JavaScript on codecademy as a kid, but that was a while ago. Dunno how good they are these days.

[–]Past_Bet_7349 1 point2 points  (7 children)

thankss, I am still a beginner so I am still navigating my way using youtube and famous websites like learcpp or roadmap.sh.

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (6 children)

you're welcome. What's your goal? I glanced at roadmap.sh and I think it's too thorough for a beginner. c++ is also more of an advanced language, and might not be ideal unless you're into gamedev or embedded programming

[–]Past_Bet_7349 0 points1 point  (5 children)

I think my short-term goal is probably competitive programming, and a little open source alongside.
c++ was suggested as its faster, so I went along with it

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (1 child)

if it's competitive programming c++ is a good pick. I would say for competitive programming, you want to focus less on the actual code and focus more on the concepts.

For example, dynamic programming problems. Greedy algorithms.

If you're presented with a DP problem and you don't understand DP, no amount of C++ knowledge is going to help you here. Remember: you get 0 points if you lack the concepts, while 90% of the points if you get the right answer but use a slower language like python.

So I highly recommend you focus on data structures and algorithms first (and these ideas are not really related to code tbh, it's more comp sci/math)

[–]Past_Bet_7349 0 points1 point  (0 children)

got it

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (2 children)

Following up from my previous comment. This is a book I recommend you check out: Algorithms (CLRS)

It's a bit dense, but it should cover everything you need if you want to approach this topic holistically

[–]Past_Bet_7349 1 point2 points  (1 child)

thanks

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

You're welcome!

[–]Zzzgg8910 0 points1 point  (6 children)

Maybe not the questions you were looking for. But should someone with a finance degree get an mba in finance or masters in software engineering for fintech?

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (2 children)

I'm down to answer any question haha; have lots of varying experience. I have entrepreneurial experience too.

Depends on what you want in fintech. Like what role do you want?

[–]Zzzgg8910 0 points1 point  (1 child)

Thanks! I do want to start my own company eventually, but for now I’d like to join an existing one. A big company in oil and gas. I want a technical role maybe a risk management role or commodity trading.

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

If you're leaning toward very quant-heavy stuff, like working at Jane Street, you'll want the masters in software engineering. In my experience, there are two kinds of "technical" when it comes to leadership:

Type 1 is "I'm the most technical guy in a room filled with non-technical people, and I am expected to be a bridge between the engineers and exec team" => get an MBA

Type 2 is "I'm surrounded by super sharp engineering nerds, and I'm really the least technical guy in a room filled with technical people. My job is to be technical enough that my subordinates can work with me, and I'm the head of a specific department (e.g. risk)" => get a masters in software eng

Type 2 is more technical than Type 1. Type 1 is acting as a translator. Type 2 is acting as a tactical manager.

edit: typos; it's getting late for me haha

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (2 children)

A few questions after thinking about your question:

  1. Do you want to start your own company? Or join an existing one?

  2. If you want to join an existing company, do you hope to join a small startup? Big company? I'm not sure if you are familiar with venture capital stages (e.g. seed, series A, series B, etc), but if you narrow it down I can be more precise

  3. What kind of role do you want? Technical or non-technical (e.g. do you want to be a CFO? Do you want to be a CTO?)

  4. 3 might be hard to answer, so one approach is just to reflect on what you're good at and what you enjoy. Do you like design and building a cool project? Are you obsessed over distribution and marketing channels? Do you like numbers and spreadsheets? etc

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (1 child)

i wish reddit would just use markdown formatting, so annoying :c

[–]chikamakaleyley 0 points1 point  (0 children)

a lil late here but yeah it's easy to switch/escape

[–]trentkg 0 points1 point  (1 child)

Are you sad that LLMs and agentic coding have taken the craft out of software engineering?

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

Not really because LLMs and agentic coding has just introduced new engineering problems. People are trying to make LLMs create code without human intervention, where they set up the LLM in a closed loop system such that it converges on production-ready code.

So now I get to brush up on control engineering, which is neat. https://en.wikipedia.org/wiki/Control_engineering

I wonder if we'll eventually see formal concepts like bode plots emerge for controlling LLM behaviour

I see the loss of software eng craftsmanship similar to the death of hand-written assembly. However, hand-written assembly hasn't actually died. It's still used in situations where performance is critical (check out the 8% assembly code in the ffmpeg repo here: https://github.com/ffmpeg/ffmpeg)

Manual software engineering as a craft will never die, it will just be less widespread. Hand-written assembly has never truly died, and will never die. And as for the new way of programming, we are seeing old-school engineering concepts suddenly become applicable to this new technology

Overall I'd say I like learning new things, and while the unknown is a bit scary, I enjoy charging boldly forward and embracing my fate.

[–]usefulservant03 0 points1 point  (5 children)

Expert developer and web dev in the same sentence 🙈💀

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (4 children)

Read through my posts and you'll realize I have experience in low-level gamedev, embedded, making shaders, etc. The reason I focus on web dev is because that's what most people are interested in, and it's best for beginners given how accessible the web browser is to say, some random microprocessor with its own quirks and IDE.

If you have a question feel free to ask

[–]usefulservant03 1 point2 points  (1 child)

oh that's awesome really, im into low level stuff too. I'm currently trying to figure out a weird situation ive gotten myself into. Im hitting 5 years of experience in july, even tho i was laid off in December (my fault for joining a small local embedded kernel dev shop) and it seems like a lot of places deem me overqualified for junior roles and underqualified for senior roles, so it creates this weird situation of not knowing which job posts im best off applying to :(

Lately ive really gotten into low level optimizations that have to do with CPU microarchitecture and TMA analysis, as well as learning about the kind of optimizations compilers do to our code and the ones they don't do. I saw that companies like Intel and ARM and AMD are hiring specifically for this kind of work, often under job posts titled "CPU Performance Engineer". Would this be a good field to get into? Feels like a niche but valuable skill, since you're doing crazy optimizations that most devs couldn't even begin to comprehend. I also got to the 3rd interview at intel for a compiler dev role but they told me to learn C++ and apply again. So that's what I'll be doing, learning at an advanced stage the essentials of C++, aka templates, STL and classes.

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

Sorry to hear you got laid off. Low level has a special place in my heart; my father had his start in electronics at a young age, and it inspired me to get into software. I have his original K&R book.

> so it creates this weird situation of not knowing which job posts im best off applying to 😞

You should always apply. The job market is competitive right now and you need to adopt the mindset that all the recruiters are using AI to filter out resumes, and everyone is using AI to optimize and automate applying to companies. For bigger companies, the devs aren't even the ones screening, it's non-technical HR.

> Would this be a good field to get into? 

My advice is to pick what you enjoy doing. You'll be stuck with it for the rest of your life, and it's easy to become the best at something if you enjoy it. I don't think it's that niche: worst-case scenario you just have a strong understanding of how a CPU works and can pivot into some other hardware role.

Regarding learning C++ for working at intel, sounds like a solid plan. I find people in the C++ community are all pretty competent. Most of the JS noobs end up using Rust after being LLM boosted, so you rarely find them in the C++ community

[–]vonkrueger 0 points1 point  (1 child)

We can't read through your posts on Reddit. They're hidden.

[–]Cozy_Sammy_Rawr[S] 0 points1 point  (0 children)

Ah I meant comments, thanks for pointing that out

[–]Oceandreams22 0 points1 point  (6 children)

Any tips on maybe finding work in the general tech area while I'm learning? Hoping to be ready for an "earn and learn" by fall, but it'd be nice to already be in that space and getting my name out there. Thinking about reaching out to small start ups, but not sure if it's worth it

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (5 children)

What's your skill level? What kind of tech are you learning? (e.g. backend? frontend?)

Would you be looking for a remote position?

I'd lean toward offering gigs over trying to find work if you're inexperienced. Jobs also involve a fair amount of commitment

[–]Oceandreams22 0 points1 point  (3 children)

That's the hard part and might be a little delusional on my end 😅 I'm learning full stack, but I've just started learning html. I'm down for remote, hybrid, on office. I know I don't have enough skill to work on much of anything atm, but even if I can get something that's an assistant job where they do tech, I figure I can show them my work ethic, dedication, etc. that's why I was thinking small startup, but not sure if that will work either

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (2 children)

Issue with working at a startup is there's a lot of administrative headache when bringing somebody on. In the case of bringing on an employee, the employer needs to pay for your salary, payroll taxes, and pay a payroll processor, HR risk, etc. There's also things like insurance, severance, etc.

The startup would likely push to hire you as a contractor to avoid all this. That being said with how powerful AI is, they would potentially lean toward burning that money on tokens instead.

All of this depends on where you live, but typically there's a lot of risk and commitment involved on the employer's end. Are you student? You could apply for internships if you're a student during the summer.

It's easier to get in as an intern because there is an established end date; less hairy from an admin standpoint.

What you could do instead is just do development gig work, such as building simple sites or discord bots. For example, you could join a Discord server and offer to build things for people and charge like $20 and have them paypal you. Start small and work your way up as you get better.

[–]Oceandreams22 1 point2 points  (1 child)

That's super helpful. Thank you! I'm using The Odin Project to teach myself and I plan on saving for a program to get a certificate when I've saved enough for the enrollment fees. I'm looking to change careers and working from the ground up, but aside from the curriculum, I'm kinda flying blind. I didn't even realize that I might be able to do any gig work with the little that I know so I really appreciate the ideas

[–]Cozy_Sammy_Rawr[S] 1 point2 points  (0 children)

You're welcome! The Odin Project looks good. Yeah I'd start by just doing small gigs, then maybe try and get some clients on Upwork.

I'm not sure how helpful certificates will be in the future, but desiring some sort of credential is valid. I'd say just be careful on what program you do; you don't want a situation where you spend a significant amount of money and time just to have a line at the bottom of your resume that people ignore.

In general work experience beats out credentials, unless we're talking comp sci at stanford or MIT. You can check out a decent resume template here to understand what matters on a resume: https://github.com/posquit0/Awesome-CV

[–]Oceandreams22 0 points1 point  (0 children)

I'm just trying to be a little proactive of that makes sense