1 2 Previous Next


16 posts

Working together with Duke Award winner and Java Champion Fabiane Nardon and the also Duke Award Winner and NetBeans Dream Team member Sven Reimers I have presented talks that discusses the Future Java Developer, the most recent ones in JavaOne Brasil and JFokus.  Admittedly, we are not particularly visionaries, and our "future" is  pretty grounded on experience today. Although during the talk we make  some specific previsions, we're really not trying to foresee the far  future nor even debate the future of the Java Technology. The idea is to  look at what developers, specially the ones working with Java, can do  today, to prepare their own future. Here, I'd like to present some of  the main points of the talk.

Software development has always been an unique opportunity. It is what Malcolm Gladwell in his book "Outliers" calls Meaningful Work:  "work that is autonomous. Work that is complex, that occupies your  mind. And work where there is a relationship between effort and reward  -- for everything you put in, you get something out".

An important point about "meaningful work" that Gladwell makes is  that it takes time for someone to master. He presents research in  different fields -- music, computers, law, agriculture -- that correlate  10 thousand hours of doing a meaningful work, with being successful on  the specific area. Gladwell shows that those that put that many hours  are successful, and those that are successful, did put in that many  hours. Gladwell also discuss that there is no such thing as a "born"  genius, in short, the old saying "1% inspiration and 99% perspiration"  is not only true, but inevitable.

Preparing for the future means putting now enough of those 10k hours  in things that will allow you  to become better and relevant in the  future. With that in mind, software development gives us some  interesting benefits, that for lack of a better word, I'll call here  freedoms. Some are old freedoms, existing since software started to be  developed, some are more recent ones, that we are lucky to be right on  time to benefit from.

Freedom of Imagination


As  the Dilber cartoon says: "try to get this concept through your thick  skull: the software can do whatever [you] design it to do". Your  imagination is the limit. The lack of constraints make software  something hugely powerful, and extremely complex. As a corollary, get  through your thick skull that software development is hard, and it is  not going to become easy just because there is a new language, new  framework or new tool. In 1975 Edsger Dijkstra wrote  that "Programming is one of the most difficult branches of applied  mathematics; the poorer mathematicians had better remain pure  mathematicians." Got the idea of how hard it is? Developers that get  excited doing the hard things and that work on their freedom of  imagination will always be ahead of the pack.

Freedom to Run Anywhere

Java was not the first, but was the technology that popularized the  "run anywhere" idea. This is not a Java-only benefit: since the industry  broke free from the lock-in that developers had in the 90's, developers  learned that they can write software that runs in multiple  environments. Today, in one way or another, all development technologies  are trying to give you this freedom. Well, maybe not all... But this is  something that we should not "un-learn": do not let yourself become  tied to a single vendor or single platform. Choose technologies that  give you ample opportunities to experiment with multiple environments,  this is the only way to have now the freedom to experiment today with  things that will be valuable tomorrow, and also, to guarantee that, when  devices, platforms and vendors disappear, you don't get dragged into  the drain with them!

Run anywhere has another side that is as important: once a lot of the  code can run in multiple devices, manufacturers can create new devices  easier. We are seeing this trend with Android: by leveraging developers  knowledge and tools, and allowing (even if only to a certain extent)  developers to target multiple devices, it created a strong marketplace  that many vendors could participate. With most of the development  technologies targeting multiple platform, the future will bring even  more devices, and the opportunity will be open to those that keep their  freedom to run anywhere.

Freedom to Learn and Build


Open  source is a world changing phenomenon, and may be the most important  thing for software developers. Like Bart, repeat 10 thousand times,  "Open Source is good for me, I'll fully embrace it". It is, and you  should. If you plan to reach 10k hours of software development, you need  to work on software that you are excited to work on, that you are  passionate about. And if you want to be ready for the future, you need  to be able to learn from what exists and build on other's work, and  build with others, and have others building on what you did. If the  future is built on what you helped build, you will be in the right spot  when the future happens, you'll be making it!

Open source has many other advantages, for companies and governments,  and users. But no one benefits more then the developer. The sooner you  realize this, the sooner you'll learn to value your freedom to learn and  build.

Freedom to Work Anywhere (and with Anyone)


Work from anywhere is a lifestyle  that will become more common as time goes by. This has many  implications, the most obvious one is that you can choose a great place  to live at, and this is not something to ignore. But there is the other  side of it: if you need to put 10k hours in something, it needs to be  something you like, and chances are, that the best people doing whatever  is that you like will not be seating in the next cubicle. Working from  anywhere works both ways, for you and the people you're working with. To  work with the best people, work with them no matter where they are:  they will not move to your area just because. So, choose what you want  to work on, you can work on anything from anywhere with anyone, at least  when we're talking about software development. That also means you need  to cope with working with people that are far away from you, be it  physically, culturally, financially, linguistically or whatever. Respect  that. Free yourself from the constraints of the work place, pursue your  freedom to work from anywhere and with anyone, it will open big  opportunities.

Freedom from Hardware

