How do I develop skills necessary for a job as a programmer at a startup?
15 comments
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.
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.
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?
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?
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.
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.
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.
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.
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.
First, Learn to love code. Pick a language.
Start here. https://projecteuler.net/problem=1
Then projects + github + blog + never giving up.
Then projects + github + blog + never giving up.
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.
I've been enjoying http://www.freecodecamp.com.
Thanks for the link, it looks very interesting.
First, figure out how to solve problems.
Build something small, anything, from scratch and launch it.
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.
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.
Other startups.
How do I develop skills necessary for a job as a programmer at other startups?
a)https://www.edx.org/
b) https://www.coursera.org/
c)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-...
IOS: https://www.udacity.com/course/ios-developer-nanodegree--nd0...
*Front End Developer: https://www.udacity.com/course/front-end-web-developer-nanod...
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