- Filed under :
The year 2007 was a good one. The IT job market was stable. Mankind
got an iPhone. While there were not any revolutionary changes in the
way software was developed, I believe that this was a year of rich
Internet applications and Web 2.0. YouTube became a part of the lives
of millions of people around the world. A large portion of the
population visits use MySpace and Facebook daily. What's next? What
language/tool/technique to learn? What's the next big thing in IT? In
1. Java will remain strong in large
enterprises, but will continue losing ground as a development platform
for small businesses. J2EE is way too heavy, and scripting languages
and frameworks offer an alternative and productive way of software
development when the cost of development is more important than
performance and scalability. The LAMP platform will remain a preferable
way to develop applications for small to medium businesses.
popularity may go downhill. Since the first day this acronym was
created Iíve been writing that it's not a good choice for developing
enterprise applications. But the vast majority of the software world
was (and still is) marching the AJAX way. This time itís more of a hope
than a prediction that in 2008 people will realize that AJAX should
prettier. Expect to see the re-branding of some of the AJAX frameworks
into RIA or Web 2.0 solutions.
3. Speaking of Web 2.0Ö
Even though Web 2.0 was not officially defined, I think itís all about
giving more control to the users of the Web sites. The more interactive
a Web site is, the higher the number people will put in front of the
zero Ė 3.0, 4.0, and so on. Some people say that Web 3.0 is about
Semantic Web. If you bought a grill on Amazon.com, they can guess with
high probability that you might be shopping for rib-eye steaks. Check
it out the next time you visit the site. Itís all about control. From
the userís side and from the vendorís side. Weíll see more and more
interactive sites next year. While some people are planning to write
next-generation sophisticated software, others will come up with a very
simple, easy-to-implement but appealing business idea, and the next
20-year billionaire is born.
4. Flash Player will
remain the best deployment platform for rich Internet applications.
While Microsoft is trying to come up with a competitive delivering
platform for RIA, itís not going to happen in 2008. Silverlight 1.0 is
a good start, the next version (1.1) will be even better, but itíll
take time to release a product that can do more than streaming
5. Ruby on Rails will take a small share of
the market of small non-mission-critical Web applications. Convention
over configuration. Speed of development over performance. While Ruby
on Rails will not become a framework of choice, it has achieved a very
positive result Ė people have started to realize that not every project
has to be developed in either Java or .NET. Besides, RoR is a
well-designed framework that will become a good design sample for the
new frameworks of the future.
6. Internet video will
be booming and Iím not talking about YouTube. Internet Video will start
being a part of a number of enterprise applications. This process wonít
be fast, and you have an opportunity to be among the early adopters in
7. Outsourcing will gain more and more
ground despite the fact that itís very expensive and the project
failure rate is high. The reason is that the U.S. has almost stopped
producing software engineers. Itís just a matter of time before
everyone gets used to the fact that business software is made in India,
just like we all know that all toys (with or without lead) are made in
China. But innovation in software will still be happening in America. I
guess, thereís something in the air here. Re-read an old but valid
article by Paul Graham about why Silicon Valley canít be exported.
8. Apple - next
year Iíll finally purchase a MacBook Pro for myselfÖ if my Sony Vaio
will die. Even if it wonít die, having a two-year-old machine is a good
excuse for submitting a purchase order to my wife for approval. Peer
pressure, a cool design and the ability to run Windows (plan B),will
force me to ignore the high price.
9. Adobe Flex and AIR
- Flex will become the #1 tool for developing enterprise rich Internet
applications, and Iíll be seeing 10% fewer raised hands when asking an
audience, ďRaise your hand if you do not know what Flex is?Ē Adobe
AIRís adoption will be slow though. Or course, the shops that are
already sold on Flex will use it, and some AJAX developers will realize
that it may become a lifesaver for their applications, but thatís about
it. While being a well-designed and very promising technology (Flex,
in a disconnected mode, and full access to your PCís resources), it
may be perceived as yet another Web browser, which is a tough sell in
the enterprises. At least, become an early adopter. I will.
10. Telephony. If
2007 was the year of Skype, weíll see some interesting development in
this area. Skype is a great product, but it requires you to download
and install software. In the era of RIA, things can be done without it.
Watch the Ribbit phone software that will allow you to make calls and
receive e-mails just from your Web browser.
11. IT job market in the USA.
While weíve enjoyed a stable demand for IT professionals in 2007, it
wonít last and next year weíll see project freezes and even layoffs.
The reason is the burst of the real estate bubble. This will affect not
only those simple people who were brainwashed and decided that they
could have afforded an American dream. CEOs of major Wall Street
corporations are being fired after drowning their companies by getting
into bad mortgage debt. Among other things, the IT budget will be
severely cut. As you know, today on Wall Street, is tomorrow on Main
street. Use the training budget of your employer now if itís not too
late. Keep your skills up to date.
12. The hottest IT skills of 2008. When
the job market is tight, recruiters immediately increase the list of
skill requirements for job opennings. Youíll see job postings that
expect you to know a number of programming languages ranging from Cobol
to C++. Knowing just one hot tool does not cut it anymore. But if you
have limited time and need money, start by learning tools for
developing rich Internet applications. The skillset of a highly paid
Web developer, at a minimum, has to include the following skills:
communication skills. You do not have to really learn AJAX, but must
add AJAX keyword to your resume, otherwise you may not even get a job
13. The next big thing. Software development
will change to a wider use of code generators. Forget about heavy
frameworks, regardless of what programming language you use. In a
simple case, use some XML style sheets combined with the metadata that
describes your application objects to automatically generate the code
for these objects. On a larger scale, the entire application may be
described using metadata and XML, and an appropriate code generator
will do the job. So programming will change from writing tedious code
that requires lots of coders to describing the metadata and writing
custom code generators.
Happy New Year!
About Yakov Fain :
Yakov Fain, editor-in-chief of Flex Developer's Journal
(http://flex.sys-con.com), is a managing principal of Farata Systems,
consulting, training and product company. He has authored several Java
books, dozens of technical articles. SYS-CON Books released his latest
book, "Rich Internet Applications with Adobe Flex and Java: Secrets of
the Masters" in Spring 2007. Sun Microsystems has nominated and awarded
Yakov with the title Java Champion. He leads the Princeton Java Users
Group. Yakov teaches Java and Flex 2 part time at New York University.
He is an Adobe Certified Flex Instructor.
Keywords : Next language/tool/technique
with 0 comments
- Filed under :
Software development is a big investment, requiring a minimum of six figures and often far more. So why do so many companies throw away their investment? Why do they trash existing software and rewrite it from scratch? Why do they retire useful products?
Companies often make these painful decisions because their software has become too expensive to maintain. Over time, changes become more costly. Eventually, the cost is too high: the company has to retire the product or rewrite it.
Most teams don't think in terms of design debt and don't even try to pay back principle. If you have a project with an aggressive deadline, your team has almost certainly taken on design debt. It's already slowing them down, and in order to avoid missing deadlines, they'll take on more debt. The compound interest will eventually kill your investment.
Avoid the temptation to stop work and refactor for several weeks. Even the most disciplined team inadvertently takes on design debt, so eliminating debt needs to be an ongoing activity. Have your team get used to refactoring as part of their daily work.
Design debt is like credit card debt: it's easy, tempting, and leads to ruin if not paid off. Nearly every team can go faster by reducing design debt. Demand continuous design improvement from your teams. Support it by reducing schedule pressure and training your teams in advanced code-quality practices. The extra effort now will safeguard your investment for the future
Related Terminology : Design debt, successful sofware
with 0 comments
To start Extreme Programming (XP)
- Filed under :
The most obvious way to start
extreme programming (XP) is with a new project. Start out collecting user stories
and conducting spike solutions for things that seem risky. Spend only a few weeks
doing this. Then schedule a release planning meeting. Invite customers, developers, and managers to create a schedule
that everyone agrees on. Begin your iterative development with an iteration
planning meeting. Now you're started.
Usually projects come looking
for a new methodology like XP only after the project is in trouble. In this case the best way to start XP is to
take a good long look at your current software methodology and figure out what is slowing you down. Add XP to this
For example, if you find that
25% of the way through your development process your requirements specification becomes completely useless, then get together with your customers and write user stories instead.
If you are having a chronic
problem with changing requirements causing you to frequently recreate your schedule, then try a simpler and easier
release planning meeting every few iterations. (You will need user stories first though.) Try an iterative
style of development and the just in time style of planning of programming
If your biggest problem is
the number of bugs in production, then try automated acceptance tests. Use
this test suite for regression and validation testing.If your biggest problem is
integration bugs then try automated unit tests. Require all unit tests to pass
(100%) before any new code is released into the code repository.
Related Terminology : Agile methodologies, XP
with 0 comments
Current Page: 1