Recently there is some buzz about the 3D printing thing, how it will  turn manufacturing on its head. Imagine, you need to manufacture  something, and you don't need to worry about building a manufacture  plant to do it, all you need is your ideas and design capabilities.  Won't this be amazing? Yes it will. But if you're a software developer  this is true today! Any idea you have, you don't need to  buy/order/install/build a datacenter: you have all the machines you  need, 5 minutes away. Dozens of cloud providers are doing the behind the  scenes work, all you need is a good idea, and your code. Oh, remember  the multi-platform thing we said earlier? Yep, it is valid for cloud  too: make sure you don't get stuck to one of those guys, so choose  smartly how you go about it. Of course this is not without it's issues,  there are many. But the freedom to test, implement, grow and even throw  away your ideas is already changing software development. And if you  think cloud computing is the same old thing of having a server  co-located somewhere, you really need to go play with it right now. Free your ideas from hardware constrains, it takes time, so start now.

The future is your future...

As you can see, those possibilities are all true today. But,  realistically, they are not the day to day reality of most developers.  But it can be yours. So, what about the future? The future has more and  more developers benefiting from those freedoms, and that means, more  ideas being able to see the light of day, more open source to learn and  build from, more devices and vendors to run the code that is developed,  more people working together from different places.

Yes, that does means there will be more challenges: we'll need more  code able to run concurrently for one. We'll need to benefit from the  multi-core machines that are showing up. Our frameworks will need to  support cloud environments. And yes, languages will show up that will  benefit from those things better than the languages that exist today,  and there will be new frameworks and abstractions that will allow us to  be more productive on this environment. None of that is news: this is  the development world. Remember, software development is complex, and no  matter how the vendors try to put it, it is not about to become any  simpler.

There will be a huge amount of developers coming from development  countries like the BRIC (Brazil, Russia, India, China) and others  (Africa, Indonesia...), that will have access to more learning because  of open source, more chances because of cloud computing, and more jobs  because of remote work. Software development will be more inclusive,  because those freedoms will give more developers the opportunity to make  their 10k hours, and join in. More developers means more ideas, more  devices, more frameworks, more languages, more communities, and more  open source. Software development is a mixture of engineering and art,  and more artists can only be a good thing!

So, in short: to survive the future: learn to deploy in the cloud,  while keeping your vendor and platform independence. Learn to work with  people from multiple cultures, joining the open source revolution, so  you become a better developer and a more connected one. From open  source, learn to build on top of what others built, and to develop  simple solutions so others can build on top of what you do. Think of  services, cloud will provide that, and the new connected devices will  require it. Neal Ford talks about the "Polyglot Programmer", because "applications of the future will take advantage of the polyglot nature of the language world." Become one!

And, finally, what if you're a Java developer? You're on the right  track. You understand the importance of multi-platform and standards.  Java is one of the most important language for open source software, and  Java's most important features are themselves open source, so you'll be  at ease there. Java is also the main focus of the cloud providers and  Java software like Hadoop form the backbone of many cloud environments.  Most cloud frameworks are done in or directly support Java. Not to  mention that all of the important cool new languages that are being  talked about run on top of the JavaVM and integrate well with your Java  libraries and knowledge.

In the end, what matters is your passion: to prepare for the future,  choose something you're excited about, consider the cloud, build it as  and with open source software, join in or attract people from anywhere.  Keep your independence. You'll do great!


This article is crosposted to my personal blog at http://jav.mn/futurejd.



My... Preciousss! Blog

Posted by brunos Jan 13, 2011


My personal site is being updated... Or actually, redone... I wanted to do this for some time, the new domain exists for over a year. The old site was really  outdated. The design was copied in the past century from the Sun  intranet site, the graphics came from a friend that is today an  acclaimed designer, but at the time was still learning. The site used a  series of Velocity templates and Ant scripts to generate HTML and then  upload it. Once I lost the whole thing years ago on a bad laptop crash,  the site stayed, stale and aging... Time to move on!

Even this java.net blog needs some recovering... I haven't posted for ages...

Since I just passed 1000 followers on twitter (@brjavaman),  this is a good time to launch my new site and resurrect this blog. And to encourage  people to learn about the site and come back to the blog, I'll give away one of the precious  items of my personal Java items collection: a brand new JavaRing,  from the batch that was saved from JavaOne 1998. It is a collector's  item, still on the plastic bag it came on, with the instructions manual.  The batteries are supposed to run for 10 years, probably out by now,  but this should not diminish it's charm.


Want to run for it? Here is the deal: when I get to 1123 followers (just a cool number...), I'll randomly (probably via sorteie.me)  choose someone that is following me to get the JavaRing. It needs to be  a person: if it is a list or group, a magazine or a company, I'll  choose someone else. One last thing: since it will be Campus Party next  week, the sooner I'll run the draft is Friday, January 21st. If we reach  the 1123 mark before that, we'll just have to wait...

You can help out that the 1123 mark arrives sooner rather then later:  I'll twit some Java tips everyday, and you can RT them. That way, we  can promote Java and get to your JavaRing faster! Point people to jav.mn/javaring so they know what to do!

