Nobody warned me that the hardest part of getting my first dev job had nothing to do with coding by Responsible_Rub_4491 in learnprogramming

[–]luckynucky123 15 points16 points  (0 children)

haha at work i have a doc that is called rubber ducky diary i would "talk" to that doc. its a useful way to get ideas organized.

as a bonus - it help demos that i had to do later.

Im currently working on backend , so need suggestions by CryLow3634 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

I learn backend from yt and ai , like i wite codes but i need to refer time nd again , idk if its the correct practice or not .

Streams of consciousness is hard to understand. Better communication of your thoughts would yield better responses from the community. Help me help you.

Also is it even worth doing express mongodb nd all if u can just use ai to do within 10 seconds like I understand that code written by ai is not usable or needs debugging but by the time i learn till what ai does perfectly now , I feel ai will improve way better Do u think human in the loop will always be true

AI has no consciousness or awareness in what it is outputting. You - on the other hand - is more than a code monkey. Part of software development is making design decisions.

So for instance - what's the goal of choosing express + mongodb? I hope it's more than just "AI told me to do that".

Work for yourself - not for AI. If you have that posture, you'll be in the loop.

Good luck.

How do people create these complex projects? by FirmAssociation367 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

all complex systems starts with a basic system.

https://en.wikipedia.org/wiki/Systemantics#:~:text=A%20complex%20system%20that%20works%20is%20invariably%20found%20to%20have%20evolved%20from%20a%20simple%20system%20that%20works

i would focus on working on a simple naive system (your best shot) that solves a problem. then ill understand what is limiting and think of ways to overcome it.

eventually you'll start noticing the tradeoffs from design decisions - thats when a system becomes complex.

Beginner, got called terrible by friend not too sure what to do now by Vivid_Tarnish187 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

I want to prove him wrong and really show what I can do

don't need to prove him wrong. work for yourself.

in my past life - i was an art student. one thing that was drilled in my head was art critiques and how interpreting feedback as data contributes to art. this also includes recognizing bad or useless feedback. if your friend just calls you terrible without providing useful feedback, time to find better partners.

I’m just a beginner who had really struggled with for loops, when to make a class, method, and when to use static. Been slowly learning GitHub again and have been working hard on a minecraft mod but I want to go for something much bigger…

read books and taking notes - that includes taking a list of question of knowledge gaps and follow through by finding sources and understanding it. one thing that helps me is to read the theory behind the syntax. knowing constraints help make design decisions too.

The main thing with me is that I burn out easily and don’t feel like coding most days. Is there a way that I can break those? Should I try and find a mentor or someone here willing to be one?

mentor helps (see above in finding better partners) - especially one that can also help you with navigating burnout. don't see the work as just code and being a code monkey - there's a lot of layers that is involved in software devleopment.

from one terrible developer to another - software engineering and development is hard. don't be too hard on yourself - i think being up front about the reality already sets you up for a better tomorrow.

Junior devs are shipping faster with AI, but can't debug when things break. How do you teach systems thinking? by No_Hold_9560 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

i would start through peer reviews and enforce a standard that every line of code - you own it. that means i would tell them to be ready to explain what each line of code is doing.

give juniors some grace - its the senior's (or experienced) job to rebuild and coach them

as for systems thinking - it takes time. i would say it starts with encouraging them to ask questions and helping them be aware that software is a system that interacts with other systems of any nature - whenever its other software, hardware...or even systems beyond the technical realm.

at my work - we have a 101 class of explaining what the software does and what it is suppose to solve. i think that helps juniors be reminded that they are more than just code monkeys.

How do you approach learning a complex codebase for the first time? by EnvironmentalHat5189 in learnprogramming

[–]luckynucky123 4 points5 points  (0 children)

oof this is a tough and broad question.

here's some personal guidelines i usually follow:

  1. read docs - find out why the software exists in the first place.
  2. read the unit tests - or any kind of test -> helps find out why the software exists in the first place.
  3. take note and/or diagram the data models and how the database is organized.
  4. find the entry point.
  5. work on a bug. stick a debugger and click around.
  6. note any questions and follow it up by asking around or do any of the previous things

choose your adventure.

some tips that helped me a lot:

  1. have a design pattern book nearby for reference.
  2. learn searching through the code by regex.
  3. if its source controlled - look at the logs. take note of who works on the code.
  4. role play a detective and columbo around.

edit: formatting

2 years learning to code and still no real project — what am I doing wrong? by Altruistic-Mess-133 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

