Page 1 of 2 [ 24 posts ]  Go to page 1, 2  Next

Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

31 Mar 2010, 11:20 am

Having embarked on my Java project, I decided to check out the job listings for Java programmers in Singapore. There is some demand for experienced developers, but unless you have hard to get exposure in some rarefied product suite, compensation for the hours worked tends not to be very high. Is this how it is in other markets? I have read quite a bit about how the H-1B program has decimated the jobs market for programmers in the United States by allowing lower cost Indian programmers into the country. At least that is what some people are saying. No matter how you cut it though, on the corporate side of things, the hours are long and the rewards very much capped as companies do what they can to cut costs.



TallyMan
Veteran
Veteran

User avatar

Joined: 30 Mar 2008
Gender: Male
Posts: 40,061

31 Mar 2010, 11:59 am

I don't know about Singapore, but in the West, take England for example, so much software development is now contracted out to companies in India and other cheap labour countries that there is a much reduced demand for programmers.

Fewer young people study computing at university due to the poorer job prospects. There is now a shortage of project managers and other IT related jobs. These positions were historically filled by programmers advancing up the ladder, but with fewer programmers, IT related work in the UK is not what it was.

I've been a software developer for thirty years, both self employed and as an employee in various organisations. I would be reluctant to enter the field now though. Too much competition from cheap labour countries.

There are still some good positions to get and some good companies; just not so many nowadays.

I remember the gradual erosion of of manufacturing companies in the UK over the last twenty or so years and the politicians saying the UK will make up for this with increases in the service industry. The service industry too has gone abroad. Phone a help desk or customer support and the odds are you will be speaking to someone in India not the UK. The West is contracting itself out so much that soon there will be little income left.


_________________
I've left WP indefinitely.


Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

31 Mar 2010, 7:11 pm

Becoming a good programmer requires spending long hours reading manuals and working through chunks and chunks of code. Even for a relatively simple language like Java, the curve can be quite steep. The challenge is not in logical deduction, but in acquiring a large enough vocabulary to become useful. Since the knowhow involved in implementing any particular suite of products can only be gained from on the job experience, after all that time mastering computer languages, a computer programmer still has to start at the bottom in the hope of getting the right exposure. Although you are forced to work extremely hard in school and then put in even more hours at work to get up the curve, the rewards just do not seem to be commensurate with the effort. No matter how hard you try, there will always be someone in India who can do it better than you can because expertise is very much a function of time spent learning and he is willing to do the job for a fraction of what you consider a living wage. Is it any wonder that young people do not want to enter the field?

In Singapore, employers can hire Indian programmers practically at will as there is no quota as to how many foreigners we allow into our labor market. With our large population of native Singaporeans who are ethnically Indians, Singapore is also probably the only country east of India that India born Indians recognize as brethren. Personally, I like Indians. I like the food, I like the culture and for most part the values held by Indian society agrees with me. I cannot say the same thing about the other great powers that influence Singapore’s destiny like China and America.

But competing with Indians who are willing to spend all of their waking hours mastering a computer language just seems like a losing proposition. Compensation in Singapore is low because for a lot of the entry level gunk work, employers can and often do hire very competent foreigners from countries like India. It is only after getting hard to find exposure to rare product suites that you can distinguish yourself from the masses of Indian programmers. How you get the exposure would depend on luck and there is no guarantee that the specialized technology you have mastered will remain relevant. All in all, life as a programmer just seems like a very tough gig.



pakled
Veteran
Veteran

User avatar

Joined: 12 Nov 2007
Age: 68
Gender: Male
Posts: 7,015

31 Mar 2010, 9:02 pm

Yup...as one of the very few American helpdesk people still out there, I can relate.
If it's outsourcable, it will be outsourced. Heck, my last job, they couldn't get things to South Asia (they actually had a director who did nothing else but outsource things), so they brought in the 'H1-B Brigade' to fill the jobs remaining here.

If you do something creative, that doesn't require rote-learning skills, you might have better luck. For a while, there was a preconception that overseas programmers were low-wage salarymen drones that were just used for making code modules, and all the razzle-dazzle was created in the West.

But I haven't programmed in ages, so I could be out of date on that.


_________________
anahl nathrak, uth vas bethude, doth yel dyenvey...


Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

01 Apr 2010, 6:50 am

Doing creative work is difficult and risky. If you can score hits, cash comes rolling in. Otherwise, you get nothing. Less than 1% of all programmers get to work at corporations like Adobe and Google who are known for their creative output. There are smaller outfits cashing in on mobile applications, but these guys tend to come and go. For most programmers, writing enterprise solutions is really what puts food on the table. If that is not available then being a programmer is no different from being a freelance writer. To take the analogy further, doing creative programming work is very much like aiming to be a bestselling author. It might happen, but would you really want to bet on it?



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

