I Have Given Myself 12 Months To Be A Programmer, Any Tips?
Posted by Automatic_Gap789@reddit | learnprogramming | View on Reddit | 71 comments
I am a 22M who has just gone part time and I want to learn coding spending around 30hrs a week on learning. I want to get into specifically HTML, CSS, JS and React and eventually learn Shopify's library Polaris. I have given myself a 12-18 month goal from very limited knowledge of all of the above to making a full stack app for Shopify and hopefully getting my first paying member.
I currently work as a Sales Manager both B2B and B2C and have done sales since I was 16 so I have a lot of knowledge with marketing and outreach to businesses when I eventually launch something.
I want to get some advice on what to focus on, best way to learn to be a dev, the do's and don'ts and where I should start.
I was also looking for some advice on breaking into the E-Commerce, specifically Shopify space and if there is any other better languages eg. Ruby on Rails that I should learn instead.
I want to get something made within 6-10 months from now and offer free trails to 10 businesses or people and get feedback from them on what can be improved etc. and do market research before I get something made on what people in the E-Commerce space wish they had or mundane tasks they wish could be automated.
If you have got this far thank you very much and I look forward to hearing any tips or advice, I am just looking to get put in the right direction.
Zara_Metana@reddit
Hey man, your tech stack choice is solid for Shopify development. HTML/CSS/JS/React will get you far, and Polaris is definitely the right call for Shopify apps. Don't worry too much about Ruby on Rails initially - JavaScript can handle full stack development just fine, and staying in one language ecosystem will help you move faster.
Few thoughts from training people at Metana who've made similar transitions:
Start with vanilla JS before jumping to React. Sounds boring but you'll thank yourself later when debugging React apps
Build small complete projects every 2-3 weeks instead of just following tutorials. Even simple stuff like a todo app or calculator
Your sales background is actually huge - most devs suck at understanding business problems, you already get it
For the Shopify route specifically:
- Learn their Partner Dashboard early
- Their dev docs are actually pretty good
- Try building a simple app that solves one tiny problem first before going full stack
The 6-10 month MVP timeline seems realistic given your hours commitment. Your plan to get feedback from 10 businesses before building is smart - wish more people did this. If you want any extra help, feedback or you want to level-up the skills you've already acquired, feel free to hit me up, we might be able to help :)
What's the first project you're thinking of building to get started?
Automatic_Gap789@reddit (OP)
I appreciate the feedback, I just want to build common starter projects to do lists, weather app, things that require basic front and back end. I want to learn stripes API's quickly as well as as that is commonly used.
ReiOokami@reddit
If you have tech experience already start with CS50 (free on youtube and Harvard eX), don't use AI to code for you, and go from there. It will give you solid fundamentals.
Automatic_Gap789@reddit (OP)
Cheers bro, do you not think I should treat chatGPT as a tutor rather than a Senior Dev to help me
ReiOokami@reddit
Yeah you can use chat got as a tutor from time to time, it def helps fill the gaps in many ways. But you will also need to learn how to research and read documentation. The newer libraries are not even processed in llms so just relying on may lead to being misinformed. I can’t tell you how many times the llm has told me some function form some library has a method in it when in reality none exists.
LLMs have their place and purpose but at what cost? Critical thinking? You are in the learning stage so critical thinking and understanding is the upmost important. Don’t outsource that to an LLM
BrohanGutenburg@reddit
LLMs have their place when learning to code. But you can’t let them code for you. I don’t drop a like or code anywhere until I understand what it’s doing. LLMs also make fantastic rubber ducks
Otherwise-Half-3078@reddit
Do: be born 20 years before; don’t: go in the field now
Automatic_Gap789@reddit (OP)
Why do you think this ?
Otherwise-Half-3078@reddit
Its depressing
Automatic_Gap789@reddit (OP)
very one dimensional thing to say, if you are depressed why don't you look at another role or career change
LamoTramo@reddit
Bro I'm gonna be honest: Don't listen to the people on this sub. All the IT guys are pretty pathetic and are talking shit about everything. For example if someone asks "Why is Java/C#/HTML bad?" their answer is always "Because it's ass."
I recommend you to watch complete Youtube/Udemy tutorials and start an own project at the same time. Programming is learning by doing! :)
Automatic_Gap789@reddit (OP)
Ye man I got the vibe these fellas aren't happy with their own career choices and are projecting their bad decisions onto me trying to learn something and make something of myself. Have you got any experience with Codecademy heard a lot about it but not used it much ?
LamoTramo@reddit
Exactly :(
I never used it so I can't tell and don't want to spread false infos or guesses. But I'm sure there are plenty of neutral blog posts or Youtube videos where people share their experiences while being transparent.
Automatic_Gap789@reddit (OP)
Cheers man I will take a look at Udemy.
LamoTramo@reddit
But hey keep in mind that you really don't need to pay for learning materials. Everything out there is for free. Even Youtube tutorials are often better than Udemy classes for multiple 100s of $
Automatic_Gap789@reddit (OP)
Ye I have seen so many bootcamps for like £4000+ and they guarantee a job and all sorts but I just think self teaching is way better hence why I am going part time to learn and be consistent.
LamoTramo@reddit
They "guarantee" a job - not a GOOD/well paid job.
On your search for a job it's more impressive to show your projects and tell in the interview that you learned all this from scratch by yourself. They know that these bootscamps are... well... most of the time a waste of money.
Otherwise-Half-3078@reddit
If your goal is just to get products and you dont want to become a programmer just use AI to make the product for you. If you want to be a programmer for the sake of being a programmer, its not a good time
Otherwise-Half-3078@reddit
Its a depressing state right now of the field and the future of it. I think im set for the next 10 years
Otherwise-Half-3078@reddit
I would not go into it now is what im saying
LamoTramo@reddit
Damn bro I feel bad for your kids to have no one who supports them
Otherwise-Half-3078@reddit
I would tell them to make better decisions :)
New-Distribution8467@reddit
He is born 22 years before though
Otherwise-Half-3078@reddit
20 years before then is what i meant
Pleasant-Bathroom-84@reddit
12 months.
Keep dreaming.
Automatic_Gap789@reddit (OP)
Thanks for the comment chief :)
Pleasant-Bathroom-84@reddit
I’ve been doing development for the last 40+ years.
12 months is an absolutely silly amount of time to become even marginally productive.
tb5841@reddit
I got hired after 11 months of self teaching, and was productive fairly quickly once hired. It's possible.
Automatic_Gap789@reddit (OP)
I don't believe that is true, I obviously have 0 experience however I don't think it is as black and white 12 months = not productive. If I spend time learning valuable things and commit to it then that is productive is it not ?
Pleasant-Bathroom-84@reddit
I mean writing software professionally.
Automatic_Gap789@reddit (OP)
But it depends where I situate myself. If I go work for JPMorgan or IBM I will be useless with 12 months experience but if I work for a small start up or go freelance then it isn't counterproductive. And if I have a goal and can work towards it and achieve it in that timeframe it's very productive.
Realjayvince@reddit
Don’t listen to him. Me brother started interning as a web dev at 6 months of dedicated studying.
Pleasant-Bathroom-84@reddit
Keep dreaming
Automatic_Gap789@reddit (OP)
Get off of Reddit and go back to fixing them HDMI cables in the office champ
charyyev2110@reddit
As a former Web developer and currently learning AI/ML, I would suggest you to focus more into languages rather than frameworks. Once you learn the fundamentals and get some hands on experience on plain languages(Javascript, Python or whatever the language you want to learn), frameworks like React, Next or Django or Flask are become much more easy to learn.
Master_Car_646@reddit
A website for learning CS https://teachyourselfcs.com/
Automatic_Gap789@reddit (OP)
Thanks bro
Master_Car_646@reddit
No problem
Rain-And-Coffee@reddit
Work through the Odin Project or Full Stack Open
https://www.theodinproject.com https://fullstackopen.com/en/
Spent a year working through them.
Automatic_Gap789@reddit (OP)
Thanks bro
Rain-And-Coffee@reddit
Post back in a month.
Or better yet learn in progress and keep a little file with your weekly progress.
Week 1 - learning CSS, installed Vite, etc
MyNameIsNotKyle@reddit
You won't retain information as well if you try to learn everything from just going over subsequent lecture after lecture.
What makes you good at a craft is having curiosity in what you learn and nurturing it.
Someone who just wants to be a programmer for the name will learn what they need to and eventually burn out.
The people who refine their craft are passionate and curious about it.
"I need to make a project that uses recursion because the lab says so". You will not remember most of what you did past certifications/test
"I wonder how you would script puzzles like the towers of hanoi regardless of size. I'm going to try it and then look up and see what others have done" You will have more of an unconscious understanding
tman2747@reddit
My Recommendation is that you do The Odin Project. It is on html css js and react and it’s one of the best free courses out there
MrDoritos_@reddit
You're cooked
Automatic_Gap789@reddit (OP)
Thanks bud
MrDoritos_@reddit
I'm also 22, I've been programming for 8 years. I still feel like I know nothing. I program every day
Automatic_Gap789@reddit (OP)
I mean imposter syndrome is common amongst anything that requires any sort of creative knowledge. If you’ve done it everyday for 8 years you obviously know you know a lot but you can’t retain every single piece of knowledge you look at
MrDoritos_@reddit
The stuff that is successful is never perfect. There's so many things to get right that you can't get them all right and have them all work together. You'll understand eventually if you continue learning
Blinkinlincoln@reddit
Learnxinyminutes has been pretty helpful to me.
no_regerts_bob@reddit
Cool that you want to learn programming, but that doesn't seem like the easiest way to accomplish your goal. Like if I wanted to open a restaurant I wouldn't start with learning carpentry and plumbing and whatever to build the actual restaurant. Couldn't you hire someone to do the code part and put your focus on the sales part, where you are already skilled? If you just want to learn programming because it sounds fun, that's one thing, but if it's a means to an end I'd say skip it altogether, maybe a little web design if you want to customize things.
Automatic_Gap789@reddit (OP)
Well this is the reason I want to learn programming because I am bored of sales and want a career change, I also want to try my own thing whilst I am young with 0 responsibility. I get your point of why would i learn the barebones of a bigger goal when I can hire someone, but if you wanted to open a restaurant you'd want to learn how hospitality works before doing so. I am not saying it's a means to an end but it could be a lot more enjoyable than cold calling 100 people a day
no_regerts_bob@reddit
Ok if you're trying to change what you do, that makes more sense. I think your timeline is probably a bit optimistic unless things come very naturally to you, but you can always sub out some of the work if you need to
Check out CS50, it's a great free crash course on some fundamentals
Automatic_Gap789@reddit (OP)
Ye man 100% like 12 months is very hard and will require a lot of graft but if I give myself 3 years to get decent I will just spend more time pissing around than just getting it done and building small projects. I will check it out a lot of people have recommended it.
tb5841@reddit
HTML and CSS should not be your starting point, they are not really 'programming' languages as such. They can be learned on the side rather than as a main focus.
Frameworks like React should be picked up very late. You won't understand the problems they are trying to solve until you've worked on everything else.
Most of your focus should be on learning the skill of programming, and Javascript is fine for this if that's your aim.
Automatic_Gap789@reddit (OP)
Surely it is good to not run before you can walk and learn the absolute basics that are digestible and a lot easier as oppose to learning JS front and back first and then HTML
tb5841@reddit
Learning JS separate from anything web specific first is what I'd recommend. Use Javascript to generate lists of prime numbers, put strings in alphabetical order, etc - tasks focused on core programming skills.
Automatic_Gap789@reddit (OP)
Nice one mate thanks, appreciate the help
brodycodesai@reddit
I feel like all these comments are overthinking it. You don't really need to be good at programming, you just need to be able to assemble a functional product. I'd spend like 1-3 weeks learning the following in any language:
- Variables
- Loops
- Arrays
- Classes
- Functions
- If statments/boolean logic
Once you have that down, just try to start building. Use some AI to make getting answers faster, and you'll be fine. Is this a good way to learn? No but its a good way to ship a product fast, and customers don't care how efficient or pretty the code is only how the product works.
Automatic_Gap789@reddit (OP)
I want to understand it and learn to problem solve and not just rely on AI. I appreciate the comment I will give it a bash
ghostwilliz@reddit
I did the same thing, but I did it about 6 years ago.
My suggestion is to track your progress and test yourself and preferably have a dad who is a CTO
I got so lucky to get in back then, I can't even get a low paying job now with 5 YOE.
If you want a job, I'd suggest anything else honestly
Automatic_Gap789@reddit (OP)
I don't necessarily want to be a junior dev I just want to really graft something myself that is useful. Ideally have my own business or something profitable but looking at someone like Pieter Levels it is possible but it's just how hard you try and how long you try for.
daymanVS@reddit
It sounds like you're lot interested in learning programming but how to make a specific product. This is definitely doable as you are planning to recreate a pretty solved problem.
What I would be asking is why you think this app/product would be successful considering all the hundred of already existing alternatives?
Automatic_Gap789@reddit (OP)
There is not a specific app/product that I have in mind that I want to create I just want to learn the programming first and have a goal to work towards. I believe there is always new ways to overcome problems and always things that can be done better. A good product with bad marketing will not do well and a bad product with good marketing might do very well. I want to use my currently knowledge of sales and marketing and learn programming which is something I genuinely have an interest in and am very committed to learning.
daymanVS@reddit
Becoming a good programmer is the equivalent of becoming a good engineer or good mathematician. It takes a lot of time and most CS master graduates are barely good enough to be useful at a team.
But as a start I'd probably say that you should setup a Linux environment (WSL2 probably), setup vs code and do a extremely simple website using flask. Learning how simple html / css works and making API end points will get you far for your goal.
This is probably as simple a project can get but this will likely take a week+ of hard work. I cannot recommend using official documentation enough and avoiding ai tools when you're so fresh. Ai tools will sap all enjoyment out of your work and will do a disservice for your understanding. You'll have to get used to reading and understanding so I'd heavily recommend reading all the official documentation thoroughly.
Automatic_Gap789@reddit (OP)
Cool man thank you for the feedback, when you say official documentation what do you mean ?
daymanVS@reddit
For example, using pydocs anytime you want to know how X works in python, following Microsoft guide on how to setup WSL2, using flask own documentation when first trying to set it up etc.
These documents can be very verbose but you'll learn how to filter out less important information. This will give you a much much better whole picture understanding of things.
Automatic_Gap789@reddit (OP)
Ok perfect thanks bro
deMiauri@reddit
don’t bother
NihilisticRust@reddit
Wrong sub, buddy.
RichMathematician600@reddit
I hope you will not get burned out fam. good luck!!!
Automatic_Gap789@reddit (OP)
Thanks Brother