Cloud optimize

10 reasons why this is a great time to be a developer

After a long stretch of stagnation, the developer field is starting to open up -- in a number of interesting, groundbreaking ways.

Ever since I was a kid, being a programmer looked fun and exciting. But in the last decade, the novelty of the Internet has worn off, and it seems like we've just been spinning our wheels. With an increasingly uninteresting workload and stagnation in pay, a lot of folks have either left for other pastures or have thought about it. Well, in the last year or two, things have really changed. Here are 10 reasons why now is a great time to be a developer.

1: HTML5

HTML5 has completely turned the world of development on its head. For years, we were locked into a limited set of applications, not because we couldn't make magic happen, but because there were so many issues with getting our solutions to market. When the Web arrived, it unlocked a lot of new avenues, but its limitations were such that the really exciting things were still saddled with the native desktop application model. HTML5 takes off many of those shackles, and we are about to experience a boom time for new ideas.

2: Agile methodology

When I first encountered Agile methods, it was from the vantage point of seeing some really shoddy practices being called "Agile" out of laziness. And while I think there is still a use for more Waterfall-like techniques, Agile should be the default choice for teams going forward. With Agile, we're given a lot more freedom to do what we love -- deliver innovative, customer-satisfying solutions -- whereas in the past, we were stuck guessing what users wanted and usually ended up developing what their managers or our managers assumed they wanted.

3: The move to SaaS

Why do I love the software-as-a-service (SaaS) model as a developer? Because for the first time ever, developers can monetize their products in a fashion that is fair to both sides of the transaction. Sure, developers always could just charge for development, which was fair enough. But if you are trying to make "shrink wrap apps," the previous models are all awful. They usually lead to customers being force-fed upgrades or support they don't want in order to keep a vendor in business or to having vendors charge too much so they can provide "free" support and upgrades. Thanks to SaaS, the shrink wrap model is profitable in a fashion that benefits everyone.

4: Low startup costs

Seriously, could it get any cheaper to start your own company now? I read press releases of companies getting off the ground with only a million dollars, where in the past it would be $10 million or more to get going. What's changed? Various platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) vendors let you go from "project done on my weekends" to "deployed and ready for business" in literally minutes. You can have a flexible billing schedule that allows you to cover the costs out of pocket easily and have your costs scale with your money flow. Meanwhile, platforms like Ruby on Rails have emerged to make it easy to get off the ground without all of the monetary and technical overhead associated with developing in more traditional systems.

5: Mobile technology

Thanks to the explosion in the mobile markets, there are hundreds of millions of potential software customers who never existed before. Their bank accounts are directly tied to the software discovery system, and they are accustomed to paying (albeit, not very much) for software. And the mobile revolution has enabled all sorts of amazing new apps and games that really just could not exist before. Best of all, mobile applications and devices serve users in way that offers far more satisfaction than traditional desktop computing.

6: Job market of today

Talk about a seller's market. Are there soft spots in the job market? Absolutely. I'd hate to be an entry-level programmer with no real-world job experience and no special skills competing against the overseas talent who can deliver more skills for less money. And yes, some intermediate developers are getting a squeeze as well. But you know what? The demand for talent overall is at a level that is nowhere near being met, and it will only get harder to find the right folks. And the pay scales are reflecting the lack of supply. While it can be tough to get your footing, once you have established a record of good work and a valuable, up-to-date skill set, it is pretty easy to stay employed at a fantastic pay rate.

7: Job market of the future

Until someone comes up with a reliable way of having applications write themselves, the job market will only improve for developers so long as they are willing to put in some effort with skills improvement. The graduation rates for development-related majors are not ramping up to even come close to meeting the demand. If you have a foothold in the industry today, and do not let your skills deteriorate or go out of date, the job market should treat you very well over the course of your career, and certainly much better than most jobs.

8: Computing penetration

Those mobile devices have done something amazing: They've allowed entire segments of the world's population to have access to computing when before there was none. Not only does this create potential new users and customers, but it allows our work to have a positive influence on the world like never before. Some of the mobile applications I have seen do truly amazing things, like allowing farmers in Africa to determine whether there is a demand for crops before starting a long trek to market, or enabling doctors in poor parts of Asia to communicate with each other to share lifesaving information. Being able to be part of something more impactful than merely making a living is a great feeling!

