Alex is a Software Engineer working on Android development tools, especially Android Studio, at Google. His interests include Java, API design, OOP, IDEs and testing. Alex spends some of his spare time working on Open Source, blogging, writing technical articles, and speaking at international conferences. The opinions expressed here represent his own and not those of his employer. Alex is a DZone MVB and is not an employee of DZone and has posted 49 posts at DZone. You can read more from them at their website. View Full User Profile

Resolutions for 2010

01.06.2010
| 3701 views |
  • submit to reddit

As an attempt to document my plan for this year, the following are tech-related resolutions for 2010:

  1. Learn one or more programming languages.

    I spent most of 2009 working on FEST. Even though I learn a lot more about Swing, enjoyed writing clean and testable object-oriented code, and implemented many interesting features, all the development was done in Java. I think it’s time to learn a new language!

    My plan is to learn at most two languages. Like I mentioned in a previous post, I think that it takes a considerable amount of time and effort to learn a language well. I have worked in Java for quite some time, and I’d love not only to learn a new syntax, but also new programming concepts/paradigms. My intention is to learn Groovy and Scala.

    I wouldn’t want to learn these languages using simplistic exercises. I’d prefer to learn them by working on a non-trivial, useful project. In fact, my plan is to create alternative APIs for FEST-Swing using both Groovy and Scala.

  2. Refresh and increase my knowledge of algorithms.

    I have enjoyed studying design patterns and using them both at my day job and on my open source project. Needless to say, it was been a useful and rewarding experience. For one of my side-projects (and to become a better developer,) I’m going to need a deeper knowledge of algorithms, which are also patterns. I already started studying them. My resolution is to not break the chain.

  3. Finish and release the FEST record/playback tool.

    This tool will record user interactions with a Swing UI and generate FEST-Swing UI tests. The goal is to generate clean code, as if it was hand-written. This is something that I wanted to do since 2008, but I was too busy building the open source API. I started working on this project a few months ago. Progress has been slow but steady. I hope to have a preview in a couple of months.

    Many thanks to my good friends Andy Glover, Kirill Grouchnikov and Andres Almiray for their valuable feedback and advice :)

  4. Figure out a way to create a testing library for JavaFX.

    I’ve been working on a robot-based library for functional testing of JavaFX UIs, similar to FEST-Swing. At this moment I’m stuck. FEST-JavaFX needs to work with compiled JavaFX code, which is different to what we see in a JavaFX script. I have to deal with hierarchies of SGNodes, an implementation detail that can change at any time. It makes sense for what JavaFX tries to accomplish: to have same script executed on different devices. I think it’s time to ask my JavaFX-guru friends for help :)

  5. Create a domain-specific language (DSL) for testing UIs.

    The idea here is to create a simple DSL for writing functional UI tests. The target audience are QA engineers that do not know Java. I plan to explore Xtext to accomplish this task.

IMHO, it is an aggressive plan. I hope to be well-organized and focused enough to accomplish most of it :D

Feedback is always welcome! :)

From http://alexruiz.developerblogs.com

Published at DZone with permission of Alex Ruiz, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)