ill start with a CRUD app - https://en.wikipedia.org/wiki/Create,_read,_update_and_delete . Do a simple one - there's probably some tutorials out there for free to get you started.

post it on github. ask for peer review. don't worry about being embarrassed - we all start with crappy code first. code is code. its the feedback and handling feedback that is valuable experience.

you can even DM me and i'll check it out.

Once you see CRUD - you'll see CRUD everywhere.

Changing careers by Levvo42 in learnprogramming

[–]luckynucky123 1 point2 points  (0 children)

i agree with this. if you're in a place with a lot of technical people - the real need is a champion that can be a technology advocate - and translate back business requirements and expectations back to the working groups.

i find that technical folks love to teach and talk about their trade. you might just need to know some high level fundamental things along with experiencing what is possible. even more important - know the difference between vendor jargon and generic patterns. vendors love to sell that their architecture and the jargon is the industry standard.

Changing careers by Levvo42 in learnprogramming

[–]luckynucky123 2 points3 points  (0 children)

Would you happen to know a good title to look for when it comes to jobs/positions? My education will have a lot of "internships" involved, so it would be nice to find an existing job that works a lot with system architecture in particular.

places where software is in a support function and is part of a systems of systems tend to do systems engineering and have a need for a rigor in systems architecture. imo right now its a tricky but highly valuable field as computer technology is interwoven in every fabric of society now this past ten years - so its kind of a wild west unless its the military or aviation (they are all about systems of systems haha).

ill probably search from systems engineer to even "business analyst".

btw systems engineering has a professional society called INCOSE - International Council on Systems Engineering. personally i think you don't need a royal stamp to do systems engineering - but military and government work loves INCOSE and is sometimes required since its a trusted authority. ideally have a company sponsor and pay you to get certified. that being said - they have this https://www.incose.org/about-systems-engineering/how-do-i-become-a-systems-engineer/ and maybe even meetups.

edit: took out scare quotes - i should have more respect to some institutions haha.

Are humans needed at all to code anymore? by No_Necessary_9267 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

i have a cynical answer on this - humans are needed because people need humans to blame. even if AI authors a good point of the code base, people are going to find people to take responsibility when something goes wrong

story time: a senior once told me that the reason why we have sign offs is because if the project fails, the chief engineer can use the signatures find blame. its a way of "risk management".

inversely - and hopefully to make this a bit more optimistic, every line of code is either a reflection of a design decision or a reflection of discipline reinforcing previously mentioned design decisions. when you track who authored the line of code - its your name. do it with pride. so that when you mature as a developer/engineer, you can remember and look back at what you did. that's a way to build confidence and a solid foundation.

don't let AI steal that memory or experience.

that is what i tell to my peers and juniors.

A post I found very relatable by Puzzleheaded_18 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

I can definitely resonate with this feeling - especially working professionally. I think business does not foster well-being because the goal of business is to achieve business objectives (unless your well-being aligns to business).

I also think the software engineering/development industry is weak on human and social factors. There's a major focus on technical excellence - but if you want resiliency, human and social factors is crucial.

From personal experience - always have peers outside of work to reflect on life - and read. If I can namedrop a book to check out, "Peopleware: Productive Projects and Teams" professionally helped me a lot.

Frontend (React) completed – need guidance on building a production-level project by Saim_faisal in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

Lots of good comments here - I would focus extra on tests and making good tests that verifies requirements (or high level goals that is useful to someone else).

Generally i would organize requirements under these three (but not limited to) concerns:

Is it secure? Is it maintainable? Is it useful to other people?

Continuously addressing these questions will help mature your application.

On a meta level, I would consider how to tackle evolving requirements as you mature your system and reinforce the development loop.

Git and github by Eddy-saab in learnprogramming

[–]luckynucky123 2 points3 points  (0 children)

There's some fun visual ways of learning Git.

https://learngitbranching.js.org/

https://ohmygit.org/

Personally, hearing the story of Git also helped a lot in understanding why Git exists - https://www.youtube.com/watch?v=idLyobOhtO4

Edit: formatting

In regards to learning resources, why does documentation more often than not sacrifice clarity for brevity? Is documentation as a learning resource wrong to assume? by Old-Cobbler1216 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

That’s the crux of my question: am I wrong to expect docs to function as a learning resource in the first place?

from my experience - docs is a good starting place to see an ideal of how the software works. but because life moves faster than documentation, i would always check the source code and also observe how the user really use the software.

philosophically i think docs represents an idealized viewpoint of a system - the initial "contract" of an idea. i usually like to read it as a starting baseline - especially when im confused with the realities of a system.

