

Ask HN: Career change How can I become a software developer? - rolyatyasmar

I currently work in Marketing but have been working on side projects that involve coding in python (django), css, html, ajax. I would like to gain more experience. What do I need to do, where should I start, in order to get a full-time job in  software development? What kind of salary can I expect to make?
======
jamesbrewer
You should focus on contributing to open source projects. A good open source
project is almost identical to what you will be doing as a software engineer
and is the best experience a non-professional software developer can get. That
means triaging and fixing bugs, getting familiar with a (possibly) large
codebase, and occasionally shipping features or enhancements.

If you like Python and Django, then both Python and Django are great open
source projects and I recommend starting with them.

You should also create your own open source projects. Do this before, during,
and after working with an existing open source project and remember to look
back at your old code each step of the way. It will blow your mind how far
you've come.

Let's also go ahead and get this out of the way, because it will come up at
some point: Do not work for free unless it is on open source projects. Working
for free makes you a commodity. You are not a commodity. You have a skill set
that can make a company millions of dollars. Charge every penny that you are
worth and don't ever feel bad for doing so.

Becoming a good software engineer will not be easy. You will probably get fed
up and want to quit. Frankly, that's a good thing. As an engineer, you will
spend a lot of time feeling incompetent. You should get used to it now and
embrace it, because that means you are constantly learning. If this sounds
unappealing, then maybe you aren't cut out to be an engineer. You probably
wouldn't enjoy it even if you became a professional. There is absolutely
nothing wrong with that. Don't waste your time on something that isn't
appealing to you.

On the other hand, it's an incredibly rewarding career if you join the right
company. Hard problems, happy customers, and true innovation make for a happy
engineer.

Your salary is, to some extent, correlated to where you live. Here in the
Valley, we can demand higher salaries easily because the cost of living is
ridiculous.

Here is an unsolicited piece of advice: Turn down your first three job offers.
I wish I had done this when I started. One of the hardest things to do as an
employee is judge whether the company making you an offer is the kind of place
you want to work. If you accept your first offer, then you have only one data
point to base your decision on. That is not good.

If you have more specific questions, my inbox is open. You can find my email
on my profile page. Please do not hesitate to reach out.

------
twidx
I wrote a thing about that. I'm self taught. Coming from a theatre background.
I now make almost 100k after 1 year. I started learning last september. April
I got an internship, and in September I got hired full time.

~~~
twidx
link to the thing I wrote: [https://medium.com/@twidx/so-how-did-you-learn-
how-to-progra...](https://medium.com/@twidx/so-how-did-you-learn-how-to-
program-ccf1f4b626ec)

~~~
coralreef
$100k after a year of programming is pretty good. Are you really good or just
lucky or both?

~~~
jamesbrewer
This is actually not abnormal in the Valley, to be honest. It takes skill
certainly, but I know a number of people who have accomplished similar feats.

~~~
coralreef
Are they generally smarter than the applicants of CS grads they compete with?
Or is the market just that hot? Since they don't have CS backgrounds, I'm
guessing most of their coding is probably front-end product building, or is
that false?

~~~
jamesbrewer
A lot of it has to do with the price of living here. I'm about to move out of
a 1 bedroom apartment that I pay $1,800/month for, and that's a pretty decent
deal compared to some of the places I looked.

It's hard to say though. I dropped out of university (CS major) after two
years and I have spent most of my time building out the front-end of multiple
projects. That is not to say that is true for all or even most people.

Personally, I don't like asking whether one person is smarter than another.
Everybody brings their own set of experiences to the table, making each people
smart in their own right.

I also don't believe that holding a degree in computer science necessarily
makes a person a better developer. Sure, there is some correlation because
those driven to computers are probably driven to computer science in college,
but there are plenty of people with no passion that get a CS degree because
they heard they could make some money.

Who knows? It's a little bit of everything, I guess. :)

------
deadfall
Is salary a factor? What if your salary was $50K or even $40K? Would that
deter you from pursuing software development as a new venture?