9: The rise of "personal computing" devices

When the idea of a "personal computer" came about, most folks treated it as "my personal computer" in contrast to "the company's computer" or "the shared mainframe." Now, "personal computer" is becoming much more similar to what visionaries like Dr. Alan Kay imagined in the 60s, 70s, and 80s, a system that individuals can customize on the fly to meet their needs easily. Is this a reality yet? No. But for the first time in a long time, it looks like the industry is actually starting to move in that direction, and it can't come soon enough. I look forward to being part of the revolution that allows people to leverage their computing devices to accomplish their goals, instead of the devices depending upon users to do what they need to do for the applications to meet their own goals.

10: The increasingly prominent role of developers

As things continue to shift and change in the IT industry, our networking and systems administration brethren are seeing their jobs become more routine and less exciting. Meanwhile, programmers are the fulcrum that the IT lever pivots on. Without us, companies are forced to accept solutions out-of-the-box and attempt to make their business processes match the solutions. Entire industries are experiencing unprecedented paradigm shifts, thanks to the recent innovations in software. Up until a few years ago, it was hard to make software that did more than replace filing cabinets and calculators. Now we're making software do things that have never been done before, and the world depends on us to make it happen.

Other reasons?

Do the reasons cited here make the developer field seem more enticing and full of opportunity than in previous years? What other aspects of current tech trends make this a good time to pursue a career in development?

About

Justin James is the Lead Architect for Conigent.

49 comments
neetathakre1234
neetathakre1234

