- work related
Jan
6
2008

I am looking for jobs in Boston

2 years, 2 months ago.

I am looking for jobs, again, after two fulfilling years in my last job and school.

Graduation Date: June 2008

Desired Location: Boston, MA

Desired Job Level: Entry or intermediate

Desired Job Titles: Web/Java/.Net (Application) Developer

Resume: resume.pdf

Interests: I am specialized on front-end web development and it’s also what brings me the most enjoyment. I have gained sound understanding of JavaScript frameworks, especially Dojo, during my internship at IBM. I would evaluate my skills on it to be at least intermediate to advanced. However, I can also take on many other development tasks and would like to gain concrete experience on them.

Technical Skills:

  • Proficiency in Java, C/C++, Python and C#.NET
  • JavaScript, Ajax, Dojo framework, XHTML, CSS, SVG/VML
  • PHP, JSP and Servlet, ASP.NET
  • MySQL, DB2, database in general; certified for DB2 LUW8.1
  • Graphics/Flash design and product prototyping; 3D Graphics, OpenGL
  • Software Engineering: Requirement Engineering, Interaction Design, and Design Patterns
  • Computation algorithms and complexity theories
  • Linux, Windows

“… I am specialized on front-end web development …”

General Skills:

(These are probably too common and provide little insight, but I’ll put them here anyways, since I don’t have to worry about the length of a blog entry)

  • Ability to work in teams or individually with minimum supervision
  • Ability to pick up new technologies and concepts quickly
  • Awareness of software development processes and models
  • Awareness of latest technology trends and directions
  • Good interpersonal communication skills, both written and verbal
  • Interests in user experience design; ability to work with details
Oct
27
2007

What’s next for me?

2 years, 4 months ago.

Bitten by a spider

My internship has saved my life. I was so confused about what to work on before it, now everything has been clear and unambiguous to me. I worked extensively on JavaScript, Ajax, advanced CSS, and complex JavaScript frameworks. Weird or not, after I came back to school, all those puzzling concepts I was frustrated at just solved themselves. Principles of operating system look so similar as those of JavaScript frameworks, and the reasons of design choices just became natural and making senses. It feels great and I feel I was bitten by the spider too, and I turned into a super hero over night.

The choices for me

With that confidence, overestimated or not, I would like to start digging deeper into Java or .NET. They would certainly stay popular for a longer time, if not always the most popular ones. The power and reliability of desktop applications are still way better than those of web applications. J2EE used to be one of the hottest technologies, now its extended language features and new graphic library can possibly bring it back to the competition of RIA again. On the other hand, the SilverLight, part of .NET 3.0 framework, is ambitious to rule out others. Although Microsoft has been criticized over the recent years for its “closeness”, Windows developers are nonetheless still highly desired by many mid-sized companies, for the unification and simplicity Windows platforms offering.

“… I feel I was bitten by the spider … and turned into a super hero over night.”

Work lying ahead

Picking up a new language quickly is nothing to brag about. Getting in-depth knowledge about the features of the frameworks and their advanced applications is the real catch. Although the frameworks share same philosophies in many aspects nowadays, I should at least be specialized in one of them and know the trade-offs made among similar components in other frameworks.

I guess I will go with Java first. C is a fun, flexible, and fast language, once I managed to figure out what are pointers and pointers to pointers, but it’s not that convenient to reuse existing code. C to the computer is so much like JavaScript to the browser, I enjoy working at lower level, but life is much easier to work with Dojo. C# is quite much like Java and Java5 is so much like C# too. An analogy here of the two could be the relationship between JavaScript and ActionScript, they share the same standard, but the DOM’s (Libraries) they operate on are different.

Feb
15
2007

Forever-long debate : J2EE or ASP.NET – For Developers

3 years, 0 months ago.

To J2EE or ASP.NET, is a question that any web developer would have asked. While I myself know neither the two too well, it is natural to think which one I should pick up first. Just like many php veterans, because working with Open Source technologies often means low pay, I am considering to get some extensive knowledge about commercial technologies.

At this point I actually already had some experience with both of the two frameworks. I learnt some JSP/Servlet in my Web Programming course, and for ASP.NET I’ve read through half of a book called “ASP.NET complete reference” on my own. Yet I haven’t reached to more advanced levels such as security, web service, or cluster deployment etc. So let me just write down some thoughts and comparisons between them as an entry-level developer, and see how the actual learning experience turns out later.

I will start by skipping the definitions of the two, but putting the links to their wiki page respecitively, since both of them claim hundreds of advantages by using multiple adjectives in their definitions, such as “super scalable, easy to maintain, ultra secure XXXXXX”.

Development Language

J2EE is built on J2SE so Java is the only language used in development, although a J2EE application can communicate with other applications language-independantly through web service. Java is the programming language I started with. Being leverage by many modern languages including .NET languages and JavaScript, it is one of the most essential computer languages that everyone should know about. And there are a large population of developers favoring it.

ASP.NET is a subset of the whole .NET framework therefore inheriting the merit of CLR(Common Language Runtime), which means users can develop ASP.NET in virtually any language like Microsoft’s own C#.NET, VB.NET, and third-party languages Python etc., as long as it can be compiled into CLR. By leverage many of Java’s successful features and architectures, .NET framework is able to start at a higher level. With many things like Properties, Generic Types, function delegates etc. that don’t exist in Java, it makes the code much cleaner and easier to maintain.

Availiability/Development Platform

Since J2EE is open source and running on cross-platform JRE(Java Runtime Environment), it natually gets more distribution potentials than its competitors. When an application is released, it’s possible to deploy it on Linux, Unix, Solaris, MainFrame machines, and of course Windows. As for developers, any platform on hand can do.

