Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
1–10 of 18 posts
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#2Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#3E.g., writing crud apps WebApps in Go? Definitely possible in a year. However, building a robust compute system in C++ from scratch -- probably not so much (for someone new to the field).
So just define what "self-taught software engineer" means to you, more accurately.
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#4In CS, it's similar. All the different instruments are the different kinds of languages. There is LISP-like Clojure (and others), there is Javascript (functional with declarative), there is imperative programming, assembly programming, and interface/event programming. Hard to split it into the analogous flavors to music, but maybe you can follow. Lisps work fundamentally differently than something like Python or C++. So learn one language in each of the different classes of languages, first to expand your mind to what is possible with the instruments.
Then, you must learn the theory. You must learn everything regarding graph traversal, manipulation, and big-O notation.
You also need a really strong understanding of what solutions are common for real-world problems. Get a coding book like Cracking the Coding Interview Gayle McDowell. You also need small, incrementally ambitious projects that you can put online to showcase your abilities. Then probably a gig as a software intern to get "corporate experience" and then once you are pretty savvy with the general coding interview questions, apply to your dream job and tell them how excited you are to tackle all these problems. Did I miss anything?
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#5Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#6By self-taught, do you mean you don’t want to take classes, even if they’re online or get any kind of mentorship, or just that you’re not going to go back to college and getting a CS degree? Also, do you have any understanding of programming/CS basics?
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#7Even if you can't go to a university, they remain great ways to learn software engineering. For example, https://ocw.mit.edu/index.htm has useful classes.
Finally, I agree strongly with rayvy. Choose what you mean by "software engineer" and what your goal is.
Good luck.
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#8The biggest piece of advice I can give is too just fully dive into learning. Program every day and read every day. It is going to be uncomfortable because a lot of concepts dont come easy to learn and it can be very intimidating.
Another huge help would be to find a mentor, when I started programming I had someone to give the a path to follow, read these books, learn this , learn that etc.. Which gave me a huge boost among my piers. Also, you will not get some concepts right away, and thats expected. Someone who has run into those problems can shine a light and explain it to you.
Programming and computer science are diffrent. Learn to program first then a little later pick up a computer science book. And that can be a pretty controversial thing to say especially here. The truth is that most junior level positions just want someone who is reasonably competent and will continue to learn.
Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#9Re: Ask HN: How do I become a self-taught software engineer in 1 year (full focus)?
#10Python is one that many people choose as it has many courses and books on learning.
Pick a text editor or IDE and practice with it, the tools you choose can help you a lot.
MIT has a great course 6.00 Introduction to Computer Science. Udemy has a great Python 3 course Complete Python Bootcamp: Go from zero to hero in Python 3
I would learn a little about Clean Code, I started porting a PHP version to Python https://github.com/tvmaly/clean-code-python it is a work in progress. The book by the Robert Martin is a great way to go if you like books.
I would learn how to test your code, Kent Beck's Test Driven Development book is good and also covers some patterns.
Learn about Object Oriented design, Data Structures, and Algorithms
Learn about version control, git is a good choice
Learn about the command line, it is always a good skill to have