01 Apr 2010, 10:29 am

If you want to make money, you need to become more than just a programmer. You need to become a software engineer, which is something the masses from India have not perfected yet - they tend to specialize in following instructions given by other people, at least the ones from Bangalore. I've heard the skill level coming out of Hyderabad is better but I haven't been impressed with what I've personally seen. You need to become not just a Java developer, but the best Java developer in the world - one who can engineer a product from the ground up. Then you need to move into a position where you can delegate tasks to other people - a team lead, then a manager, etc.

If you're really, really good, you don't need to be intimidated by the market flood from India.



Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

01 Apr 2010, 8:05 pm

There will always be room for people who are the best at what they do, but what about the average person? Traditionally people have moved from coding to design because it is hard to imagine anyone who does not understand the inner workings of a programming language to come up with thoughtful designs. Since the specifications of any new system must be obtained from the users of the system, this part of the industry is unlikely to be outsourced to India. The cultural differences can make it difficult for noncitizens to garner the vital feedback needed to make many of these complex systems work. But if not enough young people enter the profession, then in ten years or so many corporations will probably have no choice but to rely on foreigners to design, code and implement their computer systems. I used to think that the computer programmers who complained about the Indian challenge were whiners, but I am beginning to see their cause of their angst. Even if the H1-B program was eliminated, they cannot win because it is entirely possible to work remotely these days.



peterd
Veteran
Veteran

User avatar

Joined: 25 Dec 2006
Age: 73
Gender: Male
Posts: 1,374

02 Apr 2010, 3:45 am

I've been programming primarily in Java for a decade or so now, and my feeling is that it's all a waste of time. The more Java I write, the more there is to be written.

Of course, that's not the whole problem. At the heart, it's the Oracle databases that hold the data I'm concerned about. If the data wasn't in there, then I wouldn't have to deal with Java data structures that map to the Oracle structures. If that wasn't so, I wouldn't have to create data structures that map user interfaces to the persistent structures. If the Java structures that support our user interfaces didn't exist, I wouldn't have to maintain the JSPs or JSFs that map to them.

What would I use instead? Well, I've had some small successes with XQuerys that generate HTML directly from XML data structures.



ValMikeSmith
Veteran
Veteran

User avatar

Joined: 18 May 2008
Age: 56
Gender: Male
Posts: 977
Location: Stranger in a strange land

02 Apr 2010, 10:53 am

I suggest writing code that actually WORKS (does a JOB).

I gave some silly examples in a post in jobs forum in the Information Technology
thread to explain a general concept. Summary: If you can write code for day trading
and test it for awhile and it makes a profit, just give it an account and watch the
account rise. Oversimplified, and probably a dumb idea, but it is consistent with
my general attitude toward computers and programming: THEY WORK FOR ME.

And...Microsoft code (only) "works" for Microsoft.



Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

02 Apr 2010, 8:05 pm

I take the same view towards computer programming in that I use the tools that I write. A trading algorithm however is what you might call a trivial non-trivial idea. It is non-trivial because it is extremely difficult to put together a sharp program that can compete with the best of the automated systems out there. But it is trivial because even after all that effort it can usually only be used for a limited period of time before some rival trumps it. Plus, because all automated systems are essentially used to sniff out short term fluctuations in prices and to profit from that, meaning that the gains and losses on any trade tends to be minute, you would need a large capital base to make the exertion meaningful. In other words this is not something that the individual should attempt.

The recent bout of bloodletting on Wall Street has actually hit the computer specialists hard. As computer programmers and systems analysts are costs and not revenue, when revenue declined they were let go en masse. It is sad and kind of unfair because many of these people are actually smarter than the traders/bankers that they work for. Getting into a good revenue position often requires connections which is why the poor, smart and driven people tend to move into quantitative or computer roles. New York is awash with Java experts who have deep experience but no way to deploy what they know. After all that hard work and exhausting learning, these folks find themselves sitting at home as part of the long term unemployed collecting unemployment checks and asking the question: where do they go from here?



ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 89
Gender: Male
Posts: 31,502
Location: New Jersey

03 Apr 2010, 7:56 am

Zeno wrote:
I take the same view towards computer programming in that I use the tools that I write. A trading algorithm however is what you might call a trivial non-trivial idea. It is non-trivial because it is extremely difficult to put together a sharp program that can compete with the best of the automated systems out there. But it is trivial because even after all that effort it can usually only be used for a limited period of time before some rival trumps it. Plus, because all automated systems are essentially used to sniff out short term fluctuations in prices and to profit from that, meaning that the gains and losses on any trade tends to be minute, you would need a large capital base to make the exertion meaningful. In other words this is not something that the individual should attempt.

