Friday, April 30, 2010

Does Security Trump Safety?

Does security trump safety? We had the fire drill a few weeks ago in the offices in Pune and after taking 8 minutes to exit were berated by whoever organized it that if it was a real fire and we weren't out in 2 minutes we'd all be dead.

In the evenings I always walk down the stairs from the 8th floor instead of the elevator (I take the elevator so rarely that I feel dizzy when it's descending), and this evening on my way out was no different. Except I got to the door to the stairwell, one of the few emergency exits, and it was padlocked shut!

I pointed it out to the watchman and he dug around in the drawer behind the desk and took about two minutes to find the key and get the door open for me.

What if there'd been a real fire? And there'd been 100-200 people panicking, packing the lobby tight and trying to get through there and it took two minutes to find the key? Or would we simply rely on the standard, poor quality construction in India for the crowd to easily smash the door?

Wednesday, April 21, 2010

Caught or Catched?

Yeah, I know English, and not too bad, either.

Yesterday at work I was pair programming with a young teammate and we banged out some Java code like this:

try {
doSomething();
} catch (Exception e) {
processException();
}

And she was describing the flow while we were debugging to figure out why something wasn't working and she said "the exception should be catched here" and I automatically said "caught" and she said "sorry, caught".

But thinking about it a little more...

Maybe catched is okay. In this case, catch is a Java keyword that coincides with an English word. And describing what it's doing it could very well be that catched is a proper description of a keyword expressed in English.

For sure, if we wrote "caught" in the code it wouldn't compile...

Thursday, April 15, 2010

The Job Hunt Begins

So, on the weekend I was looking at Craigslist for software jobs in the New York City area and found an interesting looking one for Ruby on Rails developers. I've tinkered with Ruby on Rails, but am nowhere close to an expert (especially as the Head First Ruby on Rails book had so many blank pages, thanks to cheap Indian editions...).

But I figured I have enough experience with enough different technologies that it's no problem, if I can convince an interviewer that I can learn, I really can. It worked at Tieto... I hadn't done Java before I went for the interview, so I studied up for a week in advance. Then when I met with Jit and Binny, they wanted experience with JUnit and unit testing. I told them I hadn't used it before and asked for a week to learn before doing the 3-hour pair programming exercise with Jit, then went home and spent the week waking up early to write unit tests...

So, Sunday evening, and Monday I rushed to finally prepare my resume so I could send it before I was too late. I'm not entirely happy with all parts of it yet, but it was better than it was.

Tuesday evening I got an email from the job recruiter saying he was interested, but had to work out with his team how to do an interview, since he has to interview everyone first, which I certainly understand. He suggested Skype.

So, I signed up for a Skype account, as I've never used it before. I tested it out on my Mac and it worked. I called the test line, recorded a message and when Skype played it back I sounded like me. Unfortunately, some asshole already took the account kevinrubin so I had to settle for one with my middle initial kevinhrubin. I'll probably forget it and keep trying to log in as my usual account name.

Wednesday evening I got an email from the recruiter that the job was already filled, but he'd keep my resume on file.

So, my new job search is off to a start. This evening I was browsing around LinkedIn to see what sort of job search facilities it has. Looks like some possible ways. A cousin, Nitu, suggested Monster, but just going to their page is a bit overwhelming, and it knows I'm in India so all the searches I tried so far return Indian results, even if I specify New York, then it gives things like New York Met Life, but still jobs located in India.

Anyway, here's a draft of my resume... I'm, of course, still working on it and only recently realised I should work in something about continuous integration...

And it also dawned on me that the two other developers at my first job mentioned, way back then, that they went to high school with one of my readers now, as they knew of the OIT connection at the time...

Kevin H. Rubin



Telephone: +91 98903-66613

Email: kevinrubin@gmail.com

Skype: kevinhrubin



Areas of Accomplishment:


Design

Excellent knowledge of computers with a “big-picture” focus. Can successfully analyze a project and deduce necessary steps for project completion.

Adaptation

Readily able to learn new material and troubleshoot problems. Quickly absorb new programming topics and easily achieve senior-level ability with some documentation and a few examples.

Software Development

Expertise in Java, C/C++, SQL, Adobe Flex, C#, Visual Basic.NET and Assembly Language. Developed web applications using Java Servlets, JSP, ASP, Spring and Hibernate.

Experienced at domain modeling, easily able to structure data to match “real world” needs and queries within a program.


Exposure to Ruby, Python, Groovy, Perl, Objective-C and other languages.

Team Building

Skilled at working with groups, formalizing design problems and understanding parts to complete the whole. Great communication skills with co-workers, supervisors and customers.

Systems

Many years of experience managing and developing software on computers and networks using Windows XP, 2000, NT and 98, Linux, Mac OS X, MS-DOS, OS/2 and Novell Netware.



Work History:


TietoEnator Software Technologies Pvt. Ltd.

Pune, India

June 2007 - Present

Software Development – Working on an Agile / Extreme Programming team developing an SOA Java Mortgage Origination System for U.K. lenders using


Java with Spring and Hibernate, built using Maven and Ant. Integrated with IBM ILOG JRules, Oracle AquaLogic BPM, Windward AutoTag document production, Atlassian Crowd. Front-ends developed with Adobe Flex and Tieto's proprietary MCP platform.


All development is done with pair programming and test driven design using TestNG.


As the most senior developer on the team in India, I develop code as well as guide the younger developers and troubleshoot any issues with the development environment.


First Insight

Pune, India

Beaverton, Oregon

September 1997-May 2007

Software Development – Worked on nearly all of First Insight’s products on a variety of platforms: Java, Java Servlets, JSPs, ASP, C, Visual Basic.NET, Microsoft SQL Server, MySQL and FileMaker Pro. Developed software for medical billing, accounting, financial reporting, electronic medical records, and patient scheduling as well as system tools to allow other programs access to that data.


Software Testing –Involved with testing nearly all of First Insight’s products, including modules I’ve written as well as those developed by others.


Technical Support – Provided technical phone support for the maximEyes product for hundreds of customers. Performed troubleshooting, training and custom programming directly on customers’ systems.


Network Administration – Administered First Insight’s Windows NT network. Assist other network administrators as needed, especially in developing UNIX shell scripts to perform specific tasks for our few UNIX servers.

PC-Kwik

Beaverton, Oregon

September 1993-January 1997

Technical Support – Supported a wide range of performance enhancement utilities under DOS, Windows 3.1 and Windows 95. Worked closely with customers and coworkers of all skill and experience levels, from complete beginners to advanced system designers, by phone, fax and email.


Software Testing – Worked with engineers, marketers and customers to test PC-Kwik’s utility and development tools in four categories: bugs, compatibility, usability and performance. Coordinated external beta testing for the CD-ROM Express product.


Software Development – Wrote and maintained PC-Kwik’s 16-bit DOS and Windows Installation, Setup, Uninstall and Configuration software in a combination of C and Assembly Language.


Network Administration – Kept a small Novell Netware LAN running reliably.


Technical Documentation – Edited and wrote parts of PC-Kwik’s user manuals.


Sales and Marketing – Talked to potential customers who had technical questions about PC-Kwik software and helped the Marketing department sell the software. Maintained the PC-Kwik Web page.


Maynard Rigby and Associates
Portland, Oregon

June 1992-March 1993

Developed, maintained and supported custom C and BASIC applications to expand and enhance Platinum and Macola accounting software, using Btrieve Record Manager on DOS/Novell networks.


Linn-Benton Community College
Waldport, Oregon

1984-1987

Classroom assistant for Linn-Benton Community College adult education courses. Assisted beginning BASIC programming students with computers.


Waldport, Oregon Area

1983-1987

Helped local residents, schools and small businesses assemble and install personal computer systems, developed small custom applications and tutored users on software use.


Education:

Oregon Institute of Technology

1987-1992


Coursework in software engineering.


Waldport High School

1982-1987


Other





US Citizen




Tuesday, April 6, 2010

Big Company vs. Small Company

Recently a bunch of new trainees joined Tieto in India, fresh out of college. They go through a three month training period where they get to experience a variety of technologies (.NET, Java, etc), tools and software development roles (programmer, QA, etc.). Towards the end of the three month period this time someone must've had them all write a post in a company blog. This one caught my interest:

I joined Tieto on 15 Dec 2009. I always dreamed to work in a big company like Tieto. The most important thing I had seen here is respect for all employess, all the senior level people are really supportive and helpful. One more thing I like most is the open culture concept which I never seen before. We enjoyed the first month of training which is most interactive with the seniors. They shared their experience and thoughts. They gave us the confidence that you are lucky because you are at right place at right time. In Tieto sky is the limit to our growth….

Not long before reading that we had some training on the new HR tool for annual performance reviews and personal goal setting and what-not and that had me thinking about my own career growth, and how I'm glad I spent my younger, junior years in smaller companies before joining a big company, like Tieto.

Tieto has around 16,000-17,000 employees, and more employees alone in the Weikfield office here in Pune than all my previous employers put together. My first company, Maynard Rigby & Associates had as many as 8 people when I worked there, followed by PC-Kwik that had around 60-70 when I first started and shrank down to around 10 before going out of business and then my previous employer, First Insight, which had 13 or 14 when I started and up to 150 at the height of the dot-com boom (and I never knew what all the people did, I think some were just filling job titles to satisfy the venture capitalists).

At the smaller companies I had a lot more opportunities to try different job roles, different responsibilities and to learn more about what I enjoyed, what I was good at and what I was terrible at. Whereas at a bigger company I don't see as much chance for skipping all around to explore.

At Maynard Rigby, I was a junior software engineer, and I worked on C and BASIC coding, I talked to customers almost every day. As the youngest, least experienced programmer, I was doing the least critical programming tasks so that meant I was also given responsibility for most of the IT work, I maintained the Novell Netware network, I ran the fax computer, I fixed everyone else's computers when they didn't work right, wrote documentation for our customers and got to experiment with any new technology to evaluate if we could use it.

MRA also gave me a chance to be a receptionist and answer the phone, take packages to a nearby post office, meet whoever came in the door, sign for packages and write big checks for C.O.D. deliveries (the biggest was for an expensive software suite at over $100,000).

On the really downside, though, at Maynard Rigby we had a strict dress code. The guys all had to wear suits and ties on a daily basis. The loophole I found was the dress code didn't specify shoes, so I wore my Converse high-tops with my suit (although I did keep dress shoes in the office so the others wouldn't be too terribly embarrassed if we all went out for lunch...). The boss said "you can't write accounting software unless you look like an accountant." The only one who didn't have a dress code was Angie, and that was because the boss said he didn't need to tell her how to dress, she knew better than the rest of us.