ASP.NET is plain simple, Windows. There are some tricks so that one can run .NET on linux, but that really adds much more overhead and complexity to the task.

Development Tools

For both there are full-featured IDEs( Integrated Development Environment) and their free versions.

Eclipse with its rich collection of plug-ins, fits for any developers to write full-featured J2EE applications. While its big brother, RAD( Rational Application Developer), built on top of the same architecture, provides much more task simplification functions that allows a quicker development and deployment cycle. However because they depend on JRE to run, the loading time sometimes intimidate me to open it if I just need to make small changes.

ASP.NET comes with quite a handful of free development tools too, namely Visual Studio 2005 Express Edition, which by name people can see it’s a subset of Visual Studio 2005. Frankly speaking I find Visual Studio is easier to use than Eclipse. I guess it mainly comes from its quick loading time, code segment folding, and autoformat/Intellisense etc.

Licence and cost

Individuals and even many startups usually cannot afford a WebSphere Application Server + AIX combo, but in many cases a Tomcat + Linux machine could survive for a few months too, which is just enough for learning the technology.

ASP.NET runs smoothly on any Windows machine with .NET 2.0 framework installed, at no extra cost, with no extra headaches.

Library Reference/API

Javadoc was the most well organized API, comparing to those for C, C++. It’s also the one that generates docs automatically from code comments. But I believe ASP.NET doc, integrated into MSDN, did a better job in guiding users solving tasks and understanding classes. It gives quite a lot of example codes in the API rather than just plain text descriptions, cause much less circular references and thus saved lots of hassles. Although at MSDN people has to drill down into the hierarchy to find APIs for a particular topic, and sometimes it takes quite a while to figure out precisely where the doc is at.

Salary/Compensation

Now let’s do a bit of comparison of salaries!

J2EE developers’ Average Salary is around $78K, with high end (architect, seniors) over $10K. quoted from http://www.indeed.com/salary?q1=j2ee+developer&l1

.NET developer’s Average Salary is around $73K, quoted from http://www.indeed.com/salary?q1=net+developer&l1

So J2EE developers do get paid a bit more, since from Enterprises’ perspective, J2EE is probably a more stable architecture and it’s almost being used in all mission critical systems in major banks, who invest billions to hire people administration J2EE servers and applications running on them.

Oct
28
2006

CASCON 2006 Partial Coverage – Part 2

3 years, 4 months ago.

Workshop 2 – Social Computing, Best Practices

By computing, I thought they were to introduce some “algorithms” for computing/collecting users’ online behaviours. However, it turned out to be a general discussion about current status of the web. Maybe I am too much a “practicalist”.

One thing I found I can brag about is that I could finally get ideas on most of the issues being discussed…even though they’re mostly well-known news, the who acquried who with billions stories. Because of that, I didn’t learn a lot new from it, except that YouTube’s copyright headache, (now forwarded to Google), might not be as fatal as I thought. Instead of suing online video sharing services, the media corps. tend to take the advantage to market themselves via these platforms.

After the point I heard this, there was nothing notably important.

Lunch Buffet

There is lunch buffet every day. Some people went there around noon just to get a free lunch. But I don’t like it at all.

Whatelse

There is actually a lot more interesting workshops. There was an all-day long hands-on AJAX tutorial, covered both the basics and Dojo toolkit. However, most workshops were about IBM products/technology/concepts. They had some really nice one-day hands-on tutorials on most IBM software products. The only problems is that when I tried to register, they were full! Hmmm….next time, if ever, I’ll be an early bird.

Oct
25
2006

CASCON 2006 Partial Coverage – Part 1

3 years, 4 months ago.

CASCON 2006 had spanned 4 days of last week and I was able to attend two workshops, out of some dozens.

Like any conferences, I found it not that a fascinating event, but yet there is always something new you would find useful or inspirational to hear about. I did.

Workshop 1 – Writing for the web

The workshop introduced audience some “facts” about online user behaviours and I found those are good matches of myself.

Some examples/facts from the workshop hand-out

Characteristics of Web Readers

  • Impatience
  • Lack of time and leisure
  • Purposefulness/Goal Orientation

Web users like

  • Facts
  • Well Designed sites

…dislike

  • Marketing/overly hyped language
  • Scrolling

How user approaches Web pages

  1. Flit from page to page, scan for content they found informative
  2. Scan in the page for microcontent (headers, titles, linktext, highlights, etc)
  3. Users scan in “E”/”F” patterns (focus on first few lines, eyeballing from left to right, then scroll down a bit and scan from left to right again)

A brief note

From these examples, we should have been able to summarize some useful techniques to facilitate readers’ scanning works.
For example I put a section title for each few paragraphs so that readers can briefly get an idea of what I’ve been covered. It’s not 100% effective but it would help.

Why should writers allow users to scan their articles (i.e. allowing users to bypass the “great entry I’ve written”)?

If you don’t provide readers a good scanning mechanism, they will skip the entire entry all together and move along. Again, users are “time-starved” (Gerry McGovern) and would not be loyal to every single entry you wrote.

User can “sniff out” the Scent of Information (Jared Pool)

This is the single most interesting term I’ve heard from the workshop. As user scan, they will stop at certain pages that they think has the “scent” they expected. Then as they drill down into each candidate pages, the pages that have “stronger scents” will be picked. However, if they lose the scent, they will go backwards (or quit).
It’s an abstract analog of how users find their information out of billions of pages, but you know what he is talking about once you hear it.

Some Sources

-End of Part 1-