
Ask HN: What do you say when asked “How do I become a software developer?” - omnius19
What is your default advice when asked how to become a software developer? Assume that you are trying to be helpful and that the person has no or limited computer science background.
======
LarryMade2
Do whatever it takes first off to get some self-achieved result, modding an
open source project, cobbling together stuff without regard to IP. Get
SOMETHING running, anything. Once you do, you will feel you made real
progress. You need to get this sense of "traction" early on, when you know you
can make stuff that can run, then you can really get down to learning,
testing, and playing around.

For quite a while, it's not going to be pretty, or something you can sell, but
it will get you started. Keep building on what you learned. as you get better
with just "making things that work," then work on making them better. Read,
read, read, play, read. Don't worry if it looks bad, you need to conquer logic
and data and achieving expected results before bothering with style.

...So now you think you can write stuff, next, look to see if it is secure.
Could you hack your own stuff (probably easily early on), start looking for
tips on how to tighten your work (start with anything affecting your stuff
externally, data, calls, URLs, etc.) and make it safe for others to use,
research common vulnerabilities, make sure you have them covered, etc. Also
try to get some coding aesthetics in there, clean up code; name your
functions, fields, variables sensibly, etc. Start constructing your project
structure: configuration, code, library folders, sub-folders, etc.

Now look at end-user aesthetics (there's so many elements to developing, don't
overwhelm yourself by doing them all at once). Act as if you are "the user",
enter the data, play the game load, save - role-play as if it were one of your
parents/grandparents, is it understandable?, easy?, fail-proof? (or is that
"fool"proof?)

Enhance - now you can make some nice stuff. But from your perspective is it
cool? Now you can work on getting in your style, new features, cut some
edges...

Keep working it.

------
tmaly
I first ask them if they prefer to learn by video or book.

Then I recommend a few possible courses and I encourage them to pick a small
project to work on to keep them motivated.

~~~
Regardsyjc
Do you by any chance have any course recommendations for front end, Python, or
building your first saas app?

A kind HNer recommended two front end courses on Angular and React, but my
friend recommends Vue.js. Do you have any idea what would be the best
framework to learn for an inexperienced programmer that just wants to throw
something together as soon as possible?

~~~
tmaly
for Python, I recommend the online Introduction to Computer Science 6.x by
MIT. If you want a book, I would recommend the Python Crash Course.

Take a look at the minimum features you absolutely need to support on the
project. You may be able to get away with plain JavaScript rather than
learning an entire framework.

~~~
Regardsyjc
Thanks so much, will check these out.

------
mimixco
I'd say, "Learn a popular language (like Javascript); write something that
solves a customer's problem, and sell it to them." Wash, rinse, repeat.