The recent bout of bloodletting on Wall Street has actually hit the computer specialists hard. As computer programmers and systems analysts are costs and not revenue, when revenue declined they were let go en masse. It is sad and kind of unfair because many of these people are actually smarter than the traders/bankers that they work for. Getting into a good revenue position often requires connections which is why the poor, smart and driven people tend to move into quantitative or computer roles. New York is awash with Java experts who have deep experience but no way to deploy what they know. After all that hard work and exhausting learning, these folks find themselves sitting at home as part of the long term unemployed collecting unemployment checks and asking the question: where do they go from here?


Much of the technical work in bond trading, arbitraging and hedge instruments were done by people expert in probability theory, Markov Processes and martingales. So there is more than just programming ability. There is a lot of heavy math.

reveyn



Zeno
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 53
Gender: Male
Posts: 633
Location: Singapore

03 Apr 2010, 8:37 am

ruveyn wrote:
Much of the technical work in bond trading, arbitraging and hedge instruments were done by people expert in probability theory, Markov Processes and martingales. So there is more than just programming ability. There is a lot of heavy math.

reveyn


You do not need to know words like Brownian motion or any stochastic calculus to make use of the end result. 99.9% of the "experts" who bandy around plain vanilla Black Scholes to price an option have no idea what sort of intricate mathematics was needed to get to the final proof. If you look at the curriculum of an MSc in Financial Engineering for instance, you will see that the math is pretty much watered down but there is actually quite an emphasis on making sure that the student is at least proficient in VBA.

Although much of modern finance rides on the eureka-moments of a few towering geniuses, these breakthroughs are fleeting and rare. For most part, Wall Street is a place where very mundane things like gathering data and cleaning it up get done. Remember that however fantastic your analysis maybe, it all still depends on the quality of your data for garbage in still leads to garbage out.

Americans actually do not understand the nature of global intermediation and the romanticized view of Wall Street as the place where genius finds footing bears little relationship with the truth. Most people with a PhD in mathematics, physics or economics tend not to do very well on the trading floor. Anyone who believes that they destined to win because they are smart, are almost destined to fail.



ValMikeSmith
Veteran
Veteran

User avatar

Joined: 18 May 2008
Age: 56
Gender: Male
Posts: 977
Location: Stranger in a strange land

04 Apr 2010, 4:12 am

Forget the dumb financial examples I gave. The point is:

IF YOUR CODE IS WORTH ANYTHING AND IT "WORKS", RUN IT YOURSELF!

Or trade it for a handful of magic beans if you want.

IF YOUR CODE PLAYS GAMES, PUT A COIN SLOT ON THE MACHINE!



TallyMan
Veteran
Veteran

User avatar

Joined: 30 Mar 2008
Gender: Male
Posts: 40,061

04 Apr 2010, 5:39 am

ValMikeSmith wrote:
IF YOUR CODE PLAYS GAMES, PUT A COIN SLOT ON THE MACHINE!


That is so true. Over the years I've written lots of small programs for my own use. However, for the last few years when I've written something for myself I've also made it available on my web site as shareware for a nominal fee (via PayPal) and it has been surprising how much I've sold. Not enough to make me rich, but it pays for my web hosting and puts some extra cash in my pocket. It also helps to bring in enquiries from people wanting to pay for custom versions of the software.


_________________
I've left WP indefinitely.


ruveyn
Veteran
Veteran

User avatar

Joined: 21 Sep 2008
Age: 89
Gender: Male
Posts: 31,502
Location: New Jersey

04 Apr 2010, 8:13 am

Analysis and design of algorithms requires more brains and creativity than mere coding. One the algorithm is known, coding is a fairly routine exercise. There are occasional exceptions to this, but it is mostly true.

ruveyn



ValMikeSmith
Veteran
Veteran

User avatar

Joined: 18 May 2008
Age: 56
Gender: Male
Posts: 977
Location: Stranger in a strange land

04 Apr 2010, 3:11 pm

ruveyn wrote:
Analysis and design of algorithms requires more brains and creativity than mere coding. One the algorithm is known, coding is a fairly routine exercise. There are occasional exceptions to this, but it is mostly true.

ruveyn


Yeah, but that has mostly all been done already, more than you'll ever need.
(I never even thought of separating algorithm from code before now.)

Forget about the silly financial examples. (Meant as a concept.)

There have been algorithms for space travel for 41 years.
There have been game algorithms for about as long.
There have been books on algorithms for about as long.
There is free open source code for everything imaginable.
(except things like curing certain human diseases).

Google Don Lancaster ISMM.
He self publishes books on research he does on this topic,
which is generally related to MAKING CODE WORK FOR MONEY,
and his favorite Working code is in his own self-publishing Machine, I think.
(COMPUTER+PRINTER+BOOKBINDER)

A lot of his no-longer-current material is free to read online.