So, welcome (again) to my little space on the Internet!


The birth of a Community Blog

Posted by brunos Jan 19, 2009
This week I'm participating of Campus Party, an Internet and multimedia show-party-hack-a-ton-craziness that is happening for the second time in Brazil. Campus Party is a 24 hours, 7 days event, that merges software, internet, music, culture, talks, booths and of course, tents and very little sleep. The main focus of the event is sharing: knowledge, pictures, music, information, fun. The event is just starting, and you can see some pictures here.

I'm helping organize the Software Livre track, where we'll have lots of talks about many open source technologies, including Java and Open Solaris. It is great to be with good friends, organizing a cool event!

One gratifying experience happened today, to get the event starting with full force: leaders from OpenSolaris User Groups of all parts of Brazil met for a few hours, to discuss the status of the community, and plan for future joint activities. They also shared their experiences, and difficulties, and lots of technical discussions. It is always gratifying to see a User Group start, with passionate people, with lots of energy. It is even more special to see User Groups joining together to share experiences, and work together.

What reminds me that last week several JUGs in the US started the JUG USA organization. I'll just take the time here to congratulate them, and wish the new organization lots of success. Associations of User Groups like JUG USA, the Worldwide JUGs Community, efforts like the meetings JUGs in Brazil did for so long, and of course, this newly started OpenSolaris User Groups discussions that just happened here at Campus Party add a new level of organization to those groups, and help them understand that they are not alone, and that they are an important force to change and evolve the technology they advocate.

What else is going on on Campus Party that I'm interested in? I'll participate in lots of copyright discussions, and I already had loads of fun with puppets today. The event is just starting, but it is all set to be a great one!

Thank you music industry! Blog

Posted by brunos Jan 12, 2009
Tangkuban Perahu is an active volcano near Bandung, in the west part of the Java island, Indonesia. Its last eruption was in 1983, and since then, there has been warnings about possible new activity. It is a very impressive place, with high stone walls and constant steam coming out from its crater. When you bathe on the hot spring waters on the side of Tangkuban Perahu, you feel a tiny bit of the power of the volcano. But Tangkuban Perahu is a very accessible place, and is the only volcano in more then 350 active Indonesian volcanos that you can just drive all the way to the crater. Amazing power, but with simplicity. NetBeans is a Java IDE, that combines amazing power, with simplicity. We just released NetBeans 6, and it is very good. The new editor infrastructure gives you a lot of productivity literally at your fingertips. Integrated JEE, JME, Profiler. Ruby support. All build on top of the NetBeans Platform, that lets you extend the IDE, or even create a totally new application on top of it. Once you're in the Java island, it is very easy to go visit Tangkuban Perahu, so don't miss if you ever have the opportunity. I was there, talking about NetBeans in the top of the Java island. And once you're a Java developer, it is very easy to try out NetBeans. So, take it for a spin, the download is a lot faster then a flight to Indonesia! And it is free. As in beer. But it is also "bebas" (freedom in Indonesian) - NetBeans 6 is distributed under the GPL and CDDL licenses. Many thanks to all of the developers that made such a great tool. The Sun engineers, the external contributors, the many translators and module developers. Also, the NetCAT team that is hunting for bugs and the NetBeans Dream Team that has participated a lot in many ways. And the many others that are part of this thriving community: NetBeans users, the web team, article writers, book writers, the NetBeans Magazine, the NetBeans TV, the NetBeans and Java User Groups, the NetBeans evangelists. Wow! Congratulations to all of you: it is a pleasure to be part of such a strong, active community. volcano3_lg.jpg And here, a small video with some other images of me and Juggy on the top of the Java Island:

Late Holiday Picture Blog

Posted by brunos Dec 29, 2006
I enjoy submitting pictures of Duke for the yearly java.net "Holiday Pictures" article.  But this year, I missed the deadline, and when I noticed, the article was already up. Oh well, maybe next year... But then, I received a gorgeous onyx Penguin as a Christmas gift from my cousin and godchild, Clara. Even late, I just had to post this nice family shot that Duke, Juggy and Tux made me take in front of the Christmas tree. They look great together, and with the full OpenJDK due in just a few months, I think 2007 will be the year those guys become inseparable friends. FamilyPicture_xmas2006.jpg That 2007 be a year that we can work together, bringing a better world to all. And if what we do don't look like much, that at least we have fun doing our best, and that we can open the way so others can follow and build on what we did. My best wishes to you and your family.

Moving to NetBeans Blog

Posted by brunos Nov 30, 2006
Date: April 9, 2005. Location: Pirenopolis, a small city in the center of Brazil. In a bucolic countryside, hours away from any major urban area, with cold waterfalls and butterflies using our hats as landing pads. Clumsy trying to climb our way trough this beautiful landscape, employees from companies like Sun and IBM; professors of some of Brazil's largest universities; hackers from Kaffe, Javali, Debian; directors of important organizations like Apache, JCP and SouJava. What would such a bunch of geeks be talking about in this far away land? We had just came out of a large packed two day technical Java and Open Source conference, Caf

Filter Blog

By date: