How do I develop skills necessary for a job as a programmer at a startup? - deveshgade
======
skillachie
You could start with one of the many courses from the following sites:

a)[https://www.edx.org/](https://www.edx.org/)

b) [https://www.coursera.org/](https://www.coursera.org/)

c)[https://www.udacity.com/](https://www.udacity.com/)

Projects + Github + Blog would be all that you really need. Example from
Udacity you could take one of the many specializations:

 _Android:[https://www.udacity.com/course/android-developer-
nanodegree-...](https://www.udacity.com/course/android-developer-nanodegree--
nd801)

_IOS: [https://www.udacity.com/course/ios-developer-nanodegree--
nd0...](https://www.udacity.com/course/ios-developer-nanodegree--nd003)

*Front End Developer: [https://www.udacity.com/course/front-end-web-developer-nanod...](https://www.udacity.com/course/front-end-web-developer-nanodegree--nd001)

And many more

While learning try to do bite size projects that can also be portfolio items
that you push to Github. When times get difficult and it appears that
Stackoverflow and other online sources will not able to answer your questions,
do not be afraid to jump onto one of the many IRCs

------
Richallen1
I agree with the comment below, specific skills will be different depending on
what company. I came into programing and CS from concert Lighting 5 years ago.
I started learning iOS however if I did it again I would learn something like
Javascript/ html of Java first to get an understanding of the concepts. Check
out Code Academy.

Also I would get an idea of what kind of role your after and learn the
relevant language.

If you are interested in basic programming courses and have the time the
Stanford courses (CS106A and CS106B) which are on iTunes U are good starting
points.

Hope that helps.

------
deveshgade
Thanks for your suggestions.

Maybe I should elaborate on my background a little more. I recently completed
my Masters in Computer Engineering from University of Florida and am working
at Ebay in Philadelphia. I know my basic algorithms and data structures, and
can confidently write programs for implementing them.

I would like to work as a full stack developer in a start up. The technologies
I am interested in developing my skills are : Java, REST API programming,
Javascript, HTML, CSS.

Could you suggest good sources online or otherwise to develop my skills in
these areas?

------
bbcbasic
1\. Learn to program for fun. Forget you are looking for a job at a startup
and build something you like. Having said that if you can learn HTML, CSS,
Javascript, JQuery, Angular it would make you very marketable.

2\. Apply for jobs on a daily basis, searching for jobs listed in the last 24
hours.

Don't work for free (just do more open source rather than doing that)

If the above doesn't work expand your job search to include all companies not
just start ups. Also expand to other cities if required and be prepared to
relocate.

------
Nadya
Become an autodidact on your own time.

That means investing money and time into your own education and skills. Then,
when you have the skills, you can apply at startups with examples of your
work.

The same way artists create art for their gallery/portfolio and show that
portfolio before getting a job. Programming is an art - you should have a
portfolio.

That means you need to invest time into creating that portfolio.

------
greenyoda
You'll need to be more specific, since there are startups in many different
businesses. Some startups sell t-shirts to people on the web, some implement
messaging services on mobile devices and still others build custom hardware
with embedded software. The programming needs of these businesses are very
different.

------
weatherlight
First, Learn to love code. Pick a language. Start here.
[https://projecteuler.net/problem=1](https://projecteuler.net/problem=1)

Then projects + github + blog + never giving up.

------
hackNightly
Having some side projects, being active in communities (Stack Overflow,
Github), and having a constant thirst for learning new technologies have been
the keys to developing my skills and acquiring jobs in startups.

------
amorphid
I've been enjoying [http://www.freecodecamp.com](http://www.freecodecamp.com).

~~~
deveshgade
Thanks for the link, it looks very interesting.

------
VOYD
First, figure out how to solve problems.

------
iisbum
Build something small, anything, from scratch and launch it.

------
lsiebert
What you should do is pick one stack to work with, and become good at it.

It's okay to not like the stack you picked, as long as it's popular. But
learning is hard, so stick with whatever you picked to the point where you
have a mobile app, or a web app on a server with a rest API that your front
end code uses.

Some stacks you might look at: Have a new Macbook and an Iphone? learning
swift and objective C and picking up IOS programming will get you work. Have
an Android phone, and any sort of computer that's moderately fast? Learn Java
and becoming an Android Developer.

But maybe you want to do a web stack. You generally want some experience on
the back and and the front end. When in your learning, you don't know what to
use out of a bunch of tools, pick what is most widely used, and if it's a tie,
go with the older thing, or the simpler thing.

You will be learning Javascript, as well as HTML and CSS for the front end dev
work, so for the back end Node.js, which is a server side javascript platform,
is a good thing to learn. Express is one framework, but it's most popular, and
you want to pick up a popular stack.

Like Python? Learn Django. If the company you want to work for uses a
microframework like Flask or something, they will still probably hire Django
devs, but the opposite may not be true.

Like Ruby? Ruby on Rails isn't the only framework, but it's super popular, and
you want to get the skills, right?

Learn to use the command line (Mac, Linux, or cygwin if you have to stay on
windows) to do things. Sign up for Amazon's free 1 year of cloud services, so
you can practice setting up stuff over ssh and using git.

Learn git, enough to be able to put projects up on github, and to get them
down onto your server.

In terms of front end, learn enough jquery to interact with a REST API and get
data from it into your app. Consider a front end framework like angular. Learn
bootstrap, which is a CSS framework, because again, its popular.

It's not necessary to understand big O or data structures in detail for a
startup job, but it might be to get hired. Knowing SQL is probably helpful
eventually, but don't worry if you don't.

Why do I keep telling you to pick the popular thing? Because startups want
people who may not know the stack, but know how to use a stack and accomplish
something. You can get hired to do android dev knowing only IOS, or ruby on
rails knowing django, or using react and backbone when you know angular.

Learning to program is hard. Try to get in an hour or two every day. Once you
know how to make something specific in a specific stack, branch out and learn
more broadly.

Good Luck.

------
spacemanmatt
Other startups.

~~~
bbcbasic
How do I develop skills necessary for a job as a programmer at other startups?

