Ask Slashdot: Computer Science Freshman, Too Soon To Job Hunt?
First time accepted submitter stef2dotoh (3646393) writes "I've got about a year of computer science classes under my belt along with countless hours of independent online and tech book learning. I can put together a secure login-driven Web site using PHP and MySQL. (I have a personal project on GitHub and a personal Web site.) I really enjoyed my Web development class, so I've spent a lot of time honing those skills and trying to learn new technologies. I still have a ways to go, though. I've been designing Web sites for more than 10 years, writing basic PHP forms for about 5 or 6 years and only gotten seriously into PHP/MySQL the last 1 or 2 years on and off. I'm fluent with HTML and CSS, but I really like back-end development. I was hoping I might be able to get a job as a junior Web developer, but even those require 2+ years of experience and a list of technologies as long as my arm. Internships usually require students to be in their junior or senior year, so that doesn't seem to be an option for me. Recruiters are responding to my resume on various sites, but it's always for someone more experienced. Should I forget about trying to find a junior Web developer position after only one year of computer science classes?"
You are making a huge financial investment in both real dollars and opportunity cost.
Don't worry about developing web sites. Spend that time advancing your core knowledge. Learn as deep and as abstractly as you can. The technologies will change, the knowledge will not.
Any job you take now will likely not impact your career. Find out if there's a professor you can work with in another faculty instead - by going up and down halls knocking on doors if possible. Chances are they have some IT problems that need solving this summer or know someone who does.
..don't panic
Seems to me you have way more than 2+ years of experience. Add it to your resume in a way that makes it seem legit and important, but also truthful.
Jobs will be there when you're a senior. Then you can do some internships.
Since when did a year's worth of web dev qualify as "CS"?
You're not CS, you're just some web dev taking web dev classes at the local IT schoool.
If that's all you have to offer, then I can definitely say you're too early in searching for "back-end development" jobs.
Captcha: generic
...they will hire you.
It doesn't matter where you are IMO. I have a kid here who is a Sophomore in his CS degree path and I have him doing basic web design, MySQL maintenance and other odd things when I need him. He is not full or part time, but I do pay him by the hour when he is doing a job for me. Keeps him fed and he works for cheap so it works out for us both.
"That's right...I said it."
First, the world has enough "web designers". Learn how to code the hard stuff, do distributed systems with no UI, do low-level coding and debugging, spend the time to develop real skills. Eventually take the "write an OS" and "write a compiler" classes any decent program offers. More than anything, be writing code as much as you can for any reason. "A writer writes," and a coder codes.
In the meantime, summer internships are good, they'll help more than your degree in landing your first full-time engineering job. It's really hard to find one summer of your freshman year (though it's worth putting in the effort to apply, just to learn that skill too), but summer after sophomore year is a real possibility. But note that recruiting for summer internships starts over winter break for the big companies, and pickings get slim as the year goes on.
Socialism: a lie told by totalitarians and believed by fools.
If you want to rock and roll.
Finish the degree. Cutting it short, to focus on web development - (a job that is a dime a dozen) - is not a career building decision.
PHP and MySQL are on their way out. SQL in general will always be useful, but Postgres is the most popular right now. As of PHP, it has a reputation of being an ok language but most likely to write horrible code in. You should look into Python or Ruby if you want a proper server side language. I would give Javascript a shot, too. Both server side and client side since you are a web centric developer.
What kind of a course are you taking that makes you think web development would be the pinnacle of your life?.... Your post is just sad.
Keep in mind: Freshman year you're going to have the most free time out of any other year. By senior year your workload is going to be double or tripled.
With that in mind: I'd focus on your studies. If you have spare time, focus on getting other classes out of the way so you won't have to take them later. Or take other classes that could develop your degree and help you learn things you didn't know before. Take a network security class, or a graphics class. Something outside your wheelhouse.
If you're already at 18 credits and finding yourself bored: Work on your own outside project, contribute to open source project, etc. Whatever you do, do not commit yourself to a regular job with expected hours.
For reference: I worked while I was getting my degree (had to, I paid my own way) and it delayed my graduation about a year to a year and a half. So I'd only recommend doing it if you need the money.
You're a *real* CS major, from the sound of it (not one of these "CS because it is profitable" people). To the point: if you graduate, then you have failed. When you are sleeping on the floor, then you cannot fall out of bed. This is the definition of college and you are there now. Build something of use - anything. But do it well and you will eventually find your niche before you graduate. On the other side of the coin, if you do graduate, you'll have a great "plan b" for the rest of your life. But concentrate on finding entrepreneurial talent at your school and do something with it.
More
I'm a web developer making a bit over $200k/yr. I can tell you what worked well for me: stop focusing on web development and get deep into C++ for a couple years. Learn how the best C++ developers think. Learn to fear your language because it's too complex and irrational. Get a job or don't. Then go back to web development and it'll be trivially easy.
I wouldn't worry about some list of technologies. I wouldn't worry about n years of experience in some field.
Technologies come and go rapidly.
It would be better to focus on what problems you have solved, and how you used technologies you knew and came up to speed rapidly on technologies you did not know to solve those problems. Come into an interview with working software you can demo and code you have written -- and expect to talk about what you are showing.
Also, bypass recruiters as much as possible. Work connections through friends, family, and school to get an interview. Expect to get turned down more than you get accepted, but eventually something will turn up.
The sooner the better. I made the mistake of waiting until the end of my college experience to go job hunting and I was left competing with people who already had a couple years of real world experience under their belt. Web development isn't the end-all-be-all, but it should get your foot in the door if that's the only positions you can find to apply for. Long story short, if you can get it and still maintain a decent GPA, then go do it. 2 years experience + a GPA over 3.0 is better than a 3.9 with zero experience.
Just don't lose sight that University is for the deep understanding of the topics and that real-world experience is usually very superficial in that you don't end up learning much unless the job is very demanding on the algorithmic side.
I say you should go for it. I don't think that the recruiter thing is the best way to go, though. As you have experienced, recruiters generally have their hands tied as far as what they can present to potential employers because of experience and degree requirements. That said, look locally. I grew up in a tiny dying town with almost no jobs in IT, but there was a local IT business (WISP, consulting, PC repair) that I got to work for as a helpdesk tech my Senior year in high school. When I went to college, I left on good terms so I had a Summer job waiting for me. Throughout college, I worked there and for the school of Engineering's network helpdesk. When I graduated, I was able to go on with a degree and experience to get the job that I wanted and now I'm working as a network security engineer and I'm 5-10 years younger than all my colleagues.
The point is, maybe don't look for an official start to your career right now. Instead, look for work locally that will get your foot in the door and give you experience. Find a local IT consulting or web design house and ask to work for them. Sell yourself like you did in this submission. If that doesn't work out, talk to your university. I don't know what they have going on, but I'm sure there are plenty of opportunities for undergrads to get involved. Talk to the helpdesk for your particular school within the university (like ECN at Purdue); talk to the university's global helpdesk (like ITaP at Purdue); talk to your professors. If none of those turn up anything (which I find highly doubtful), look into contributing to open source projects. Drupal, Joomla, and friends are possible projects to start with. Just don't quit looking for opportunities wherever they happen to appear and remember that there are more local opportunities than you may realize.
Since you have a lot of web development experience, why not focus on going freelance for a while? See if you can pick up some odd jobs, small local businesses often have a website. Ask around with family and friends, see if they know anyone looking for a website. You might find you can take on a few smal projects, make a little money and pad your resume in the process.
$Dayjob$ hires talented interns from local scrools of higher learning, every summer. Many of them come back for a few years, as they finish up their bachelors.
Your university most likely has a few beaureaucrats in some kind of a career placement office, of sorts, that are likely have leads to local companies who have open summer internships.
A few of the best $dayjob$'s interns get a job offer, after they graduate. And all of them earn some beer money during the summer, and have something to go on their resume.
Seems to me you have way more than 2+ years of experience.
While he says he has 10 years of web designing experience with 5-6 years of dabbling in PHP, he also says he really enjoyed his freshman level web development class. I had about 7 years of rudimentary programming experience before college, and all of my programming classes in the first two years were mind-numbingly boring and basic. And I was still not good enough to work as a professional developer. I have never met a self-taught developer that enjoyed their 100-200 level programming classes; they just suffered through them until the real CS classes started.
It sounds like this student is a self-motivating learner, and if that keeps up he will do quite well. But there are probably still huge gaps in knowledge that would make working in the industry very difficult at this point. I would suggest to do everything you can to get internships even in your Fresh/Soph summer, but understand you probably aren't ready to be employed as a software developer yet. I have known people who caught a lucky break writing basic websites for a family friend or something similar, but that was long before there were tools that help even laymen get a SMB website going in no time.
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
They hire intelligent people. Formal education is optional.
Or move to India so you can come back on an H-1B
On a serious note, if someone is asking for 2+ years experience for a junior position, they're smoking crack.
Perhaps they really want intermediate people at a junior salary.
Indeed. Writing English would appear to be a major section of your route.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Should have skipped university and gone straight for a job.
1) If you went to school, and Daddy paid for everything. and you have no debts.
I wouldn't worry about it. Chances are your Dad will have your job waiting for you too.
2) If you went to school, and you relied on loans...and have over 100K in debt.
Be very very worried.
Prepare to get SWAT teamed if you can't pay it back.
I am not joking. http://www.rawstory.com/rawrep...
The bankers or the criminal cabal which runs the country now and controls our military, want their money.
They want it NOW.
Do not be lured into a false sense of deferrment security.
3) BE prepared to get another eucation:
Which would be, you went to school, and soon you will forget everything you learned. Why? Because you went to school to prove you are obedient, and follow orders, not because you are good at anything really or even that you learned a skill.
So your degree is a signal, or a mark of obediance. This mark, which many corporations value obediance above all else, shows you do not ask questions outside your training and know just enough to push the buttons.
But, you probably already know that by now....and if you do not, then you are the perfect job candidate, so it may not be long before you are hired. If you can just hold out in the parents basement for a couple of years, you might get a job.
If you do not, you probably won't pass the job interview even if you get one.
4) Finally...the good part.
MIllions of H1B1 Visa people are poring into the country right now from other parts of the world in anticipation of amnesty, free food, health care by the US government. This program started under Bush, is already completed by Obama, so now it is just a simple matter of an executive order.
If you do not get a job before this happens, and you owe ANY student loan debt, I would change my name, and move out of the country otherwise they will hunt you relentlessly for the money, which given the job prospects, you quite likely will be paying by the time you are 82 years of age.
For those of you who did not go to college and started working at 16, are debt free and started your own business like I did, and then moved it offshore in the I.T. field.
Way to go smarty pants, this post isn't for you.
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
The most important thing is to gain employment experience before you graduate, and the more the better. If at all possible, get a job that is somehow related to your career objectives. This will help you gain experince, find direction, and develop relationships that will help you later on. If that fails, try to find work that will have skills that are transferrable to your desired industry. Even mundane office work will allow you to acquire the skills required of technical workers, even if those are soft skills (e.g. how to interact with managers). If that fails, take anything -- but continue to look for something that will lead you down the career path that you desire.
The reality of the matter is that the hardest part of starting your career is entering the job market. Part of that is just getting people to recognise that you exist, but part of it is being able to function in the workplace. Businesses are far more likely to look at you if they already know who you are, see that you have relevant experience, or know that you can function in the workplace (e.g. interact with colleagues, can take initiative, have a good work ethic, etc.). Unfortunately a fresh college graduate with little work experience only touches upon those with their schooling. On the other hand a fresh college graduate with four years of work experience has a much more solid foundation.
Most companies won't consider anyone without a degree. Yes there are exceptions who will, but I think you're wasting your time if you apply to a bunch without having a degree yet.
You don't know what you want to do until you've been exposed to more of the field. If you apply for a job contingent upon graduating, you're wasting everyone's time. No one will keep a job open three or more years for you.
You need to create a website. Create a website that shows off your web design skills and link it with your resume. You can also do some cheap web design jobs on Fiverr or elsewhere to further show off your skills.
It is difficult to hire a web designer if you have never seen something they have done.
As has been already mentioned, do you have the time? If you have the time, then sure. Real-world work experience is 100x better than book learning. I've worked with people with multiple CS degrees that couldn't code for sh*t. I got my first software job when I was 17, no degree, and 1 year of college that I couldn't afford to complete. Now, 6 years later, I'm an iOS development contractor and I rake in $50/hr. No degree. My hourly rate has been going up steadily for years now, and I don't expect it to stop any time soon.
So I guess it really depends on what you want to do in life, how good you are at what you want to do, and what you're passionate about. In my experience, having a portfolio of awesome work you can call your own means more than a piece of paper from a college or university.
My advice is invest in the education. I had a similar situation when I was in my second year (I had been doing software development as a hobby for about six years by then). A guy came to me who had a small business developing business websites and managing them. He wanted me to come work for him, but it would have turned into a full time job and I likely would have had to cut back on study time. Yes, I would have made a lot more money earlier, but there were several pitfalls I identified and they kept me from doing it.
First, pigeon-holing yourself into a technology set is a bad idea. You may know HTML/CSS/PHP/mySQL, but those technologies have somewhat limited job opportunities. If you have a very strong fundamental understanding of Computer Science (and in spite of the nay-sayers, the piece of paper to back it up), that becomes a huge asset in the job market. I work with the .NET framework now and a variety of enterprise level applications and language types (I think the count is up to twelve distinct ones that I have done professional work with now), which is a lot different than what I did six years ago.
Second, even taking the money now, you will limit the amount you make in the future and in the long run end up making a lot less. The guy offered me pretty good money, but I already make double what I would have made with him. In three years I have out-earned what I would have made in six working there, and on top of it I have a LOT more room to move up still doing what I love. Not to mention I have the option to go back for my master's now and open up even more future opportunities. There are always outliers that will drop out into some great thing and make tons of money (Gates, Zuckerburg, etc.), but the odds are really not in your favor. If you are going to make tons of money, it will probably be later on in life anyway.
Third, you don't truly know what you may enjoy yet. I went through several iterations of what I wanted to do within the field before I settled on what I do now (heavy business logic and engines as well as architecture software development). I originally wanted to do game design, then moved a bit into web, and then a bit into securities (I still do a bit of these three, but they are not may passion). My senior year is when I really figured out where I wanted to go because I saw and tried a bit of each part of the field. You may end up sticking with web development as a passion, but I would give it some time first. The experience and such you get from going through a CS program is very different than just reading up on the subject and playing with things yourself. Not to mention having a basic understanding of the other aspects of Computer Science will help your chosen field. I honest to god hate graphics work, but understanding the basics of it makes it a lot better when I write code other people have to hook into.
The one thing you will want to do though, work on some personal projects, which it sounds like you already do. I did several in my spare time when getting my degree and it greatly impressed the employers that looked at me. Prioritize your studies first, but the side projects can give them an idea of what kind of initiative you take, your level of creativity, and even let them somewhat see how you've grown as a developer (which gives them good indicators how much you can grow with a professional entity and access to much better resources). Keep with it I say, once you graduate you will see how valuable that degree ends up.
As someone who consistently rants about the constitution (albeit with inconsistent spelling), why do you think the 13th amendment doesn't apply to you?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
PHP is on the way out so don't think you're so hot just yet. Real work is good experience but for now you are way better off staying in school and working on CS core skills. You should try to get an internship though it will be tough after just one year. If nothing comes up then mess around with some personal side projects over the summer. That combined with good grades will land you an internship for sure next summer.
You sound like the kind of person we may be looking to hire soon. I've hired a few people with your level of experience.
> I can put together a secure login-driven Web site using PHP and MySQL.
Error. One of the companies I own is based on a single product, a SECURE login system. I've been studying security for over 20 years and I've been programming longer than that. We came out with our login security system fifteen years ago and we've been doing real R&D on it ever since. We've found a couple of serious errors we made several years ago. That means that with 10 years of professional programming experience, fifteen years of security experience, and five years of security R&D, we didn't have a secure system. I guarantee you're not far, far smarter than us. If you think you've made a secure authentication and authorization system suitable for the demands of the public web, that's only because of how little you must know about the threats you face.
Have you read the 2001 Pennywize whitepaper, or one of my writings about the Pennywize vulnerability? If not, it's a pretty safe bet that you've coded the exact same vulnerability. That issue makes brute force orders of magnitude easier, such that it becomes pretty trivial to overcome any attempt counting that you think you're doing.
You mentioned you had some publicly available code. If you link to it, I'll be glad to point out two or three significant security issues in your code (if it's for use on the public internet, where it will be attacked daily.).
Assuming you're willing to learn about security, to be humbled, you.can send your resume and a link to ray@bettercgi.com .
The other suggestion I have for you is if you do work these next few years, think mainly about what you can learn from working. Don't consider the salary when deciding whether or not to take a position, but rather accept one (or not) based on what you can learn and who you can meet. Working on autonomous cars at Google for FREE would be wiser than working on yet another message board system for yet another local web design shop for $35,000. The "just another job" option gets you $35 K. Working on the autonomous cars gets you the opportunity to learn from the best and brightest in the world.
Okay, real simple:
HR people put things on "job requirements" which are not actually required.
This is an intentional thing, done to try to find "highly confident" people.
Basically, they think they are selecting for confidence and zeal. Mostly they are selecting for dishonesty and "can't follow simple instructions". Anyway, just send the resume in anyway. Don't lie on it or anything, just send it in anyway. When they realize that there is no such thing as an "entry-level" person with "2 years of experience", they'll look at the rest of the pile.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
75% of students change their major at least once. You may be one of them.
if someone is asking for 2+ years experience for a junior position, they're smoking crack. Perhaps they really want intermediate people at a junior salary.
You do realise a trade apprenticeship (bricklayer, plumber, etc) lasts twice that long, right? Having said that, not many people take up plumbing as a hobby for 10yrs before getting their ticket. IMO, 5ys INSIDE an industry is when you can start calling yourself "experienced".
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
You don't say why you want a job? Do you feel you have gotten everything you can out of college? Do you need the money? Or are you just itching to get started in your chosen career?
Anything but the middle answer (money) is a bad reason to be looking for work while you are still in school. College is hard enough, and will consume far too much of your time for you to be adding a job as a programmer on top of it — and if it isn't, if everything is just a breeze, then you aren't pushing yourself hard enough.
Don't be in such a rush to get into the workforce. College is a time for you to build skills, be exposed to a broad range of ideas, and to round out your knowledge. It's also your chance to (re)invent yourself. Don't be in such a rush to get passed this, you will have the rest of your life to work.
Besides getting that degree shows potential employers that you can commit and see things through, and that matters a lot. It matters more than the subject of your degree in most cases.
What do you know I wrote a novel
My background experience was very similar to yours going into college, and while my major ended up being neurobiology, I made money throughout college developing websites freelance for local businesses and school-related organizations. The way I found clients was to tell everyone that I knew that I was available for website contracting jobs and people would just come to me. I made enough to send myself to Europe AND still have money for beer.
Like you, I found front-end development interesting, but I really loved the back-end work. But if you want to be a full-stack developer one day, you should continue to hone your design skills so that you can complete a full professional-looking website all by yourself without anyone else's help. Also, don't write off front-end work as not being 'programmy' enough. With modern tools like Bootstrap to take care of a lot of the boring work (like forms) and the modern javascript libraries like Angular or Ember or ExtJS, you can do a ton of cool front-end work while still feeling like you're doing more legitimate coding.
Get a job. If you like the more scholastic/theoretical aspects of computing you can still learn those on your own. With what you already know you can find an entry level job that pays at least 50K and if you reall ylike what you are doing and keep learning a lot within a year you could be make 80K+ . Don't let this opportunity to make a lot of good money and great truly productive experience pass you by
...a LEFT JOIN, and an example for a good use of each. ( it's a question I used to assess peoples SQL skillset)
Then tell me the difference between an INTERFACE and INHERITENCE. ( it's a question I used to assess peoples PHP skills and general coding skillset)
Do you have a link for that vulnerability, some googling isn't turning up anything much of relavence.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
Relax buddy.
There's plenty of time for you to get into a job and begin working for the next 40 years of your life.
Enjoy university. Travel during your holidays. Volunteer. Go to church. Go ice skating. Play with lego. Don't do drugs. Floss.
HR only gives a shit about experience and holes and your resume. Not how much you know or can do. They are the gatekeepers who will let you beg for a job or be invisible to any manager.
One thing I observed was in the early 1990s the market was not hot. In the late 90's a cab driver could make $80,000 a year after reading learn c++ in 21 days! In the mid 2000's the market was cold and I remember seeing on Slashdot "DO NOT BE A CODER. INDIANS ARE TAKING THEM" and "ALL I got WAS 33,000 A YEAR? etc". Today it is hot again!
Get in while the market is still warm. Intern, develop some website stuff for small business and friends. Do everything you can as in 4 years we maybe in another recession again if history is any guide.
The great recession ended in 2009 and it is has been 5 years. Every 7 a new one starts, stocks crash, employers stop hiring, efficiency experts make people do more with less and lay off and the cycle repeats. Now you have your fancy piece of paper but with ne experience :-(
Now what?
Do not be that man. Ignore other advice and go work part time. Even quit school if you can pull 70k a year in 5 years. in 4 years time HR will care more about your lack of experience and holes than your piece of paper. True some will filter you out but mostly large boring companies anyway which are not fun to work for.
http://saveie6.com/
Dude, if you're already at college it's too late.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If you dream of becoming a web developer, please quit college.
But be warned that most web development jobs are low wage jobs.
By the time you actually have two years of experience, you will count as a senior developer.
That said, I'll give you the same advice I give everyone that applies to my company - Learn the Microsoft food chain. Yes, I do Open Source dev on my own time too. I run and like Linux at home. But when I hire someone, I want you to know ASP.NET inside and out. You know PHP? Great... Cute... Next!
28 might be a bit of an exaggeration... at 35 I've never had any shortage of companies bidding for my services yet. Oh, and I started at 18, no degree, all self taught. Never had any desire to move to management/executive positions. I have been everywhere, seen everything, and have enough money banked that I could probably choose to retire if I really wanted to, but I would be bored, I enjoy working too much.
Bottom line, there is no correct answer to the question posed by the OP. If you are an autodidact, you will have no trouble picking up all the necessary skills. If you aren't, you might do better to choose a different field because you can't expect the skills you learned in school to carry you for the rest of your career. In fact, it seems like they stuff they teach you in school is already outdated right away.
Have you looked at job postings lately? Slave labour (aka internships) positions are available but many, I would even venture to say most, entry level positions are asking for 2-3 or 3-5 years experience required. This is how they make it look like there's a labour shortage so they can get the cheap foreign labour in the country - jack up the requirements, don't interview anyone who applies, then whine to the government that there's no one to hire.
What do you want? If you want a job doing what you already know how to do, then push your resume out there. Job "requirements" are as flexible as the hiring manager wants them to be. I say that speaking as a hiring manager. They're intended to give a flavor of what the job is all about. Those requirements are not absolute. I've hired high school grads who did not finish college. I've hired people who completed CS BS, MS, and PhDs. The level of academic achievement does not predict commercial success. Drive and intelligence (yes, in that order) do so.
I'll also say that "put together a secure login-driven Web site using PHP and MySQL" is to computer science as "mixing flour, water, salt and yeast and seeing it rise" is to biology. I am not saying this to dissuade you. I'm saying this to put your situation into perspective. The freshman year of any academic program is not intended to be enlightening. It's more about getting all of the students on the same page for the next couple of years. If what you want to do for your career is more than you're doing now, then you should think hard about what you need to do (or learn) to get there. That might be staying in school. In the tech industry, employers who are truly interested in developing their employees' professional skills are few and far between. Yes, they do exist - so everyone who is thinking about saying, "Not where I work!" can lay off the keyboard now. However, for every one employer that is dedicated and successful at employee development there's a dozen who are not.
Another thought - what are you looking for out of your degree? Do you want a diploma in the same sense you might want professional certification? Are you interested in the academic experience? In a few years of the "college lifestyle"? In making contacts with professors and classmates? In learning job skills? Various universities and degree programs offer different combinations of the above. It's well worth spending some time carefully considering if what you're getting out of your education is what you want. A four year degree program isn't cheap, and the last thing you want is to emerge with a BS, a ton of debt, and realize that you aren't any closer to your dream than where you were at the end of your freshman year.
Yes, but they're professionals in skilled trades, not CS grads who think that makes them programmers.
I advise that you do riskier things at your age.
Take a summer and try to build an app with a few of your friends...try to make it be the next "big thing"...do something
Your future in the computing industry is foretold....just read through the pages of /. or valleywag to see what everyday workers say about their jobs.
That's your future.
Take riskier jobs now.
Thank you Dave Raggett
Auction off your virginity, charge $100 to make a bid.
Rinse and repeat.
2007-2009 was not "a Great Recession", it was a culling of businesses that had absolutely no right what so ever to exist. Businesses that deserved to exist survived pretty easily. Many that didn't deserve to survive did as well.
If you think that time period was 'hard' in any way, your in the wrong line of work and probably just another idiot we should keep out of the work force for anything that requires thought. Very few people that didn't deserve it were effected, I'm sorry if that hits close to home but the truth tends to hurt.
You have no idea what hard times are, it's unlikely they have occurred during you life time assuming you are a US citizen, unless you're in your 90's or 100's
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
The web developers I know have more work than they can handle. If you're good at building websites, make a portfolio and start marketing yourself. That gives you a flexible schedule to work around your studies, pays better, if less reliably, and gives you independence.
Indeed. Writing English would appear to be a major section of your route.
My advice to the kid is; don't grow up to be this guy.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
IT needs to be a skilled trade with trade schools and not years of class room with little hands on work.
If you're going to volunteer, go find an non profit that speaks to you and volunteer there. At least if you don't get a job lead out of it you'll feel good about the work you did instead of bitter over doing free labour for a company that didn't give you a job in the end.
In my personal case, I did volunteer work for an non-profit ISP just starting up way up north. 6 months later, I was being paid for the same work, and jump started my professional career.
There are options for lots of types of geeks, from the "we recycle used computers for disadvantaged people" to the "We send you to an impoverished country to bootstrap their technology base" ones.
I believe the ICRC is always looking for skilled technical people who can think outside the box too.
I enjoyed my time doing non profit work immensely and it still comes up 15 yrs later in job interviews, as some of my best war stories come from those jobs. There's something about the combination of the startup shoestring budget and the feeling that you're actually improving the world that comes together and energizes me. Your mileage may of course very.
Min
Min
On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
I just got my haircut from a lady whose 23 year old son just got a consulting gig making 120,000 a year! He started 2 years ago making websites and turning them into smart phone applets.
No offense but I do not believe that advice as employers and HR can not find anyone with 2 - 3 years of HTML 5 and css 3 experience. Coca cola and others hired this kid and keep paying him $50/hr to code.
It is the Java jobs that require 10 years experience because the old timers all have that and can simply demand it. Web and mobile app positions do not have as much experience which means lower barriers to entry and more cash to make.
Sure you may not make $60,000 a year first starting out but many including other slashdotters reading this can attest you can make that much after a year of experience easily.
http://saveie6.com/
Call me!
> I can put together a secure login-driven Web site using PHP and MySQL.
Error. ...
LOL, I was going to say the same thing. Anyone that believes they can put together a secure site using PHP and MySQL is likely incapable of staying on top of vulnerabilities that will prevent them from doing so.
"I can put together a login-driven website using PHP and MySQL and understand that I will have to work hard to stay on top of security issues..."
I would accept that as a sign of competence.
Computer science == building web sites.
hello,
Check what they are looking for in the job market, check what bunch of skills they are looking, and pick the best paid
learn those..
When I started to work as IT Linux/Unix sysadmin, back 11 years ago, the requirement weren't like today, where they ask non-sense number of skills, so pick what will give you more value at the market..
If you still manage to have free time, pick any open source project that you like or any open source project that have any set of skill you will like to develop and volunteer, that will help you a lot.
what's hot today, may be not hot in 4 to 5 years from now, so don't rush into what's very new, and choose what is your interest.
as an example, are plenty of NOSQL implementations, if you are into java, hadoop is one option, if you are not into java, then look into other implementation, say mongo..
good luck
I'm not at my desk, but here's a very brief summary.
Do NOT leak any information as to whether:
The username is correct or not (check your "forgot password" form, it should never say "that username was not found )
The password is correct or not
The captcha / human check is correct
Security relockers such as attempt counters have been triggered
In a properly coded system, an dictionary attack should be the most efficient possible, and that should involve trying each possible username with every possible password. In other words, the first term in the equation is the length of the dictionary SQUARED. On the other hand, if anything changes in the response which indicates that the password is wrong (but the username is valid), they no longer have to try every possible combination. Instead, they can try each username with the password "1234 " for the purpose of determining which usernames are valid. Then they only need to try the short list of valid usernames with each password from the dictionary. If the dictionary contains 100,000 entries, a non-leaky implementation will need on the order of 10,000,000,000 tries.* The leaky implementation would require only 1,000,000 tries, which is 99.9.9% less time.
The consequences of leaking information a about relocker activation is left as an exercise for the reader. Consider the compound result of both leaking the relocker parameters, allowing the attacker to set their tool appropriately, while ALSO leaking the validity of user names.
* Numbers used for illustration only. Google the Birthday Paradox for the actual correct calculation.
> I can put together a login-driven website using PHP and MySQL and understand that I will have to work hard to stay on top of security issues..."
Yep.
Even better would be "I can put together a login using new features in PHP 5.3 or higher, provided that backwards compatibility settings are disabled, along with clearly risky options such as fopen_url and exec(). I'll watch for security issues by ..."
According to the OP he just finished his freshman year. Unless he started he college career late, as in his mid 20's he started designed websites when he was 9 years old ("I have been designing websites for over 10 years") I call this bovine excrement
Wow, not much modding up on these posts. Lots of bitter people. Maybe you should consider a career in health care.
That's surely not universally true, although any older worker has to jump through hoops to get a position if they aren't easily distinguished from the crowd by their experience. Firing based upon age is illegal, so hopefully it isn't too common. (although clearly "cause" is always just manufactured anyway)
Yeah, "hired" was kind of an inflammatory word to use when he really meant "brought on as unpaid interns." "I hired them, but I won't pay them until they develop their skills" sounds somewhat evil.
I worked for a gigantic defense contractor that used to hire even high schoolers who were in some sort of IT program (Maryland has an IT academy for high schoolers that was a main source of said students), I currently work for a startup and we are way more selective about hiring (usually only more senior students) for internships. So, my suggestion is to apply to large companies, they usually have more holes to fill so its a little bit easier for those with the lesser amounts of experience, wereas small companies will usually try to get the most bang for their buck (which HR seems to think means finding every piece of crap tech on a gigantic list of skills).
IT needs to be a skilled trade with trade schools and not years of class room with little hands on work.
Did your 5 credit network class not have 3 hours of lab each week?
The ones at ITT, devry and others do.
Don't start developing PHP websites for money! You could be trapped maintaining them for years! Learn some other way to produce software, then have a good think about staying at college or trying to make money with your new skills. Do not become a PHP programmer! That way lies madness!
When you graduate and apply for your first post college job, they will look at your GPA and school if you don't have any relevant experience listed. I attended a college that had a co-op program. On the job, my employers taught me that college is about learning how to think critically and learn. Yes, they will expect your college program to teach you relevant skills. But, that is not the main objective.
But, an employer is going to be more interested in what you have done during your college career to better prepare yourself. Your interests and work experience will differentiate you from the pack of other recent grads.
Seeking a job as in your field, even if it seems mundane will help you obtain some domain experience. Would I hire you to design my backend systems? No likely. But, show that you are acquiring the skills and have the desire, and you would get a chance on a small project or team.
If you can't find work, freelance. Just make sure your grades don't suffer if you want a CS relevant position when you graduate.If you don't finish, for whatever reason, you will have a backup plan - you will, likely, find yourself lower on the food chain. But, you will be working.
As for PHP and MySQL being obsolete - total BS - do a search on Dice, look at the language rankings, and other tech publications to know the tends. We are a PHP/Drupal shop. And, we have a ton of work with high retention. It's harder to get systems built on it into an enterprise - they want MS or Java skills. But, when providing other services, they are more accepting. I would encourage you to learn other skills, but you have time for that.
Enjoy college and all it can offer. Work /freelance if you can balance it. And, stay current. good luck
Here's some advice for anyone who wants to join a SF start up and make $200,000 a year and stock options writing shitty javascript code for a company
that will be bankrupt in 6 months:
Spend your spare time sucking dick at glory holes, gay bath houses, etc. This has 2 benefits: 1. You'll get used to the SF culture. 2. You'll get AIDS which will help you lose weight. Also buy some turtlenecks and a macbook air. You need to hang out on hacker news. Most people think (or worse, say) "that's retarded" when they hear most start up ideas. Reading the comments on hacker news will teach you how to justify retarded shit. (Suppressing the gag reflex also helps when sucking dicks!).
Once you've got that down, you can move to San Francisco, work at a start up for a month, then launch your own start up with VC funding. Just remember, those web sites you worked on? They're no longer web sites, now they're alpha stage start ups!
Trade apprenticeships are not comparable.
Everywhere you go as a plumber, you're going to be dealing with toilets, showers, sinks, and faucets from one or two companies... Kohler, Delta, Meon. They'll all use the same size connectors, and the same size holes in the vanity, and the same size wrench for connecting the water inflow, and the same size pipe for the water outflow, etc., etc.. It's a skilled job that can be learned, because it's possible to learn *all of it*.
CS people generally do not go through an apprenticeship. Writing code is not a blue-collar job, it's a creative job. This is why the Department of Labor considers CS people "exempt" employees, not subject to overtime rules, etc.: it's more than 50% creative (look up the rules).
I know a lot of self-taught people who haven't gone to college, who have (effectively) apprenticed at their first job(s), and they're OK to do those jobs, but they require retraining for anything else, and forget it if you want them on a team, because they just don't know the jargon to communicate efficiently and effectively with their teammates who have gone to college.
I think this is one of the reasons that most companies aren't standing outside the doors of the "boot camps", waiting to catch the people who just got their certificates, and give them a job.
Yes. The sooner the better. You would be surprised at how many small shops are doing their own web stuff who need help. Even if you didn't have quite that much experience, dependable and conciencious tech works are in short supply. There are PLENTY of tech workers, but few of them are grade A material. Most good shops, in my experince, are happy to at least throw the ball to anyone who looks like they can help them. As long as they're dependable, smart, and conciencous employers will at least want to talk to you.
Try getting into community technical groups - there's always jobs bouncing around these places for those who have natural interest and skill, and they're more likely to understand and accommodate your (student) lifestyle, rather than places that put up ads with more generic applicants in mind.
Hit Meetup and Facebook to help you find groups.
Internships are available. But you're late. You wanted to apply over winter for the summer internships. It's possible that you could get a later in the year internship at this point, but it could interfere with your attending school, depending on where and what hours and how many hours were expected.
Almost all CS internships pay.
Also, don't worry about how much school you have, if you are good at what you do; we had to get special dispensation for it, but we had Hexxeh (Liam McLoughlin) as an intern on the ChromeOS team at Google, and he had not graduated high school at the time. On the other hand, he was most definitely good at what he did, which included running the only external ChromeOS (ChromiumOS) buikd and distribution site since he was about 16. See: http://chromeos.hexxeh.net/
The less outstanding you are, the more education you'll have to have to get many internships, so ... be outstanding, and apply next year.
The ones at ITT, devry and others do.
Judging by the apparent skill level of their average graduates that I have seen/known of, they either don't have nearly enough lab hours, OR what they are doing during those lab hours is not very effective at imparting significant levels of skill.
excuse me, but an story from a hairdresser is not the most reliable source, more so if she is his mom, so she would tend to exaggerate,
and create a start up. It's easy to make a bazillion dollars doing it. And remember, do it now because once you hit 25 you will be "over the hill". And if on the off chance it doesn't work out, just go back to school and get an MBA and do it again. Don't get a law degree, that takes too long and is too much effort. Take the easy way out.
putting the 'B' in LGBTQ+
Look for positions in your university or college. Usually depts have part-time jobs that might require programming skills. The university libraries are also a good place to look for these. Even if they advertise for tech support or audio-video related jobs, apply. There is a good chance you can get into programming side once you join the department. They will definitely prefer students. The pay might not be great but the job is easy, not much pressure and they will work with you to accommodate your class and exam schedule. I had a job in the library during my sophomore and junior years. It was best of both worlds. Got real life training in programming while still being in university environment. Also, helped because I could fit my work hours between class hours and they were pretty accommodating during exam weeks. My job was maintaining a few internal websites which used PHP and mySQL.
2007-2009 was not "a Great Recession", it was a culling of businesses that had absolutely no right what so ever to exist. Businesses that deserved to exist survived pretty easily. Many that didn't deserve to survive did as well.
That's an oversimplification. A disproportional amount of large companies survived - often on old money, acquired back when they were modern and not dinosaurs. Unfortunately, they also bought up a lot of smaller players to close them down and reduce competition. Companies that would have survived on their own, but could not survive being part of a big corporation.
Other viable companies died because investors got cold feet and pulled out with whatever profits they could, instead of seeing things through. Sometimes selling off companies to other investors, and raising the debt to a level that turned viable companies into time bombs.
A largely unregulated market does not lead to long term viable companies except in fictional eternal growth scenarios. How investors get their ROI changes in a recession - the time frames shrink. Whether it's detrimental to the economy as a whole or the company invested in does not matter - in a bearish market, a bird in the hand is worth two in the bush.
what about the pure theory CS people?
You make the assumption that the system is stupid. Most systems ARE stupid, so that's reasonable. However, here I'm talking about a system that isn't stupid. I said a properly designed system.
> I'm going to assume over and over that it's the captcha that I'm just not reading correctly (is that distorted Y character an uppercase or lowercase?).
That would be stupid. Our system doesn't do that.
There's no distorted Y, and even if a customer chooses the textual captcha rather than the default , case doesn't matter.
> I couldn't use one of my usual login names because your website required me to use 2 numbers in my login name
That would also be stupid, so we don't do that.
> stupid limitations on what the password can or cannot be
We avoid doing stupid.
> systems which do a permanent lockout (rather than a 20 minute lockout or whatever), which requires a phone call to unlock (a few banks are guilty of this).
That's stupid, so we don't do that. Ours unlocks in a very short period of time in such cases. The automatic unlock period of time varies based on how severe the abuse is. It could be anywhere from one second (user probably forgot password) to 48 hours(definitely an attack) based on intelligent (not stupid) consideration of EXACTLY what pattern we're seeing. Generally, a user who forgot their password isn't that hard to differentiate from an attack.
> super secure system should not leak any info. On the other hand, it's nice when you also make this stuff user friendly.
Leaking that info is tens of thousands of times more useful to the attacker than it is to the account holder. You're right, IF the system is eight kinds of stupid, THEN it's helpful for it to also be stupid and leak the info. If it's NOT stupid in the ways you listed above, then it doesn't need to be stupid and leak the info.
what about the pure theory CS people?
The pure theory CS people may be up for coding, but without other experience, they don't have the skills or knowledge necessary for system or network technician, admin, or engineering roles in IT, for sure; entry level helpdesk, perhaps, not unlike the IT skill level I would expect of an ITT/Devry graduate.
There's no pure theory CS curriculum I know of that includes specialized things that IT people have to know just to get started, such as: What a /27 is, and what Netmask/IP to configure the Windows machine with when I tell you I have assigned the VLAN a /28, and you need to give that computer the last IP address in 10.0.0.48/28, with .49 as default gw. What RAID10 is -- more importantly, how to set one up, how DNS works.... what file to edit and what changes to make to create a reverse DNS entry for X.Y.Z.W; the list goes on as much as you like.
Get yourself a job if you can. This BS about internships is 50/50 at best.
Make some money in the area you wish to work in and if it's not the area get another job that is.
Never be afraid to change jobs and never be afraid to take risks. I have and they have all paid off.
I read your list of achievements. Very nice.
In the next few projects focus on
- planning the programming before you do it, so you can explain your design decisions
and the inevitable tradeoffs to prevent people who come after you from trying to "fix"
what isn't broken.
- documenting what you did do so anyone can support your code
If you are fond of saying any of these: ...this would help you understand why you're unemployable.
- "Anyone who can read code can see what it does"
- "the obvious doesn't need documenting"
- "there were no tradeoffs"
- one day I will rewrite this to be better
University education is a good first step to something something complete.
Being a freshman is not a bonus nor a hindrance. Experience with github,
software RCS etc are all good. The keys are making choices before coding,
knowing and being able to explain those choices, and documenting them for
others to take the burdens of support off your inventive shoulders.
E
Get those McDonalds, Wendys, and Burger King applications in the mail!
If you can't put in time when an employer wants work done there's no point advertising as if you can. Your first commitment should be to getting that piece of paper that will get you past HR and into a job you want, so other things should be flexible. Volunteer work that you can drop without warning when pressed for time is a better way to go instead of facing a work deadline and exams at the same time. Another option is vacation work of any kind or limited part time work during a semester where your employer will not force extra hours at inconvenient times. Combining full time work and full time study is the story behind many failures at both.
lol 3 hours of lab.
Sure, the schedule says you're doing 3 hours of lab work each week, but at my uni (U of Wollongong, Australia) lab work consists of half an hour of dicking around on a computer, drawing a few diagrams and bam there's your IT degree.
what about the pure theory CS people?
The pure theory CS people know how* to build such systems starting from a blank silicon wafer and generally don't have too much trouble figuring out how any of them work after a quick RTFM.
*or should, if they actually paid attention in class
... how many of them have completely insecure and inefficient sites because the person doing the work thought he/she knew what he/she was doing when in reality he/she didn't now anything beyond what is found with a Google.
Yes, there are people who can self-teach themselves with the proper tools and information. Problem is most self-taught people are nothing more than "cloners" ... copying code from poorly written examples (and sometimes from open source) they find with a Google without even understanding what the code is doing.
Wish I could tell you that I'm impressed with your resume .... but fact is I'm not.
What you "learned" to do on your own is done my thousands if not millions of people .... and many will do a better job than you ... because they actually know what they are doing.
The fact that you "enjoyed" the first year courses show that you had no clue about even the basics and that you are still far too raw to be efficient. You are not ready to do a real world job.
Learn the basics first, then once you are proficient enough start thinking about an internship (most likely unpaid) where you can gain experience. You really don't want to be hired just to have your reputation destroyed early in your career because you can't get the job done right. You screw up one important job on your first year and you will find yourself having a hard time finding another job in the field .... even if you move to a different location.
These are the lowest of the low with the least insight of what is actually happening inside the server. There are basically no ways to move out of that trap, except to get the additional skills and insights. After 1 year of CS you do not have them.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
PHP/MySQL is to CS what McD's is to french cuisine. Usually that is. Of course you can do proper development in PHP and proper DB design with MySQL, but you'll get queer looks from 99% of your collegues in the field and a rundown from your boss on why that internet thingummy isn't finished yet. Last winter I met a guy doing MySQL for a decade who didn't know foreign key constraints or their concept or what they were. He was my senior. He was the leaddev on a large data-driven project which was the core businessmodel of the company. Not joking. My braincells are dying as I type, just thinking back about it. This stuff is the norm in this field.
In a nutshell: If generic "pimp this crappy hack Wordpress (bizarely shitty base-architecture initiated by non-developers in the hayday, just like every other PHP/MySQL CMS out there) with this other crappy hack [generic shitty architecture webshop] with a crappy hack you piece together by yesterday" PHP/MySql Webwork is what you want to do, then more power to you. But then you should *not* waste your time in CS.
The list of WebDev requirements for a given job is long because it's idiots compiling the requirements for devs. If the list of technologies is enough to fill 3 expert positions, you do not want to work for the company in question, unless it is by carefully consulting the boss into a development and technology strategy that isn't complete bullshit. The latter you can only do after you've gained serious experience doing real world work.
Bottom line: If you are spending huge bucks getting a CS degree, you do *not* want to waste your time doing generic webdev in PHP and MySQL - unless as a college job to pay your bills that is.
We suffer more in our imagination than in reality. - Seneca
I have never met a self-taught developer that enjoyed their 100-200 level programming classes; they just suffered through them until the real CS classes started.
I'm not a prodessional developer (don't want to ruin a good hobby), but I think I was still self thought when I entered college. I liked the basic level programming classes. Mind you I didn't actually have to "suffer them through", as attendance wasn't compulsory. I just coded a couple of very simple practice programs, returned them, aced the tests, and had lots and lots of time to study the other basic classes. What's not to like?
i love science but i hate chemistry
For every facebook there are 1000 college drop outs looking for a burgerflipping job after their startup failed.
... and it's nothing that can't be kickstarted from some minimally-supervised hands-on experience and a short while of book-crunching. It's much harder to train a person to think in the right way than to give him some `skillset' that's just a hill of facts that has an expiry date. The latter is more akin to learning about the functions of Microsoft Word than actually writing an essay. I agree a large portion of people who come out from CS curricula have no clue about either computers or science, but those who prove to be capable of what they're taught and what they've explored often have what it takes to learn what you throw at them.
It's not too early for job hunting, although you are shooting a little too high for your experience level. What you should be looking for now is an internship somewhere. Many companies are looking for students to do basic coding for them over the summers. Yes, you can even do the Web development you were looking for. When I was in intern, I worked on several things: Code cleanup, a program to audit a database and report stats, experimenting with new methods and writing & documenting a sample program, etc. It can be good summer employment while you are on summer break. And when you graduate, you'll have a ton of experience for your resume. Finding internships may be challenging. Check with your job placement office at your university. They likely have a list of places that are looking to hire paid interns. Start with that. You might also call around to places that you like and ask to speak to a manager in the software (or web) development group. Then just ask if they are hiring interns, introduce yourself, tell them what you are interested in. You might get lucky and find someone to hire you, even if they weren't planning on hiring an intern. Remember, even if they aren't hiring interns or don't have a slot for you, they might be able to point you to someone who does. Often, IT managers know other IT managers at other companies, so they might at least be able to recommend somewhere to call where you'd have more luck. Focus on getting the experience through summer internships, and you'll be able to find a great job when you graduate. I did that when I was at university, and it led to a job at a company I interned for, after I graduated, and I didn't even have a CS degree (I was physics).
Of course he doesn't, because it's trivial. After a bit of digging, I got (from the company he's plugging) the following:
Pennywize and similar services are needed because most web sites today use something called "Basic Authentication", which is implemented in a part of Apache called "mod_auth". This "Basic Authentication" is the system where the gray box pops up asking for your username and password. When the designers of mod_auth first released the design for that system, they were very careful to point out that it was not intended to be secure. It was intended to be a very basic system that could be used to put a password on your stats page until something better was designed. One major weakness is that Basic Authentication - the pop up gray box - does not distinguish between the two main phases that you learn about in security 101. The first day of a computer security course you'll hear about the two phases of "authentication", making sure the user is who they say they are, and "authorization", checking if they are allowed to access this particular page, etc. The authentication phase is when they login, the authorization happens every time they view a page or image. With basic auth, they never login. Their username and password is sent by the browser every time it requests a page or image. Because they never actually login, you never get to thoroughly check them out. There are a lot of other problems too, like the fact that the whole thing is based on a very short password that can be shared. Pennywize and similar programs try to tape up the holes in basic auth. That's a very tall order, because basic auth is built like a chain link fence - way too many holes to try to keep taped up. PennyWize and similar programs end up working like a burglar alarm inside the fence - trying to detect an intruder after they get in and then trying to deal with them after it's too late. The Strongbox Security Systemtm, on the other hand, gets rid of the whole "basic authentication" fence and puts up a thick brick wall instead. It doesn't tape up any holes, because it throws that fence full of holes in the trash pile behind the woodshed and puts in its own far superior system. PennyWize and similar systems are also easily defeated by proxy based attacks.
That's pretty much as clear as mud, but I think what he's insinuating is that our freshman friend's idea of a secure site is mod_auth. Which is improbable if he's using PHP and a database.
Also, from the FAQ of that company:
No, really, how does it work?
It generates a cryptographically secure time limited one time pass tied to certain identifying characteristics of the users browser. That's about all I'll say on that subject until the patents are secure.
Secret algorithm (plus a couple of other vague red flags), therefore snake oil. Oh, and he spells PennyWize / Pennywize / Pennywise at least three different ways. Smooth.
Special orders dont upset us.
All we ask is that you let us serve it your way......
*Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
There are plenty of web sites where you can bid on web dev tasks to be done for people and companies. Some people just want a wordpress website set up with a bunch of plugins, some want some minor coding done, some want bigger things. Try and find the websites that will give you the opportunity to bid on jobs you can take on at a price you are willing to charge for it. Do that for a while, you can balance the work load with your education. In a year or two, you will have plenty of experience on your resume and you can get a "steady" job if you want to. You sound like you are new to the job market and you could use the experience to figure out what it takes to get hired and what it takes to finish jobs. Try with low key freelance assignments first. It won't make you rich, but you will gain the experience you need to get hired for the jobs you seem after. Also, *never* apply for junior jobs if you already have the skills. Those advertisements are just to keep wages and career opportunities down and get the not-so-smart people to apply.
I was promised a flying car. Where is my flying car?
There's no pure theory CS curriculum I know of that includes specialized things that IT people have to know just to get started, such as: What a /27 is, and what Netmask/IP to configure the Windows machine with when I tell you I have assigned the VLAN a /28, and you need to give that computer the last IP address in 10.0.0.48/28, with .49 as default gw. What RAID10 is -- more importantly, how to set one up, how DNS works.... what file to edit and what changes to make to create a reverse DNS entry for X.Y.Z.W; the list goes on as much as you like.
Are you trying to say that it is important to know a lot of trivia, buzzwords, and jargon, to be an IT person?
You'll experience a short term gain, and for about 5-7 years you'll be perfectly fine.
The problems arise when you're looking to keep engineering but also be trusted with architecting complex systems. You'll certainly be able to earn that with a company that knows you well, but it will be more difficult if you wish to do it elsewhere. Then later, you may wish to play a significant decision making role in a company (as CTO or VP of Engineering) and not having a degree will severely hamstring you.
Should it? No, but it will.
Also, you may wish to purse an advanced degree at some point and you'll have to finish undergrad first (e.g. a 'tech MBA'.)
It's really a matter of where you want to end up.
You could accomplish all of those things without a degree, or you may not desire to do anything but software engineering itself, I would warn you though that if you can stick it out - you should stick it out.
College is about more than your major, get an education, it will serve you well. There are tons of people with degrees, there are significantly less (in my experience) with a college education.
Loading...
Entry-level refers to salary, not experience.
I agree with your list, except this one:
- one day I will rewrite this to be better
Welcome to the real world, where there are deadlines and sometimes it's a necessary evil to write crap to fix later.
Don't quote me on this.
Which kinda makes sense. If you are getting a theory heavy CS degree, IT work is probably not what the person has in mind. It is not that such curriculum do not include specialized things, but that they specialize in another direction.
Too soon?
Lets put it this way. I did a year of computer science. Then left to start my own web design firm becasue my average was being dragged down by the Religion "elective". Then got picked up as a Developer, now new position as a senior developer.
I'm 24, making 55k in Halifax, NS (which is well over the national average, and 2x the local average)
CSci was a waste of time.
at least in Australia you have interest free loans and Income based Repayment plans.
So you don't end loaded with skill gaps and big loans to pay off even if you end working at Starbucks.
I think he's saying he likes to hire talent that doesn't threaten him intellectually. High school students, perhaps. Maybe not the good ones, though. They might know the difference between a VLAN and a subnet.
If you're looking for bottom-feeding web work these are fine choices. But if you really want to get your career going in a "real place" move to either .NET or Java. Learn a real database too. To cut your teeth on a good free one, use PostgreSQL, it'll match Oracle well. There are free versions of Oracle and IIS as well.
Or Node.js if you are looking for the NextBigThing.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
You really enjoyed a Web development class? That's wonderful. But who's to say you won't enjoy your Junior year Operating Systems development class even more? Or your Programming Languages class? Or VLSI design? Or Database design? Or...
Now's your time to learn. Don't put everything you have into a swing on the very first pitch across the plate.
"Internships usually require students to be in their junior or senior year"
We look for the opposite. We usually won't hire a Senior as an intern (We're engineering so we PAY) as it takes a good half-semester for someone to get up to speed on our stuff. We'll look at a Junior only if they are REALLY good. Usually we interview at the sophomore level and try to get them to work at least 2 summers and a semester (either full time or part time).
We have one intern who's been working continuously (Full & Part time) for 2 years and will get a full time offer to start as soon as he graduates.
I guarantee you're not far, far smarter than us.
That really doesn't have to do much with "smart". Security for such things is mostly about checklists, knowing them and knowing which apply. A good start is CWE/SANS Top 25 Most Dangerous Software Errors and of course the OWASP Top 10.
what about the pure theory CS people?
The pure theory CS people may be up for coding, but without other experience, they don't have the skills or knowledge necessary for system or network technician, admin, or engineering roles in IT, for sure; entry level helpdesk, perhaps, not unlike the IT skill level I would expect of an ITT/Devry graduate.
There's no pure theory CS curriculum I know of that includes specialized things that IT people have to know just to get started, such as: What a /27 is, and what Netmask/IP to configure the Windows machine with when I tell you I have assigned the VLAN a /28, and you need to give that computer the last IP address in 10.0.0.48/28, with .49 as default gw. What RAID10 is -- more importantly, how to set one up, how DNS works.... what file to edit and what changes to make to create a reverse DNS entry for X.Y.Z.W; the list goes on as much as you like.
There is no such "pure theory CS curriculum" to begin with. Every curriculum I've seen provides some type of IT-related courses at the junior and senior level. And the top-notch CS schools (think MIT or Stanford) provide hands-on curriculum in say, Robotics or Machine Learning ... which obviously might not fall into the typical realm of IT, but CS was never about IT to begin with.
Sadly, some people in IT do :/
If you're any good at computer science I'd assume you could get a job right now. Clearly you're making a decision to improve your skills and deeply learn about computer science. Do that. Enjoy college. You have the rest of your life to work.
a secure login-driven Web site using PHP and MySQL.
I lost it. Hahahaha. Oh, wait, you're serious? Let me laugh even harder.
Would not hire, not even with negative salary.
CLI paste? paste.pr0.tips!
"I've got about a year of computer science classes under my belt along with countless hours of independent online and tech book learning. I can put together a secure login-driven Web site using PHP and MySQL. (I have a personal project on GitHub and a personal Web site.) I really enjoyed my Web development class, so I've spent a lot of time honing those skills and trying to learn new technologies. I still have a ways to go, though. I've been designing Web sites for more than 10 years, writing basic PHP forms for about 5 or 6 years and only gotten seriously into PHP/MySQL the last 1 or 2 years on and off. I'm fluent with HTML and CSS, but I really like back-end development.
If you are doing a CS degree, you need to clearly put in your head that there is more than web development in CS. If you really want to do back-end development, you need to disabuse yourself of the notions that come with basic front-end web design. I'm not trying to be an ass, but everything that you mentioned is assumed to be very fundamental knowledge. That alone won't get you to open most doors.
I was hoping I might be able to get a job as a junior Web developer, but even those require 2+ years of experience and a list of technologies as long as my arm.
That is the sad states of technology nowadays. As I mentioned before, I started my career with a AA degree in the early 90's. That was the time when companies starting tightening the requisites. I saw the writings on the wall, and I kept studying until I got my 4-year degree in CS, and then went to grad school.
I honestly believe 70% of work done in IT (be it sysadmin or development) does not require a full-blown degree in Computer Science. Sadly, nowadays, there is no fucking way anyone can get a decent IT or development job without a 4-year degree. It is what it is, and we cannot wish it away.
Internships usually require students to be in their junior or senior year
It has been like that even during the times when a AA degree would get you an entry level programming position.
, so that doesn't seem to be an option for me. Recruiters are responding to my resume on various sites, but it's always for someone more experienced. Should I forget about trying to find a junior Web developer position after only one year of computer science classes?"
Yes, because only one year of CS classes just won't cut it. It didn't cut it before, it won't cut it now. Consider that there are a lot of people with degrees already that are looking for a job. That will be your competition, so you know that the odds are against you... for now. What I did then, and what you can do now is to get a part-time job at your college in the computer lab, be it by tutoring, teaching or just regular IT maintenance. If you can get close to the sysadmins at your CS department, pester them until you get a job with them. There is always lots of programming opportunities in terms of sysadmin automation.
If you are lucky, they'll be working with a bug tracking system, and that exposure will put you ahead of many people upon graduation. When you work part-time for the CS department, you begin to meet people. Those connections have the potential to open doors in terms of internships when you get to your junior year.
Don't look at your CS department as just a source of courses to take, but a venue where to make professional connections. That is what I did, and it has paid itself a million times over the length of my professional life.
I agree that many IT disciplines are more analogous to a skilled trade than a scientific or academic discipline. These career paths would benefit from a structured apprenticeship program, and in some cases unionization.
However, the group of institutions consisting of ITT, DeVry, and "others" (UofPhoenix, Virginia College, Strayer, etc.) are not even a part of the answer.
This category of institutions are private, for-profit "vocational" schools. They are predatory companies that have extremely high tuition for very poor educational value. Their admissions requirements are dubious, essentially consisting of "can you pay your tuition".
Their business model is built around sucking as much money from their students as possible. In some cases they encourage their students to take out private, high-interest loans to pay tuition. A large portion of their students are also GI-bill students, whose education is paid for by the military.
This group of institutions as a whole has a 3-year federal student loan default rate of 21.8% - about 60% higher than public institutions at 13%. This does not reflect the default rate on private loans, which in the case of ITT tech might be as high as 60%. The federal Consumer Financial Protection Bureau is currently suing ITT tech for predatory lending practices.
You can check the official, per-school 2-year federal student loan default rates here.
Also, these institutions are not accredited in the same way that legitimate universities and colleges are, and their credits will NOT be accepted by most legitimate institutions, or even among each other.
TL;DR - stay away from the private, for-profit vocational schools. You will, without a doubt, receive a better education for dramatically less cost at your local community college - also, many credits that you earn at a community college can be applied towards a bachelor's degree at a legitimate university in the future.
what about the pure theory CS people?
That's like asking if a mechanical engineer can do plumbing.
Short answer - I'm sure he could, though it would take him a while to become an expert at plumbing. The mechanical engineer could, in theory, design a plumbing system.
In the same way, system administrators and network engineers and other IT personnel are experts at the particular system that they work with. Those systems were designed by "theory CS people"...
> Security for such things is mostly about checklists,
It amazes me that you could have enough of a clue to have heard of SANS, yet still think that. Security is more about an attitude of consistent vigilance, of always looking at from the perspective "this will be attacked, how?", I think.
You're not completely clueless, and you'll find my name on Mitre CVEs so I'm not clueless either, but we have VERY different ideas about core practices.
From the time I was about 8 years old I knew I needed to get a BS in Computer Science if I wanted to get my dream job (programmer). I worked very hard through grade school and landed a full academic scholarship, so that I could someday work as a computer programmer.
My Sophomore year, I landed a job that was way too much of a workload (and very fun, and challenging)... and since I was going to school "just to get my foot in the door" as a computer programmer, it became harder and harder to go to class and get my degree.
The problem was that once I WAS a computer programmer, at a real company, there was no reason for me to finish my degree. I walked away.
I mean, I guess on the one hand I could be considered a success story, since I have now been at a few fortune 500s for 14 years, I own a fully vested pension from one of my previous employers... I make enough money, I have never been out of work, etc etc.
But I don't have a degree... I never will.
At some point I decided that even though I would not need to take on ANY debt to get it... A degree was less important to me than having a job in the profession I love. It worked out for me, but will it work out for you? I don't know. But that is the risk you take when you try to work the job you are going school to get.
Attend a local user meet-up for PHP development. You should easily be able to find one at Meetup. Simply showing your face is a great start, but if you really want visibility to local employers who are hiring, put together and submit a presentation regardless of how basic it may seem. Try not to say "I don't know that" but instead talk like you're interested in learning more but without BS-ing. Most likely the people hiring will have seen a lot more than you have and won't have time for someone who pretends to know things they don't, but will greatly appreciate enthusiasm and an eagerness to learn. Once you start to get to know people and they get to know you, you'll find the type of people you actually want to work for/with and the feeling will be mutual.
Maybe not, but 2 years of trade school coupled with 2 years of having a real job is far more experience than someone will ever get in college. I'll take the 2 year trade school person who was smart enough to figure out that they can spend 2 years in a trade school for far less money and come out with the skills necessary to start work, than someone so stupid they spend 4 years in college, rack up tons of debt, only to gain a few more hours of lab time, get useless credits in useless subjects, and some questionable theory that will probably be out of date in 4-5 years anyway when the NBT becomes the craze.
College can't teach someone how to be a programmer, it can only teach the syntax and theory to become a coder. Only experience and aptitude can make someone a programmer.
But, on the other hand, if someone has been coding for 10 years and the only language they know is PHP, maybe they aren't that smart to begin with. During my first 5 years of working with computers, I learned two different assemblers, FORTRAN, BASIC, and COBOL. Over the years I've added even more as I've needed to. No college in the world is going to teach someone that many different languages. On working in the real world and stepping up when needed can.
I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
https://en.wikipedia.org/wiki/...
http://dictionary.reference.co...
http://www.thefreedictionary.c...
You were saying?
Challenge accepted.
You are running into the basic conflict with employment as a programmer these days, just a bit earlier than most people.
In order to be a good programmer, you need a CS degree with a good foundation in theory. That means courses that do not teach you any current tools, but do teach you what's behind it all. Data structures, algorithms, discrete math, language theory, operating systems: these will give you what you need to solve almost any programming problem, pick up any language, understand almost any tool. But they won't give you any claim to long experience with any particular language or tool.
Unfortunately, these days it's all about having a resume with the latest buzzwords on it. Companies don't care about hiring people who can learn, they want to hire someone with lots of experience in the exact, microscopically specified, tools, technologies and fads that match the job listing. If the keywords and experience level aren't on your resume, it doesn't make it past the filters to even be seen by a human being. Paradoxically enough, it doesn't matter how much experience you have, if it isn't in that narrow area they are looking for. Companies don't want to invest in programmers, they want drop in "resources" that can start immediately with no training, and be cut later with no loss of investment.
You have a slight advantage in that you are "fresh", which employers read as "cheap". That means you have a shot at the low-paying entry-level jobs, if you can get a foot in the door. Note that "entry-level" doesn't mean un-knowledgable or even inexperienced, it just means they aren't going to pay you much.
To be successful, you need to do two things. First, get as much out of your CS degree as possible. Study the theory, take the
hard courses, learn the why and how. If you have chances to work on projects with professors or other students, even independent study: take them. Best way to get those opportunities: show up and ask. When done, you ought to know enough to look at most software and be able to see how it goes together and why it works like it does.
The other thing you need to do is, basically, dabble. Poke around with the various tools, languages, technologies, operating systems, etc. Many of them are open source, and those that aren't should have free or discounted versions for students. Play with them enough to be able to do basic tasks, and know the terminology. You don't have to be expert, you just need enough to be able to demonstrate competence. That will allow you to play the resume buzzword-bingo game.
The best way to do this is to take on some side projects in the FOSS community. Do enough to get your name on the contributors list. That way when they google you (and they WILL), you have lots of things to point at to show your experience.
Good luck.
When I was in college, I applied for an internship during my freshman year. I got it. Why? Because I applied, had a resume with a list of relevant skills and was eager and impressive in the interview. I ended up working that internship part time during the school year and full time in the summers, and graduated with "three years" of industry experience. I use the quotes because if I was really pedantic, it would be less because some of it was part time.
There were other internships available when I was applying that I didn't get for one reason or another, but I can tell you with 100% certainty that if I had never applied, I'd never have gotten the job.
You could also look for contract work opportunities, but the internship comes with a built in knowledge that you are in college and side-steps the scheduling problems you would run into otherwise and sets an expectation that you will be returning to school, so if things don't exactly work out and don't come back, it's no huge deal.
You should be focusing on building your credentials with prominent open source contributions and publishing your own mobile apps. Chances of landing a very meaningful corporate project with just one year of CS classes are slim, and besides you will have the rest of your life to work corporate jobs. On the other hand, legal and time reasons would leave limited opportunity for open source.
I can see exceptions like if you are really desperate for money or get invited to join your dream startup, but otherwise what's the hurry?
Hell No it's not too soon. Your biggest mistake is that you're seeing "requirements" and taking them seriously. Blow them off. There are zero documented cases of the person who writes a job posting, having any idea of what will be needed in order to do the job.
That said, I'm a little confused about the skills and experience you do have, and being in CS. This is like explaining that you have changed the oil in many cars and you're wondering if it's too soon to be looking for a job as a first year oceanographer. You might indeed land a successful job at Jiffy Lube, so I say: go for it! That can only be good. But, at the same time, you know that's not really what you're studying for, right?
Engineers realize that they need reference material and should not try and pretend that they are infallible.
Silicon Valley brogrammer nonsense doesn't impress them.
A Pirate and a Puritan look the same on a balance sheet.
You can certainly find IT work without a degree, but an actual CS degree will open up far more opportunities, and the coursework will expose you to a broader range of concepts and skills. When I started college, I was already hacking assembly language on simple personal computers... but college exposed me to low level operating system concepts and taught me how to write a compiler from scratch. I probably could have taught myself those things if I made he effort... but I am not sure I would have thought to without the going to college. My CS degree set me on the path to become an embedded Linux and Android developer.
The Bolachek Journals
Just to let you know, it will likely be very hazardous for your back end. You will be put on pager rotation and made to be reachable at all times from Thanksgiving to New Year, when these sites make the most money. By contrast, client software may cause panics at the end of release cycle, but once its shipped it stays shipped for some time.
If you go this route, try to get into Oracle. There is so much bureaucracy in getting past consultants, support and product managers to get a developer to look at your problem, that you will have days of heads up and be able to work at more convenient time.
If you can afford to go to college, go to college. Getting a decent job will (in most people) show you that you're wasting your money.
Whether or not you are wasting your money remains to be seen or not, but if you get a good job it will really SEEM that way.
I don't have a degree and I have an excellent (well, not low stress or super rewarding) but it pays the bills and my kid will be able to afford college; I'm not representative of everyone though.
If you cannot afford to go to college (meaning you're taking on debt), then you need to have a serious path in life or decide to live 'paycheck-to-paycheck' with college instead of doing so with food and gas AFTER college. See if you can take less classes, borrow less, and work in something relevant; it'll take longer, but if you have the ability to finish a degree by doing the repetitive requirements, you'll have more to show, and less load.
I have no idea how much we pay interns, but my supervisor has someone from HR in his office and I overhear him telling them we need to cover at least gas and some "fun" money to make it worth their while. Then he mentioned we need to increase how much we pay them because it would be nice to retain them from year to year and even better if we can get them to hire on after they graduate.
Something about 6-12 months before an employee becomes profitable makes it expensive to have employee turn-over. If we can train them for much cheaper as interns and acquire them after graduation, it's a good way to save money, but it only works if they want to work for you. You must treat them nice.
If you want to build up those two years of experience, and don't mind working on short deadlines and for maybe less money than you want, start bidding on small projects on sites like oDesk.com and Guru.com.
Then with a list of clients and references built up over time you will either have a much easier time getting internships once you are a junior/senior OR you might just want to keep doing your own thing.
Someone I know in the publishing industry, has 2 BAHs and a publishing certificate, has been doing internships for nearly 2 years. Typically, they're 3 months, full time, and either no pay or $500-$2,000 honourarium.
Coming out of school with $60k in debt, the pay not covering rent/food let alone loan repayments - there's no "fun" money there. These internships are supposed to have an "educational" element - they are not meant as a way to curb the cost of training an employee or as a buffer against employee turn over. You want people to stay, treat them well, promote them if possible, pay them properly.
I've seen this person exploited in every way from filling out passport applications for her boss to working from home, "part time" (aka 40+ hours a week), in multiple departments for over a year at a single company - not a lick of training. This person got a test for an actual part time job with them, they said they'd provide training once they were hired, filled it out and never heard back from them (despite continuing to intern for them). No honourarium, no job, no pay, not even a thank you but you're not right for the position. What can the person do though? No on the job experience (2-3 years minimum in that industry) on the resume means no interview for paid jobs.
It's standard operating procedure for many companies, exploit those who don't know better or don't have the connections to get a job offer. Claims are made that these companies can't survive without these interns but in reality if they can't survive without them then they don't deserve to be in business.
Look for part time work or internships with smaller companies. They tend to be less rigid in their education and experience requirements if you can demonstrate competency.
The summer after my freshman year (so basically when I was your age), I got a summer job at a midsize company doing really, really junior development work. I made roughly 1/5th of what my experienced coworkers were making, but the experience was awesome (I lived at my parents' house, so it's not like I needed the extra money). I learned a ton while I was there, and continued working for them remotely while I was away at school. My experience there was key to getting my first job out of college because I already had demonstrated experience in developing corporate software.
One more word of caution: don't squander your youth being too career-focused. Definitely pursue some experience so that you aren't a total greenbean when you graduate, but have some balance. Go travel, date, drink, smoke, and just generally do what interests you. You've got the rest of your life to worry about your career, mortgage, kids, and all that other shit that we old people have to deal with.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
If you want to be a back-end developer, why on earth are you wasting your time with a CS degree? That's not what CS is about. If you want to design languages and compilers, if you want to push theoretical knowledge of how computers work and what they can do, then you join a CS program. If you just want to write code, CS is a gigantic over-complicated waste of time.
a long , long time ago in college we had a co-op where we'd work for 6 months, go to school for 6. Having that real world experience interleaved brought me so much value in that my school became so much more relevant, and I also understood *why* I was going to school. so, go, start learning.
for most companies is hugely in favor of the programmers. A few years ago I needed to hire a college-grad CS major for (non-web) software development. I contacted the local university and received several dozen resumes, and nearly every prospect was highlighting their web design experience and looking for a job doing the same. The exception to that were the foreign graduate students, whom I could not hire for security clearance reasons, and one previously home-schooled kid (for high-school) that fast-tracked his way through college and was not stuck in that web design rut like everyone else. While I found two other candidates I could barely justify interviewing (because of what they did for hobby programming, not what they espoused in their schoolwork), the previously home-schooled kid got the job. No contest, really. I was mad at the school for producing so many no-interview/no-hires and wrote them a letter saying as much.
The company I worked for at the time employed 90-100 people, with about 25 of those being software developers. We only had one web designer and he was also doing all the IT in three cities, so web design was very part-time activity. The most important part of our web-presence was CRM software, which we wisely outsourced to a big-name company which hosted that portion for us. We paid that company about half of what we'd pay one full-time programmer and it handled thousands of customers. That left our IT/web designer doing fairly rudimentary web development.
It is a scaling issue. The tiniest company that needs a rudimentary web presence might do web development in-house with a poorly qualified individual and then later maybe outsource to gain a fairly robust but static online web presence. Once they are big enough to hire a competent in-house web person, they still won't need to hire a second web developer until that company is either very large, or doing something very unusually interesting online--and outsourcing can usually be done cheaper in most of those cases.
The bottom line is that you should concentrate on school and the non-web oriented CS courses that school can offer you. Most companies don't need anything fancy or unusual for web design and a university that is pushing more than one class in that area as part of a CS degree is exploiting the students' ignorance of the job market. There is more than enough fundamental things to be learned in CS without getting bogged down in teaching whatever the latest trendy web tools are.
If you need to earn money, offer your part-time services as a consultant to small mom-and-pop businesses that have crappy websites. As a demo, repackage what they have into something less crappy. Send them a link and then offer to revamp and maintain their website. Smaller churches are another good candidate and could probably use a part-time IT person to help them from time-to-time. Line up a few of those each year and you'll have a nice side-business and resume to augment your degree.
I've only ever been through college and the post-college job hunt (ok, during college job hunt) once, so I don't have enough data to form even a line, but my experience is that everything I did outside of actual classwork ended up being the most important parts of getting a job. If you only do the assigned classwork, then when you graduate you'll be competing with however many students are in your class who also did the same projects and learned the same skills. If you do something outside of the curriculum you'll stand out from your classmates for anybody looking for your particular skills.
Developing some software or even a useful web page will also help a ton once you get past the HR drones. It doesn't have to be the next Google, but having something to show the people you'll be working with is a huge help. Open source projects are great for this.
The final note: Don't think you have to do all of your partying in College because you'll be a family man the instant you graduate. Unless you are one of those guys who immediately has kids after graduating (or before!), there isn't nearly as much difference between college life and graduate life as movies/tv/etc... would make you think. This means it's ok to miss some parties because you're working on your cool side project. Just don't miss all of them because making friends and having fun is important too. It's a really hard balance and we don't make it easy on kids by giving only ridiculously one-sided advice that doesn't pass the real world test. I will say that you will regret it if you party too much and have to take a year of school all over again. Student loans suck big time. Oh, and paid internships/co-op opportunities that let you avoid having to take big loans? Solid gold.
I read the internet for the articles.
I found my work experience to be essential to my education. When you are presented with new material, even the fairly theoretical and abstract stuff, you are more likely to understand its value when you are actively working. When you get a chance to define your own projects for school, you can choose something related to your work. Classes will spark ideas that help your work. Ideally, your academic and work experience will feed off each other.
Your field work can be internships, entry-level jobs, student assistant jobs, or just about anything else. Just try to find something where you get to write code and get paid a little money. If you have to, create your own job. In my junior year I helped write an NSF grant for an educational program and got paid to develop the software. That turned out to be a very sweet gig, and I learned tons.
Academics are useful, but they aren't everything. Real-world problems are messy, arbitrary, non-determinstic. Being able to point to things you've done is the difference between having a degree, and having a career.
Sadly, some people in IT do :/
Trying to intimidate people with technical jargon garbage does a disservice to real IT work. Knowing subnetting notation is not nearly as important as say, knowing how routing works. Knowing how to write a DNS zone file is not nearly as interesting as knowing what to do when the DNS server stops working. At least try to be smug about things that actually require skill, instead of talking shit about things it takes 20 minutes to learn on Wikipedia.
I started laughing at "security" and "php" used in the same sentence.
Couldn't help it.
You willing to work for free for a summer? Are you in or can you be in Brussels? Respond to this post with some way of contacting you, and I will give you an internship this summer. If you do good work, I'll have (low) paid internships waiting for you over the next two summers, and a web developer job when you graduate, provided I haven't been fired myself (as frequently happens to us middle-management types).
Of course, as others have noted, web development as it currently exists is at best a transient technology. Another 10 years, those skills you listed will be useless. Better to work on the theoretical knowledge and the soft skills. Pro tip: web developer is not a great job for learning soft skills. Work sales if you can, and take it seriously.
Points to you for looking. That's not what I was referring to, though. See my post just above yours (seven hours earlier) for more information.
I was working in the tech industry doing QA 2 years prior to graduating high school. College is too late, now you're nothing but a n00b script-kiddie that will never have the respect of your peers. Although, Geek Squad will probably higher you, so long as you don't do something stupid like ask questions or have longterm career goals.
and those tradies are juniors when they start their apprenticeships and get paid as such, right? They're not still juniors when they're done, unless they suck at it.
I live in a country where internships are rare.
Intermediate skill is usually ~2 years experience.
I just got my haircut from a lady whose 23 year old son just got a consulting gig making 120,000 a year! He started 2 years ago making websites and turning them into smart phone applets.
No offense but I do not believe that advice as employers and HR can not find anyone with 2 - 3 years of HTML 5 and css 3 experience. Coca cola and others hired this kid and keep paying him $50/hr to code.
Just picking nits here, but $50/hr != $120,000/year.
It is the Java jobs that require 10 years experience because the old timers all have that and can simply demand it. Web and mobile app positions do not have as much experience which means lower barriers to entry and more cash to make.
I'm not sure what you're saying here... that web and mobile app positions, with their lower barriers to entry, should be paid more?
Yep. Don't forget, the cloud is the solution for everything.
Trying to intimidate people with technical jargon garbage does a disservice to real IT work. Knowing subnetting notation is not nearly as important as say, knowing how routing works.
If you don't know CIDR notation or how subnetting works, and you cannot do the conversions in your head, then you may as well not know how routing works, because you're not going to be able to configure the router that requires this notation, in a reasonable or acceptable amount of time for a professional, you need training. Knowing how it works is important, but insufficient. You need to have the skill to enter that configuration with few or no errors, and do it within about 15 minutes max.
No time to go Google search or look for a subnet calculator as a crutch to help you limp through setting up servers or equipment.
Hence the reason that the pure theory CS person is not cut out for an IT job, without extra experience.
This is not to deride on the CS person. But CS is not IT, and IT is not CS. They have overlapping but distinct skill and knowledge requirements.
A pure IT person makes a lousy coder or software architect, by the way.
> There's no pure theory CS curriculum I know of that includes specialized things that IT people have to know just to get started, such as: What a /27 is, and what Netmask/IP to configure the Windows machine with when I tell you I have assigned the VLAN a /28, and you need to give that computer the last IP address in 10.0.0.48/28, with .49 as default gw. What RAID10 is -- more importantly, how to set one up, how DNS works.... what file to edit and what changes to make to create a reverse DNS entry for X.Y.Z.W; the list goes on as much as you like.
The converse of this is: you don't want to be candidate "A" chosen over candidate "B" - if "B" is better educated, has a good grounding of principles, is more innovative and interested in the area, and overall shows themselves to be better at the meta-level - just because you have 3 or even 6 months of mundane immediately-relevant knowledge. Because that's not a great job you just won yourself.
Still, learning CIDR notation is nothing. We are getting high and mighty about a bitmask that starts with a certain number of ones, then ends with zeros. Realistically, most IT pros only need to memorize the specifics up to about a /16 network... that is 16 data points. And before you whine about the /4 that someone you know manages, realize that to be the god of the internet, you only need to remember 32. Spewing a bunch of CIDR shit to look intimidating is a joke.
And before you whine about the /4 that someone you know manages, realize that to be the god of the internet, you only need to remember 32.
What the hell are you talking about? There are only 8 unique octet patterns; there is no need to memorize more than those 8, and have a basic grasp of multiplication tables from 1 times 1 up to 16 times 16... the bit pattern in the netmask boundary octet of a /4 is no different from a /24.
I don't understand why you are fixated on the CIDR example, but it is basic knowledge that IPv4 network admins MUST have, period, and instead we have schools out there teaching "Classful Addressing" which has been irrelevent for 15 years.
This is just one example, and not the essence of the argument.
The other example is "IT trade school" graduates who cannot figure out how to even open the network adapter settings on a Windows XP workstation.
Theoretical CS people are not even expected to know about that. I don't fault them for it. I am only asserting the fact, that additional training is needed, and their schools mislead them if they thought they were getting all the right things they need to succeed in IT -from the school classes-; --without mucho extra outside work on their own--
You think that 55k us above average?? Let me guess .... you got your facts from The Onion.
Several commenters suggested interning for free at google as better than other options. However, if cash to pay the bills in college is more important consider looking for an unskilled job at an IT/software development/ tech. support firm.
Isn't the problem that what we call computer science is being read as it specialist. They are very different thing. Computer science is a science, not a craft. Setting up a network is a craft, not a science.
I'd like to live in a country like that - here it's 55% internships out of post-secondary education.
I'm a graduate recruiter for IBM: it's a part time thing; my day job is as an architect.
We offer apprenticeships (alternative to university), a sandwich year (the year before your final year) and summer assignment (you get to work on a project and then are flown to some sunny part of the world to present it to execs to see if anyone will champion it: kind of a dragon's den).
In all three cases we pay £15K/year (pro rated) and in the case of the summer assignment if you make a good impression you'll get a job offer. (Graduate recruits get about double that as starting, PhDs about 10% above that).
So yes for a 'normal' company like IBM it's good to start at least thinking about what you want in your Freshman year.
However if you want to get into, investment banking, for example then you have to start now: get unpaid internships this summer. They've already recruited everyone they want by the start of your final year: and almost all will be interns from the summer between year 1 and year 2.
Sadly, some people in IT do :/
Trying to intimidate people with technical jargon garbage does a disservice to real IT work.
I agree with you. I have no clue what that has to do with my post, or how my post runs counter to that sentiment. Reading comprehension much? Searching for a strawman?
Knowing subnetting notation is not nearly as important as say, knowing how routing works.
I have a hard time seeing someone understanding routing in practical terms if he/she does not understant subnetting notation. It is not rocket science.
Knowing how to write a DNS zone file is not nearly as interesting as knowing what to do when the DNS server stops working.
I would agree with you here, and I would have a problem with an interviewer asking people to write a DNS zone file from scratch. But depending on the position and the candidate's seniority, a question regarding the general steps of writing a DNS zone file (the how and why), again, in very general terms, that would not be a completely unreasonable thing.
At least try to be smug about things that actually require skill, instead of talking shit about things it takes 20 minutes to learn on Wikipedia.
And the thing is, knowing to go to Wikipedia, that is also a skill, one that is seriously missing. And some shit takes 20 minutes to learn, and they are repeatable tasks for particular job positions. Candidates to those positions should not them without having to consult Wikipedia. If not, sorry, red flag.
I mean, it takes 20 minutes to know how the IP stack works, or what pre-conditions and post-conditions are. That doesn't mean one should accept people who do not know them. You ask these questions to filter those who do not.
Someone got burned, and now is projecting.
Your last six words are self contradictory.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I'm the OP. I just responded to Ray offline. Here's part of what I said: "I know I have a lot more to learn about security. What I wrote was a direct quote from my Web development instructor. I had grown frustrated with the CS program, believing I wasn’t getting the best education (after a year I don’t understand Big-O notation and other random things). Tired of his cut and paste approach, I asked him to explain to me what I would be able to put on my resume at the end of the course and “secure login-driven Web site” was one of his bullets. I learned about md5 vs sha, salt and hashing on my own. Reading a linkedin forum about security with PHP make it seem like that’s sufficient. I’m aware that PHP has changed the game on that a bit, simplified it, but I haven’t explored it yet....Incidentally, I don’t prefer usernames for login. I like using email addresses and sending verification emails. Future login systems will incorporate an email hash as well and will generate a new salt whenever a user updates his email address or password...just for a little extra security even if not 100% secure." Is that close enough?
That's exactly what it is: a job to pay the bills. It's what I can wrap my head around now. OP