Then at PC-Kwik I was hired as a technical support guy for our system software. It didn't take long for QA tasks to be given to the tech support team to do "between calls". And as we shrank I picked up responsibility for the Novell Netware network (including getting filthy and covered in fiberglass insulation carrying cables through the ceiling...) and maintaining almost all of the office's computers. That includes physically carrying them wherever they needed to go, instead of a laborer to do that.

Shrinking further I picked up more formal QA and started doing development on non-core parts of our products, mainly based on my directly talking to customers and knowing what their main problems were. Eventually when we came out with a new product, the ill-fated CD-ROM Express, I also got involved with writing the manual.

After PC-Kwik went out of business I joined First Insight, also as a technical support specialist. And it didn't take long before I was doing custom programming for customers and doing development on the product that was mostly what the engineers said couldn't be done, editing technical manuals and documents and naturally, network administration before finally burning out with tech support and moving full-time to the engineering department and volunteering to pick up the data modeling and SQL development. Over the ten years at First Insight I got to work on many, many modules and almost all of the products we made, with a variety of tools and languages (well, ok, I used C and C# when I was told over and over again to use the company standard Visual Basic, but hey, that's some of the variety).

Of course, now at Tieto, within our own Origination Suite project we're all Agile, part of which involves all developers owning all parts of the application and all the code, which gives some variety. I really, really enjoy this project, but it's a big company, there's no way I could easily switch over to .NET if I wanted to try it, or get involved with the network administration without having to give up work on Origination. Very few people actually do multiple roles at once, everything is segmented.

And a big company has much more bureaucracy than small ones. Getting anything is a pain in the butt at Tieto. Our team determined the developers could be more productive with two computers each, and it took over a month to get the IT department to get them to us. Lots of paperwork, follow-ups with the IT department, with 20 digit ticket numbers, multiple managers having to sign off on it.

Compared with at First Insight when one day I told my boss, "Nitin, I could be more productive if I had a 17-inch monitor." After work he drove to a nearby computer store, bought one and the next morning I carried it up from his car to my desk.

Looking back on my career so far, I think PC-Kwik and the Origination Suite project at Tieto have been the most fun. First Insight might've been, except I stayed till I reached the burn-out point, which overshadowed the years I enjoyed. Working at Maynard Rigby was an experience I'm glad I had, but glad it's over and glad none of my other employers have been quite like that.

On the other hand, quite a number of the people I worked with in tech support at PC-Kwik are dead, from cancer and vehicular accidents. The odds don't look good for me.



As an aside... Of all the trainees' blog posts, the one that really stuck out the most was this one:
When I started playing the game it was just 6 plots of land with some strawberries and eggplant and 2 plots left unsowed…. Since then my farm has grow in all directions.With trees, buildings, animals, decorations spread all across my farm…
Not a single day goes by without visiting my farm…
Day and night logging in and out to check if there’s something posted on the wall,any animal to be adopted , any bonus shared , any help needed by the neighbours…(even though I don’t know that person in real life!!! :) )
Its all about reaching to the next level,earning XP’s,coins and staying ahead of all.The addiction reaches to the next level when there’s free access to the internet at work !!! :) .All I can say that i am loving it here!!!(“Its too goood :) ”)

Actually, I wrote back to that young woman and suggested that while I'm not suggesting she not play and enjoy FarmVille, and that I'm not her manager, this post might not be the best, the most professional way of "introducing" herself to the full 16,000+ people around the world who may be readers of the blog... And that in my opinion, the office internet isn't "free access" it's earned by getting work done.