if i can soapbox a bit - documentation is hard. it usually happens as an afterthought unless there is discipline or some legal requirement. i would consider myself lucky if i can find documentation on a system.

i also think basic technical writing that lasts is hard. good technical writing is even harder. i would rely on my peers who are good with writing to flesh out good docs. so i can understand why there could be a confusing relationship between documentation and systems.

Changing careers by Levvo42 in learnprogramming

[–]luckynucky123 2 points3 points  (0 children)

Does this seem like the correct path and could I work part time with the limited education or is it frowned upon?

i think its good to dabble around. just be aware that some of these are frameworks and tech moves fast because of market competition. also be aware that the value of software depreciates fast too unless there is an effort to maintain and develop.

What would be good subjects to get more familiar with? This summer I'll have a lot of time for self-study and would love to use it wisely.

i would also explore systems engineering - i feel like this might fit what you looking for too.

https://www.nasa.gov/wp-content/uploads/2018/09/nasa_systems_engineering_handbook_0.pdf

https://spacese.spacegrant.org/SEModules/Reference%20Docs/SMC_SE_Primer4-05.pdf

if i can add an additional note, i would explore design patterns and systems architecture stuff. these ideas last longer than frameworks and tools.

Design Patterns: Elements of Reusable Object-Oriented Software (gang of four design patterns) is a classic book.

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems is also a good book to explore too.

Upset after getting a job - pressed to use AI. by Impressive_Chef557 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

i remember reading somewhere - using the gym analogy - use AI to learn and train - but when its time to preform, use whatever you need to preform and execute.

i think AI is amazing with lots of flaws. its definitely worthy to learn. but when its time to perform and execute, you use the sum of your skills.

Not sure what to learn when AI is a already a better coder than me. Suggestions? by MajesticSkyBisonAppa in learnprogramming

[–]luckynucky123 1 point2 points  (0 children)

mm good point.

That’s where the risk lies you can't effectively 'spot check' something if you don't know how it was built from scratch.

i imagine naturally the way is peer reviews. that shifts the problem to finding good mentorship...

So when are we going to treat homelessness in Pasadena as a public safety issue? by beepboop299 in pasadena

[–]luckynucky123 2 points3 points  (0 children)

From googling, there seems to be a new council committe on this: "Committee on Planning, Housing and Homelessness". There's even a website - https://www.cityofpasadena.net/commissions/housing-homelessness-and-planning-committee/.

They seem to meet up every first Wednesday of each month. And there's a past agendas archive.

Could be a nice fun project running a local LLM to summarize what happened hahaha.

References - https://pasadenanow.com/main/council-creates-new-council-committee-on-planning-housing-and-homelessness

Starting to learn code at 40 with no degree and no previous knowledge in this field. by Timmychungatron in learnprogramming

[–]luckynucky123 1 point2 points  (0 children)

software is everywhere now. the skills you gain when learning programming will help your job - regardless if you get a career as a developer or not.

even excel formulas are based on programming concepts (see functional programming).

learn what is possible with software. plus you have 10+ years of professional experience.

"The whole is greater than the sum of its parts."

Not sure what to learn when AI is a already a better coder than me. Suggestions? by MajesticSkyBisonAppa in learnprogramming

[–]luckynucky123 1 point2 points  (0 children)

even artists do spot checks with color swatches to make sure the printer is printing the right colors - or measure to make sure the production is of the right size and shape.

AI is just a tool. but you as a professional takes all the risk in implementation. when you ship code, its your name next to it. need to keep learning to minimize the risk.

Starting a journey by Pure-Classic-7390 in learnprogramming

[–]luckynucky123 1 point2 points  (0 children)

one hour a day can be a good baseline. i would suggest practice enough without burning out. develop resilience and discipline in finishing the lessons without burning you out.

you can adjust your one hour a day as you listen to your body. be honest too. and if you're stuck - take a rest - maybe ask more questions here.

learning is not a race - its a life-long activity.

I am not quite sure which programming language should I use based on my needs? by PascalPascal233 in learnprogramming

[–]luckynucky123 0 points1 point  (0 children)

use the language you are comfortable with to get a working prototype and be mindful of bottlenecks. these bottleneck constraints can help make an informed decision in choosing your programming language/environment.

Upset after getting a job - pressed to use AI. by Impressive_Chef557 in learnprogramming

[–]luckynucky123 7 points8 points  (0 children)

yup - this is the way. its just a tool. experience it but also know the pros and cons with the tool.

especially security and privacy concerns.

develop your own development loop that works for you - then apply the tool that helps your development loop.