A basic grasp of Java.
I felt like there were other skills, but they’re unremarkable in the circles in which I’ll spend my time—above average vocabulary, general knowledge base, and dedication to studying for my school’s environment, and Less Wrong memes.
Here’s my recommendation: build a web application that stores and retrieves data in a back-end database, from scratch.
In the real world, you’re not given exercises to test specific skills; you’re given problems you have to solve. Sometimes you will have no idea how to solve them. Sometimes you’ll end up solving them badly, and you’ll learn from your error. Sometimes you will have to learn a whole new skill at a rudimentary level on a very short time scale. Sometimes you will be forced to steal something someone else has done with minimal idea of how it works. The real world is ugly like that.
You are, of course, at liberty to not accept the challenge, but if you do, here are my recommended ground rules:
You have to put the entire stack together yourself. You build the server (if you’re especially hardcore, you could construct a physical server yourself, but I don’t think anyone would blame you for just running a VM installation), you configure it to serve web content, you build the database, you write the web application and you test and debug it.
No third-party built items. Wordpress is not allowed. Prefabricated web server VMs are not allowed. You are allowed to steal code snippets and config files, but you have to understand what they’re doing.
You have to pick data of moderate complexity for it to store and retrieve. Something on the scale of a music database, with artists, albums, track titles, genre, year of publishing, etc.
You have to choose what technologies you use. If you want to run PHP on an IIS webserver, talking to a Progress database, no-one can tell you otherwise.
You’re encouraged to ask other people for help, scour web forums, and learn from other people’s examples. Stack Exchange is highly recommended.
If you have an idea for a different project of similar complexity while doing this, do that instead.
When you’re not working, enjoy yourself.
This is a common project for CS undergrads, so if you find yourself doing it now, and then doing it again in 18 months time, it will give you plenty of opportunity to observe your development.
A basic grasp of Java. I felt like there were other skills, but they’re unremarkable in the circles in which I’ll spend my time—above average vocabulary, general knowledge base, and dedication to studying for my school’s environment, and Less Wrong memes.
Here’s my recommendation: build a web application that stores and retrieves data in a back-end database, from scratch.
In the real world, you’re not given exercises to test specific skills; you’re given problems you have to solve. Sometimes you will have no idea how to solve them. Sometimes you’ll end up solving them badly, and you’ll learn from your error. Sometimes you will have to learn a whole new skill at a rudimentary level on a very short time scale. Sometimes you will be forced to steal something someone else has done with minimal idea of how it works. The real world is ugly like that.
You are, of course, at liberty to not accept the challenge, but if you do, here are my recommended ground rules:
You have to put the entire stack together yourself. You build the server (if you’re especially hardcore, you could construct a physical server yourself, but I don’t think anyone would blame you for just running a VM installation), you configure it to serve web content, you build the database, you write the web application and you test and debug it.
No third-party built items. Wordpress is not allowed. Prefabricated web server VMs are not allowed. You are allowed to steal code snippets and config files, but you have to understand what they’re doing.
You have to pick data of moderate complexity for it to store and retrieve. Something on the scale of a music database, with artists, albums, track titles, genre, year of publishing, etc.
You have to choose what technologies you use. If you want to run PHP on an IIS webserver, talking to a Progress database, no-one can tell you otherwise.
You’re encouraged to ask other people for help, scour web forums, and learn from other people’s examples. Stack Exchange is highly recommended.
If you have an idea for a different project of similar complexity while doing this, do that instead.
When you’re not working, enjoy yourself.
This is a common project for CS undergrads, so if you find yourself doing it now, and then doing it again in 18 months time, it will give you plenty of opportunity to observe your development.