Hi, Hound.comis a good source of jobs because it only shows you jobs from employer websites and every other job board out there.Hound.com is a excellent way to search job because many jobs are not advertise web..in this site .You will get each n every jobs ingot and also those jobs who r not often advertise. [url= http://www.hound.com/jobvideo/9139/cio/CLevel]"cio jobs[/url]

neetathakre1234
neetathakre1234

Hi, CallCenterCrossing.com it is a good site. I like this site . CallCenterCrossing.com is a amezing site every one should try this site...it help to serch job world wide and it is very convienient in this sit you did not need to serch more just type your qualification and in which city do u want to do job that it ...is not a advertising website it is just gather all the job seekers and the employers at one place ...it helps both thejob seeker na also the employer. CallCenterCrossing.com is a good source of jobs because it only shows you jobs from employer websites and every other job board out there. It is employment is a excellent way to search job because many jobs are not advertise web..in this site .You will get each n every jobs ingo and also those jobs who r not often advertise. [url= http://www.callcentercrossing.com/video/1468/CallCenterCrossing-CustomerCare]customer care jobs[/url]

neetathakre1234
neetathakre1234

Hound is a good source of jobs because it only shows you jobs from employer websites and every other job board out there.It is a excellent way to search job because many jobs are not advertise web..in this site .You will get each n every jobs ingot and also those jobs who r not often advertise.This site is excellent job site is a good source of jobs because it only shows you jobs from employer websites and every other job board out there it is an excellent job site. [url= http://www.hound.com/gjsearchresult.php?q=bank+category%3A%28Financial+Services%29&l=&country=&js_radius=0&js_fromage=]banking employment[/url]

RMSx32767
RMSx32767

"Up until a few years ago, it was hard to make software that did more than replace filing cabinets and calculators." Mr. James, please define "a few years ago".

Tomin8tr
Tomin8tr

I agree with all of Mr. James points. My only disappointment in this industry is how we don't seem to have time to work with new graduates. As someone who has been in the industry for 25 years I'd really like to see us all step up and help the next generation of students get into this field. I too think it is a great field where you can do something productive and make a decent living as well.

Jim-Bob_z
Jim-Bob_z

Useful article and Comments; Thanks!

fordman_7
fordman_7

Never been a better time....especially been a mobile app developer or even the traditional one's we all know.......thumb up for this piece Rutherford www.rutherford-ejimonu.com

skykeys
skykeys

Interesting article and on-going discussions. One of the issues to me about programming as a career, is whether programmers are (should be) considered and used as employees of a company, or contractors for part time use only. Are we like lawyers, doctors or builders, to be used as needed on a contractual basis, or permanent employees like most of the accounting staff? Even most lawyers, carpenters and doctors are employees of a company (hospital, law firm, building contractor, etc.) In the old days, all programmers were employees and almost every company had their own I.T. staff, department and owned their computer equipment. Now, it seems developers are more considered and treated like contractors. But no one wants (or can afford?) to keep developers as permanent employees, not even contract companies. It makes for a difficult career path. Why should anyone make the considerable effort (in time, money and discipline) to get a college degree in CS if the career path is quite stunted and unsure. I have seen prognosticators / futurists talk about all jobs going the way of the movie business. Where various "talent" is assembled for a given project, and then disbanded when it's completed. If only programmers were paid like movie stars, then we could afford to work on a part time basis. As more applications are moved to "the cloud", I foresee more difficult employment prospects for system administrator types, including internet security. Those jobs functions are efficiently leveraged by using cloud services, thus eliminating what has been the staple for American I.T. related employment for the past decade or more. On the other hand, it might, and I do mean only might, create more employment prospects for the hard hit American developer job market. But as described and accurately predicted by Edward Yourden in his 1993 book "The Decline and Fall of the American Programmer", programming jobs have been easily outsourced overseas. Most companies use prepackaged applications from vendors that outsource a good chunk of the programming work to low wage countries. Cloud services don't change that picture much. So again, the question remains: why should any American go to college today for a CS degree when the job prospects are so uncertain?

Mark Miller
Mark Miller

Okay. Where is this happening? I assume by "devices" you mean phones, tablets, and such. Alan Kay's vision was that people would be able to program [i]on[/i] the devices, not write a program on a desktop/laptop and then download it to the device. The idea was to make the computer a dynamic medium for computing. That's what was behind his complaint when the iPhone came out, "I wish they'd let people program the darn thing!" When he said that, Apple was letting programmers develop for it, but they had to get approval from Apple first before they could get their app. on the device. I understand that Android devices are programmable without having to go through the device maker's service, but I'm thinking programmers probably have to write their apps. on a PC. That's been my experience with mobile devices, anyway, but that experience is now more than a decade old. The thing is, even though this ability is there, the knowledge that it's there is not nearly as widespread as it used to be, even though far more people own computing devices of some sort now than we ever did before. Most people who own computing devices know very little about programming, except setting up their DVD recorder or DVR, or creating a playlist. The idea that people could program their personal computer is not new, as you know. It was expected of personal computer owners more than 30 years ago. The idea died out in the mid-90s. It was nice to see MS bring the idea back (though without making it real obvious to customers) when Vista came out, at least.

annetteg
annetteg

As with all jobs, getting relevant experience to add to your paper credentials is critical. Why not sponsor a programming internship? At Windward, we've had great luck with our interns and have been able to make it a win win. They get the experience they need, and we continue to see innovative ideas and get fresh input - face to face. We actively recruit interns by sponsoring an Intercollegiate Code War. This time we're taken it national with students from MIT, Harvey Mudd and other schools competing in January. No work experience should not equal a closed door.

todd_dsm
todd_dsm

I'm a Lin/Win/Mac sys-admin and the youtube vids on HTML5 make me want to absorb this over the winter. It appears the HTML steering committees have finally agreed to take all of the work out of writing code. With all of the HTML templates available, and alot of them for free, HTML is now accessible to more people. Although the entry-level market [i]is[/i] dicey, while there is some down-time, this is one thing that can be picked up fairly quick and then there's one more tool in your Batman Utility Belt. The more tools in your belt, the better off you are. Agile? Been around forever. It's only recently that it's getting more wide-spread adoption. The waterfall should die; all hail Agile.

awhite1159
awhite1159

I am definitely in agreement with you. I have been in the IT business for over 20 years and my professional experience is centered around enterprise backup and recovery, and systems administration. I have done a lot of shell, AWK, and Perl scripting as part of these responsibilities. What is funny is that I have more experience with C++ OOP and overall software design/ data structure design than anything else. I do it because I love it in my spare time. Along with this experience I have worked with CSS, PHP, XHTML, and a little Objective-C. I know that if some company took a chance on me, they would be pleasantly surprised at what I bring to the table. So how in the world could I convince a company to hire me based on what I just said?

wizardtranslations
wizardtranslations

Several good points, but by "starting a company, I guess it depends on what is meant by "company". For instance, Patrick McKenzie, of Bingo creator's fame, started off his software venture with a mind boggling $60 budget and a few days of programming. The 1 million dollar starting point is very much an arbitrary figure with little relevance.

Mansuro
Mansuro

with only a million dollars ...

Justin James
Justin James

... but I think that the widespread development of Web apps that allow peer-to-peer interaction of a very natural style (ie: compare Facebook to a forum) is a good example. Sure, there's been stuff like image editors for decades, and they are a good exception. But something like Facebook, or the mobile applications out there that take advantage of phone sensors... those are powerful, unique applications with mass market usage, and developers can leverage them and write them like never before. It's exciting! J.Ja

Justin James
Justin James

I'm already starting to see this, but it's in dribs and drags. The biggest holdup is the UI, it's tough to make a UI suitable for programming but that also works on a touch screen. I have an IDE on my WP7 phone, it's from Microsoft and they have some very advanced samples written in it (like a "Missile Command" clone), and I've written some basic, fun apps in a few minutes (like one that gets the current location from GPS and posts a map to get to my location to Facebook... easy way to say, "hey, here's the place I told folks to meet me at!"). I think the process is going to be slow, but the number of folks who are interested in programming mobile apps is high... tons of interest from people who wouldn't give development a second thought before. While the vision of doing it directly on the device isn't there very well or in depth, people *are* doing a lot more customization via code, and as things like docking stations make getting "real work" done on the form factors easier, I think you'll see more direct, on-device work getting done too. J.Ja

Professor8
Professor8

Ah, a former receptionist who's been cross-trained. That's nice. (At least that's how we grew them; the people who already had CS degrees seemed to get bored quickly, whereas the receptionists could use it as a stepping-stone toward something else more interesting.) Yet again, something which all too many believe is difficult and arcane enough to require several years to learn, when all it takes is a few weeks. Now, security specialist is another matter. That takes both a knack (to be able to anticipate the malefactors' likely thinking), and a bit of learning to know about sys and app and network design and hence the likeliest vulnerabilities.

TexasJetter
TexasJetter

As Justin pointed out, if you are currently in programming and have current skills the outlook is positive. However if you are not currently in a programming enterprise type role (team environment, Agile exposure, etc.) it is almost impossible to get a foothold. Most companies these days want a worker with proven tack experience and the ability to hit the ground running. No training required. This makes it difficult for those on the outside, who may have the skills but not currently in an enterprise setting, to get in. If you find the answer to this riddle let us know. [edit] In all fairness, he did say 10 reasons why it is a great time to be a developer, not 10 reasons to become one :)

kwabula
kwabula

$60 Really mind-boggling, really like how you put it. The way he put it gives an impression even me I can start today since 1 million is easy to come by!

logicslab
logicslab

Hi "Not a bad ...", I am really interested to know the Story of that $60 starting firm, because I am a Web Programmer plan to start my own business . That 1 million is not a cheap amount , so it has no significance , do any one can advise me to start a new Firm . It's really appreciated .... contact me : ANES(DOT)PA(AT)GMAIL(DOT)COM / OR even call +91 9747972826 Waiting your advise Thanks Anes

Professor8
Professor8

So, Patrick McKenzie didn't own a computer, didn't own any target mobile device, didn't have a provisioning certificate... He was just walking down the street one day and did it all with only $60 he had to his name? Get real. This column is an example of dark humor.

myangeldust
myangeldust

I've come across a lot of developers on forums and most (not all) seem unmotivated to do much. I guess they want to be paid to code. There's four major mobile device systems and websites as well as Home Server and Media Center add-ins that can benefit from coders-gone-wild. But they don't. I don't see them doing anything. I know there's work involved but it's like being a virtual inventor. You can make stuff by just typing... but most developers do not do this on their own. Sometimes they don't do it when you pay them.

skykeys
skykeys

Justin, my complaint about this business (I am / was in I.T. for 30 years) is that it's more difficult to actually make a living at it now. Having the frameworks so developers can write exicting apps is one thing, but making a living at it is something else; something far more difficult than 30 years ago. For all the stories of mobile app developers getting rich, in reality, how many people are we talking about, relative to the employment picture of 30 years ago when I started out? I would love to see the return of developers as the focus of I.T., versus network administration for example. I can remember when "software development" was driving the American economy, highlighted with front page stories in Business Week and the like. Software drove the economy - because there were lots of gainfully employed people in the field. Now, it's a bunch of "gun-slingers for hire" kind of thing, along with packaged apps supported primarily by overseas programmers; and it makes for a more difficult environment in which to make a living. At least that's what it seems like to me. Do you think my perception is off base? Thanks.

Mark Miller
Mark Miller

Will be looking for what you were talking about. Squeak iPhone app. development was re-enabled on the iPhone after Apple goofed by making their developer license too restrictive in an effort to kill off Flash on the iPhone. The caveat was that any app. had to ban the downloading of executable code. The implication, at least for me, was that any Squeak app. had to disallow opening a system browser or workspace window, because the user might execute some code to download other code. The objective is predictable system maintenance, no unauthorized code on devices. It's like a locked down PC, except Apple is the IT department... The way that the XO Laptop dealt with this was it had a "reset" button. It was more like a "panic" button. The entire system was open source, so students were encouraged to change it. However, if they unintentionally screwed up something, making the system unworkable, they could hit that button and it would essentially do a "factory reset" that would restore the software (I believe this included the source code) to its original state. A blunt instrument, but it at least makes it less dangerous to modify your own system, because you have an "escape hatch" from your own screw-ups.

Justin James
Justin James

Hate to break it to you, but being a Linux or a Windows systems administrator (let alone both at once) takes more than a few weeks of training, there's a huge advantage in accumulated experience. Can you train a non-IT person to do it? Sure, I can train a non-IT person to do some routine tasks in a few weeks. And hopefully, if they have a knack for it, they can pick it up and move on. Do CS graduates get bored with it? Quite likely in many cases, because it's a somewhat routine (albeit a stressful routine filled with late night emergencies and weekend deployments) job and CS students often view themselves as creative and went to school to learn programming, not systems administration. But running over another reader who you do not know, denigrating them and their background (which again, you do not know), and then trashing the entire field of systems administration? That's just wrong and meanspirited. J.Ja

myangeldust
myangeldust

I hate to pull the Z-word out but here it goes... Zuckerberg! There I said it. (I guess I could have said Gates.) No interviews, no recruiting, no cry-baby whining (that's what the Winkelvoss twins are for). Few other jobs/careers allow you to show you skillz with little in the way of preparation or presentation. Just build a useful app and you've either started your own business or made the best resume this side of carpentry. They should be making apps and putting them out there. Even better, grouping with others to make better apps and put those out there. I don't see this happening much. Where's the apps? I hear users cursing bigwigs like Microsoft for add-ins, gadgets et al but I think it's the programmers in that bunch that should step up.

Professor8
Professor8

I've done tech support, SQA, teaching, developed test management systems, analyzed and redesigned massive data-warehouses, ported and developed statistical, engineering and other apps, know a dozen programming languages and operating systems, including Objective-C on iOS, and I test out more than a couple standard deviations above the mean. The job market looks terribly grim from here. The job ads I see are nearly all from bodyshoppers and other miscreants. I know Mensa members and people with PhDs who are severely under-employed and can't get the time of day from recruiters... except for bodyshoppers. "In an enterprise setting" is one hamster-wheel niche out of the vast range of possibilities for computer wranglers, and it's not software product development. We used to call it "data processing" and it's always been near the bottom of the heap; something you might do for a 3 month internship when you're a sophomore, maybe OK for a B-school student who's learned a tiny little bit about programming, but not a real job for someone who's made his way through the software engineering or computer science curricula. There's very little that's creative, cutting-edge, exciting in its prospects for making lives better, or otherwise worthwhile about it. E.g. SaaS is a mere repackaging of old ways of doing things from the 1960s, and a bad way at that. Software as a product is much better and always has been. It gives you the chance to build value on previously created value (continuous improvement and all that). With "services" no matter what you know, what you've learned/experienced, you're starting out at nothing every day, sometimes every 10 minutes; you get attaboys, but an hour later they're asking "What have you done for me lately?". You're getting nowhere. With a product, you can keep on making it better and better (well, unless you're MSFT, in which case you make it worse and worse), and then using what you learn to create additional products. It's rare to find an outfit that has even a dozen US citizens developing their software products. Instead, there are thousands of scrabblers -- 1 and 2 and 3 person ad hoc project teams that are formed and are broken up every few months -- the vast majority not even operating at sustenance levels, let alone building careers and lives as well as products. A good programming team requires a balance of over-lapping knowledge and specialization with at the very least 3 and optimally about a dozen. With huge projects, things may need to be distributed among about a dozen teams. Above 144 people developing a single product (or product-set) communication starts to fail. And the products we're seeing these cross-border-bodyshopping days! Most of them are cutesy little toys, privacy violation gimmicks, fluff and outright garbage.

Justin James
Justin James

The entry level market kills me. You are 100% right, people want "entry level" people who can hit the ground running, and who can blame them? It's expensive to have someone on staff who spent 4 years "learning to program" but knows no methodology (Agile or otherwise), never used source control, never worked in a team, never had to work with a serious spec, etc. etc. etc. And graduates expect a paycheck far bigger than their value fresh out of school. Even though current reports say that there will be strong demand for entry level developers in 2012, I am sure that entry level developers will struggle for these reasons. The solutions are obvious, but no one wants to do them... more internships or part time work in college, "apprenticeships", long-term, guaranteed contracts that allow someone to come in cheaply, be taught the expected skill set, and be groomed to better status along with a big bump in pay. Add in some old-fashioned on-the-job training with an actual curriculum (not, "go write me some code and we'll see how you did"), and identifying promising potential developers amongst current employees and slowly training them to be developers, and you have yourself a winner. Problem is, it takes far too much long-term vision and patience for most companies, and no one internal has the time to babysit them. J.Ja

Justin James
Justin James

Too many people in this industry have no passion for it, they'd be cleaning toilets if it paid as well as programming (and probably doing a bad job with that too). J.Ja

Justin James
Justin James

Network/systems admins are becoming commodities MUCH faster than developers. Yes, there are some areas of development where it is commodity work where it's just getting sent to "dev shop in a box" overseas using some common tool package. I wouldn't want to be a general programmer right now, I think that's a dead end unless you can bring something else to the table. Some things (like, say, basic Web dev) isn't worth doing unless you are a small shop working locally where the customers don't have enough demand to justify going overseas, but that's low margin work. At the same time, companies are realize the automation and computers are making most of their business itself a commodity, and it is only through the competitive advantage of SOFTWARE that they can win. There are lots of ways in which smart companies use software to win, and a lot of really good developers are making a ton of money out there doing it, but you don't hear about it anymore because it isn't new or novel. J.Ja

Justin James
Justin James

... I will pick up an XO, because I've been truly curious about it. I think that as a device to get poor kids in the Third World to be learning it's quite off the mark; the technical model of it (like the mesh networking) is a poor idea, surely it is underpowered to the point that it is frustrating to use, and honestly, the ideas that it tries to promote are FAR beyond the reach of the kids it's aimed at, because their basic education has been so neglected. That said, it's the kind of thing that I'd love to see schools have a few of, so a teacher can buttonhole a bright, promising student and give it to them as a special assignment, reward for hard work, or similar scenario where they pick and choose the students that can make use of it. J.Ja

todd_dsm
todd_dsm

@Professor8 If you think your secretary or you, for that matter, can design a product like this, market it and bill out enough to burn down your residence once every financial quarter, then lets see it. http://solutions.ssiresults.com/zerver.html It's far more resilient than anything IBM, Cisco or MS has to offer and the security of it is bullet-proof. I could patch 5 or 500 of them and it all takes the same amount of time. It costs less and it will never fall down. All through vision, scripting, and sales my snide, sarcastic friend. Let this be your public pants-up spanking. What can you do?

Ytrail
Ytrail

He makes a good point I being seen over & over again. There are many job requirements for these jobs that are ridiculous. I mean you would think these companies are looking for senior developers when they are advertising a opening position for a entry level developer. I'm like really? 5 to 4 years experience in programming in some language or software. That's a bunch of bull crap.

iamafigment
iamafigment

I have been in the business over 20 years now and in my opinion the recruiters' complaints have little to do with lack of supply. There is plenty of starving talent out there. The issue is that the person writing up the "Required Experience" section of the job advertisement is very rarely a person with any real understanding of the job to be done. I still see recruiters asking for impossible experience, like 3 years experience with HTML5 (which as of right now is still under development). I can remember when the first version of java was released there was a flood of requests for programmers with several years experience. I assume the requiements are being written up by an HR manager somewhere, who puts arbitrary numbers on them. Think about it. What is the difference between 3 years and 2 years experience with C#? These type of requests are presumably filled eventually. I can only assume that the winning applicants are being less than honest about their experience. The whole process undermines the credibility of others with similar experience. A better requirement would be a listing of specific skills and experience doing specific things. Alas, even the attempts at this I have seen were poor at best.

Justin James
Justin James

... but it's not the norm. My recruiter friends universally complain about too many reqs and not enough talent. Every article I read about the subject has the same "problem" front and center. Maybe you don't care for the job opportunities that are there, and maybe you don't care for the recruiting and workstyle of these opportunities (if that's your complaint, I'll somewhat agree with it), but to say that the jobs aren't there is incorrect, based on everything I've read, heard, and personally seen. J.Ja

Justin James
Justin James

Even if the company is going under, I'm sure that if a bunch of ex-employees got together and replicated the work they had done there, something's going to rise from the ashes and fire out a lawsuit or two. :( J.Ja

Mark Miller
Mark Miller

The premise, though, was if a software company goes under. If you're talking about a non-compete contract, isn't it void at that point? If you're talking about copyrights/patents, I imagine that's another matter, since somebody would own those assets, even if the company is defunct. In my experience in IT services, the main asset was owned by the customer. If the IT service company went under, I imagine the developers that were with the company would be free and clear to strike up a relationship with the old company's customers to continue service work on the software that was developed there.

Justin James
Justin James

... but running a software company and paying developers is EXPENSIVE and getting startup money to handle an existing project isn't easy. It's one thing to start by yourself on nights/weekends and self-fund, it's another thing to take a team of four people working full time and get enough money together to do it. And that's not even accounting for the fact that if you've been dumped or the company went under, you don't have access to the code you were working on in the first place, and it may well be illegal for you to take a group of people who were all working at the same shop and "pick up where you left off" even from scratch. J.Ja

myangeldust
myangeldust

Here's a question: when a software-related company goes under or dumps a portion of their programmer workforce why don't these employees just pick up where they left off together as a group? I remember an article about a Brazilian agricultural company going out of business and the workers, specialized in that work, got together and formed a co op and continued the business... I think in the same facility. If not to start a company they can at least make useful products to sell to other companies. All while they wait for new jobs to come through - if they come through. Whether or not the local Goodwrench is hiring a mechanic can still fix cars for money. Are code nerds too smart to think of this?

Mark Miller
Mark Miller

The late 90s were the exception, not the rule. When I graduated with a BSCS in '93 it was tough. I talked with fellow undergrads during that time, and they were saying that it took a year for graduates to find their first job. My experience was the same. Many of the ones who found entry level work got jobs doing software testing as an entree into development. They didn't get into programming at first. My first job out of college was mainly babysitting tape backups, and doing software technical support (what would now be called "help desk.") My first real programming gig was a short contracting job I got with someone who was an employee of a small company in town, who also ran a one-man software business on the side. I worked with him personally in his one-man business for a few months. He was pleased enough with my work to invite me in to work with his "day job" employer. I came on initially as a contractor there, and eventually became a full-time employee. I stayed there for 4 years. The difference was most of what I needed to know I learned in college. The only new thing I had to learn to really be a participant was about relational databases. There are probably a lot of small firms where you don't have to know Agile, or know about unit testing, to get your foot in the door. The basics are web technologies and some programming language like Java or PHP. These are not going to be the nicest places to work, because they're not that disciplined, but people can at least get some kind of work experience that may make them marketable. They may even be able to create their own job in such an environment, perhaps introducing ideas like unit testing, gaining experience in a key skill that they can use to move on to another, better job. The thing is, even in these places they've asked for 1 year of work experience for "entry level" in recent years, something I didn't have to contend with so much when I got into IT. So I think Justin's advice is more practical in terms of creating your own business, or working on an open source project for a while, to give you that "pre-entry level" work experience.

Justin James
Justin James

I've been telling students this for a long time now... spend your time in school doing internships (if you can), contributing to open source projects, volunteering to do programming at charities, or even trying to build a "big project" of your own. Working for free/cheap is the best way to get the experience you need to graduate school ready to work. Too many students (not just CS or IT students, but in ALL majors) spend too much time treating college as a place to study and "grow as a person" (which is, in and of itself, fine) and not as a place to develop a career... but then when they graduate and struggle to start a career, they blame the school or the environment. I see it all the time. If your goal at college is to have improved job opportunities (which is the case for most students, at least initially) then you need a career plan that kicks off on Day 1. The era of a college degree being enough to get a job is over. J.Ja

TexasJetter
TexasJetter

So the question posed by @awhite1159 still stands. How does one currently in a career, but does not have the methodology/source control/team experience gain that? It's a catch 22, you can't get a job without it, but you can't get it until you have a job that uses it. You mention the obvious solutions, which none wants to implement. I agree that the current transitory nature of employment is a large reason why employers are hesitant to implement them. From a business standpoint it is hard to justify spending time/money on an employee that will be gone next year. So in the absence of these obvious solutions are those not lucky enough to get an entry level position willing to train simply domed?

Professor8
Professor8

A bright student or old pro could learn enough "agile" and other bodyshoppers' methodologies to be productive members of a team that uses such approaches within a few hours, and fully integrated within a couple weeks. Internships and part-time work is nearly all there is these days. It would be better to have co-op programs, and real jobs on campus, so that students could work their ways through a degree (and bright students hired as career employees) instead of piling up tens of thousands of dollars in unconstitutional guberment-backed student loans. Employers now refuse to relocate US talent within the USA, won't fly people in for interiviews, even, without passing through half a dozen rounds of telephone trivial pursuit to see how much and which (mostly irrelevant) trivia they've memorized. And whereas in normal times employers expected to invest 2 to 12 weeks in new-hire training* and about 2 weeks per year for retained employees, in this bodyshopping regime they expect many "projects" to last no more than 3-6 months before they cast the developers aside. (* in 1940 they took tens of thousands of farm laborers and housewives and turned them into precision machinists in about the same time-frame, to turn out aircraft, tank, truck and jeep engines.) For that matter, "projects" is the only way many of the hiring managers and recruiters are able to think of computer work these days. It's no wonder so little worthwhile gets done. The problem is that it takes far too much long-term vision and patience for most B-school bozos. That's where the correction needs to be made. Dump the current batch of B-school profs and replace them with people who know a bit about the real world. Show these diletanti what real work is like for a change, how to tell an over-priced cheap piece of garbage from a quality product that may cost 5% more, last 10 times as long, do the job 20 times as well, and generate a reliable 5% profit margin, instead of all their stupid scamming, which, to be extremely generous, borders on fraud. Then acknowledge that different great software developers learn in different ways. Some do best merely by perusing sample code and then dinking with it, with little direction. Others need detailed oversight (go make this specific minute change then come back and we'll go over it before I give you another). Some have to read a pile of texts, digest the theory, ask a lot of questions, and then produce great things. Others need the traditional university/high school process -- within a detailed pre-planned curriculum and teaching plan, read about a single narrow topic/concept, listen to a lecture, ask a few questions, answer some questions and get feed-back, do some programming and get feed-back, then move on to another concept/topic. Still others just need a wortwhile project idea and a pointer to where some of the needed info about how to do it can be found, maybe have an old pro around to ask some off-the-wall questions. Any of these ways, almost any bright student starting from zero can be doing great things within a year or two.

HypnoToad72
HypnoToad72

Even those with college degrees, the ones required in want ads, are turned down. One can have a ton of experience but no degree and be disqualified, one can go through the work earning a degree entails and still get turned down because they've not been doing it long enough... As college costs go up, freshly trained students can't exactly repay inevitable loans with freebie volunteer work either... Meanwhile, plenty of people who do get training paid for by employers do seem to complain about having to learn something different... Either which way, the system is wacked.

goldie1157
goldie1157

I can honestly say that after being a hobby programmer with Visual Basic and C#, I love coding because it taps into my creativity and freedom to create something new and interesting with my special spin on it. I've always worked as a Help Desk Technician, but started writing code a few years ago, because I enjoy seeing the very first lines of code turn into something simple yet complex that can be used to help solve a problem for someone else. Scrick