DevExpress Newsletter 3: Message from the CTO

ctodx
03 June 2009

Here's the Message from the CTO from the third DevExpress newsletter:

One of the banes of our industry is that there is no real, universally accepted, professional certification. As a consequence, we bandy around terms like expertise, craftsmanship, pragmatism, and the like, to try and elevate what we do to a level where we can call ourselves professionals.

However, I think there's one area we don't try very hard to be craftsmen: in general, we don't purchase our own tools. The tools for a professional developer run the gamut from the hardware we use (our PCs, in essence, but it can also cover buying our own keyboards and mice), to the extra software we use to create the applications.

I've been a proponent of buying my own PCs for years (I get what I want, not what the company decides), but I'm also a fan of purchasing my own software. If X helps me do my job better and faster, but the company balks at it, then I'll just go ahead and buy it. It's all part of being a craftsman: you make sure you have the toolset that makes you professional. Plus, you can take it with you to your next position and you have continuity.

Take your career into your own hands: spend some money on yourself.

Any comments? What do you think?

30 comment(s)
Colin Mackay
Colin Mackay

Indeed - For many years I've used my own keyboard and pointing device (i.e. generally not a mouse).

Taking software with me may be a little more difficult. If the company is a large blue chip or government body then even the developers PCs will be locked down to some extent.

I'm lucky in my present job that I have admin rights over my own PC so I can install the tools I need (such as CodeRush) to make my job easier.

3 June, 2009
Steve Sharkey
Steve Sharkey

This kind of depends - if by tools you mean CodeRush and Refactor etc then I agree where the company you work for permits and do so myself. Of course component suites are a different "kettle of fish" since I could develop an organisations new software package then take my components when I leave for another job and they are left without the means to continue development of their software (short of purchasing the same component suite). This would also mean that a company could "inadvertantly" have to subscribe to a hundred and one component suites. I have been in organisations like this where an employee suddenly decides to develop in Delphi (and C#) where the existing skill base was VB.NET (VB6) what does the company do when that person leaves? Train up another employee or do they have to employ someone with the expanded skill set?

4 June, 2009
Daniel Rieck
Daniel Rieck

I did buy CodeRush for myself, which worked fine. Until the 2009.1 update messed up the installer, which now requires that CodeRush and the components are installed under the same account. Please fix that (issue S32485).

4 June, 2009
Anonymous
Claudio Piffer

Hi Julian,

I agree with you at 100%!!

Best Regards

Claudio

4 June, 2009
Anonymous
wil4pres

I agree with buying your own tools, codrush being an example of helpful tools.  I have a friend how is in construction, guess what, he has to BRING HIS OWN TOOLS.  The company doesnt supply him with hammers, tape, etc etc.  I have several tools i use with SQL, Code, XML, Requirement gathering, etc all bought with MY money.  I just like to develop faster and better and if i have to spend money on my craft so be it.

4 June, 2009
Jim Clay
Jim Clay

I'm lucky in a way.  I am the IT department; the network admin, the purchaser, the developer and I oversee the accounting.  So, I get to buy all of the servers and PCs and define what I want and need (within reason of course).  I even built my own work station a year and a half ago, because there was nothing out there that was reasonable that had what I wanted.  I still do on occassion use my own software and/or hardware, if it is something that I purchase for side work and find that it helps me at the office too.

The downside of having so many functional responsibilities is that sometimes I have to focus on too many things and am unable to complete somethings the way I feel they should be.  A lot of the things I do have to be "Just Good Enough", which can really get to me after a while!

4 June, 2009
Anonymous
Michael Murphy

I totally agree in developers purchasing their own PC and software tools for many reasons, even as a developer for a state government agency.

Business's though do not allow this to happen, even though, after awhile they are supporting many different kinds of PC setup's and functionality.

For example I can go and buy a $1100 ready-made PC, configure like I want and put the software on it that makes me more productive.  I have no idea why this does not work in government except to say they need to spend money.

Many products that I get are "freeola's" because I attended a convention or conference, so it cheaper for me to do this versus any business or government entity

Since I control what is on it, I will become famuliar with what the frameworks, etc can do and when a change happens, I will know what happens and why, so I can adjust to the new software issues.

Good luck in changing how IT Directors think, because their thinking is considered the right way.  

Note: I have totally accepted that putting a PC on a network may mean accepting a companies group policy setup and security restrictions.  this is never a reason for us programmers not to get their own PC.

4 June, 2009
Anonymous
Chuck

Unfortunately, too many companies have policies that prevent consultants, contractors, or employees from attaching their own hardware to the network, or downloading or installing software onto company PCs.

4 June, 2009
Anonymous
wekempf

I've yet to work at a place where I could use my own PC (peripherals such as keyboards and mice are a different story). It's also usually not possible to use your own software (either the OS is locked down, which though a bad idea for a developer machine it still happens, or there's corporate policies against installing software). I think for most people this advice will be useless.

4 June, 2009
Anonymous
Dave Friedel

While I agree, you will find it increasing difficult to really promote buying your own tools since (control) companies insist on doing maintenance agreements for things like bugs; instead of features.  I am not sure about others, but I have already spent well over $20K in licenses over the years and to expect developers to do this - seems like we are shifting the responsiblity from the company to the developer.  If the controls were really like tools (a hammer) which can be used for years - it would be different BUT it is the (control) companies which need to change first.

4 June, 2009
Anonymous
Todd Bagley

I have to disagree with the analogy.  Although inventive, it really doesn't apply to developers in a broad sense.  First, If the measure of being a professional is the tools I own, count me out.  Ask the "professional" mechanics in hoc to Snap-On and Maco how it works out for them.   Investing my income in tools whose use only serves to bolster the income of my employer isn't in my plans.  From the employer perspective, how do you propose they ensure licensing compliance?  Choosing to pay for the tools used in the development of its products is a relatively inexpensive way for a company to protect itself and its property.

4 June, 2009
Anonymous
John Davies

Two jobs ago, I did embedded ARM code for an electricity meter. So I needed and ARM compiler, JTAG, and RTOS. The next job was writing both sides of the USB communication between a power supply and a PC. That requires USB licensing and a program to generate USB drivers. Currently I'm working in C# on a PC. This requires Visual Studio.

At each job, I required very specialized tools to complete the assignment. Buying them for myself would have been a total waste of money since I'll probably never use them again. Or if I do, I'll need the current generation of the tools.

4 June, 2009
Anonymous
Jason Short

I agree entirely.  Everything from working ergonomics (if the company won't pay for you to be comfortable you should be willing to do it on your own), to your productivity tools.  

I have purchased add ons for Visual Studio to boost my productivity for a very long time.  I did usually try to talk the company into adopting them as a standard for everyone, but if they wouldn't then I would use it on my own equipment.

Components are a little different, you can't use them in a tool unless it is just for you personally.  Otherwise you have a license problem when you leave the client / company.

4 June, 2009
Anonymous
Tom Walters

Great analogy about the tradesman and tools. But it's just that an analogy. In reality things become alot more complex in a larger company. Especially one with a greater need for security. Where did that refactoring tool come from? Friendly nation or foe? Does that new script editor come with phone home capability? Personally I believe that unless an employer approves the tool that will be used on their hardware, software and network it shouldn't be there. Period.

4 June, 2009
Anonymous
John

I didn't buy the desktop computer I use at work or the monitors but I bought the keyboard and mouse.

I also tend to buy the software that is within my means if my company won't. My purchase of Code Rush and Refactor Pro were with my own money. I've also purchased other development tools as well and pay the maintenance myself.

I've purchased over the last 12 years four different laptops I use daily at work.

If something makes my job easier and me feel more productive I'm all over buying it regardless of my companies desire to repay me.

4 June, 2009
Anonymous
Tony Nguyen

It's indeed great when you can get your own tools. But then it creates the situation like my company having. Nothing is standard; and when you work in teams, you cannot do that.

Getting your own tool only work great when you are your own team.

4 June, 2009
Anonymous
Dean Draper

If your company will not pony up, they it is something you can consider doing to improve your performance.  

The cost of coders is so high that any efficiency improvement will pay for itself in months, if not weeks.  The higher the pay the higher the RIO.   If you can make that argument work, you have a value driven manager.  Many managers are price driven and are only thinking one move ahead.

This is a very hard case to make to upper management.  It is hard to spend even more on your already painfully expensive coding staff.  In my case, I had to buy code rush out of pocket.         I have been pushing the concept of efficiency to the senior management team so that when the next request comes they will not be so tight.  When things get done fast, I point out the fact and the causes.  They need to understand where value come from and the RIO proposition at a gut level.

4 June, 2009
Anonymous
RAV

I disagree with the CTO's statement.  My goal is definitely to be a craftsmen, but I would not buy the tools I need if my company balked at the idea, and the reason is, I need my company to appreciate the craftsmanship that is being generated by the tools.  If the company doesn't understand or care about the craftsmanship the tool is providing, there are bigger problems that need to be addressed, or the priority for the company might be different, in which case the tool is not necessary

4 June, 2009
Anonymous
Alain

Hi Julian.

Talking about buy our PC, which is the configuration, that DX recomends to develop on VS 2008 + DX 9.x ??

How is configure the hardware of DX R&D guys.

Regards

4 June, 2009
David Gipson
David Gipson

You made me smile. I struggled and floundered until I swallowed hard and purchased my DevExpress suite. As a one man shop this is truly a great "tool" just like a mechanics toolbox. My father (an old auto service manager) used to tell me he could "judge a mechanic by the quality of his tools." And so it is with us as well.

4 June, 2009
Anonymous
S. Gryphon

I agree on the tools suggestion. Working as a contractor I have purchased personal copies of refactoring and other tools in the past, especially before basic refactoring was included in Visual Studio (I mostly work with .NET).

On Professional Certification. Are you a member of a professional society, e.g. the ACM or IEEE Computer Society, or another professional organisation?

The IEEE has a Certified Software Development Professional exam (www2.computer.org/.../certification).

Similarly, the ACM is one of the constituent societies of the Institute for Certification of Computing Professionals (ICCP). The ICCP was founded in 1973.

Doctors, accountants, engineers, and even software engineers don't just "become certified" - you have to join and support a professional organisation first.

So, if not already a member, join the ACM or IEEE Computer Society, and then study and sit for your certification exams.

4 June, 2009
Anonymous
Alec

I can understand the principle/desire to bypass a company's reluctance to purchase - particularly in today's economy - but many development toolsets have pretty restrictive licences; developer vs enterprise and server runtimes, etc.  If you move on and take your toolkit with you, you're also taking the licence entitlements, which can leave the ex-employer in the lurch legally.

I would rather that companies committed fully to supporting their employees in oing the job the comany have employed them to do in the first place, and that includes investing in the equipment and software that employee needs.

Also, if you commit to buying your own stuff, make very sure you have 2 copies of a written agreement with the employing comany of your entire inventory - all hardware and every licence package you personally purchase, otherwise you could find yourself in a legal quagmire when you try to take it with you.

5 June, 2009
Anonymous
Karl R

Sadly, we do not have such an option.  As part of a huge international organisation we had to fight hard to get admininstration access to our machines.  Recently a large audit highlighted all software that the corporation didn't have licenses for...and we were told to remove it or be disciplined!

Presenting legitimate licenses that individuals had purchased (in my case about 5 items) was not accepted.  The company views software purchased by individuals as not licensed (and the company only purchases software that is centrally approved and justified!)

My advice would be to ensure that your company policy allows it - I've lost a lot of money this way!

5 June, 2009
Martin Wallace
Martin Wallace

You raise an interesting point.  However, restrictive licensing often prohibits one from doing this.  If I purchase DevExpress components myself and use them in a company’s application would you let that company continue to develop against them when I moved on and took the license with me?

I suspect not - and the same is true of many other tools/libraries.

The other problem is that in many companies the hardware and OS are so locked down that introducing your own tools would be nigh on impossible.

Finally - and probably the hardest hurdle to overcome - is that we don't work in isolation - we work in teams where other developers have to maintain the code we work on.  In many instances we could be introducing dependencies that would require further licensing and training costs, or maintenance nightmares.

When a carpenter crafts a piece of furniture using his own tools he is creating a completed item - once finished it will be functional and complete.  Applications are living things, and need to be supported and worked on, often over many years and by many people.

5 June, 2009
Mike DePouw SIF
Mike DePouw SIF

I like that... good point.

5 June, 2009
Anonymous
Scott Hurlbert

The analogy to a craftsman is not perfect.   There are too many eco systems to supply your own tools at the control level, particularly for a consultant or a contractor.  Is this client using SQL Server or Oracle or...   One project is DevExpress, the next is Infragistics, the next is something else and the next is native controls, the one after that is web based.   I agree with the other comments that when it comes to tools that enhance the devevn then we should get our own, when it comes to the dev stack, that needs to be paid for by the appropriate party - either the client, the dev, or some blend.

5 June, 2009
Mike Schuch_1
Mike Schuch_1

Wow, what an incredibly short sited view of what it takes to manage technology.

Hmmm... imagine a 1000 user company where everyone had their own specific mix of hardware.  Now imaging the same company where each employee bought their own set of software.  As if systems support isn't dificult enough when everyone has identicle hardware and software?

We have a name for people with this mentality in the organizations I have worked in... "Ex-Employees"!

5 June, 2009
Kevin White
Kevin White

I am also the entire IT department so I have a certain amount of freedom. But I doubt that most large organizations would ever allow that kind of freedom where developers purchase and use their own tools. What a nightmare that would be for the System Admins etc.

I think what needs to happen is that organizations need to understand that developers need to buy certain software tools and within reason grant those purchases without a lot of grief.

6 June, 2009
Peter Hearn
Peter Hearn

We employ lots of craftsmen at our furniture company, and they do indeed buy their own tools.  This stops them being lost and ensures that each man gets what he needs to complete his bit of the process.

However, with software the tool vendors generally only sell you a handle or a blade which you have to put together yourself - or more often a handle to fit someone else's blade.  Consequently, you have to mess about with your "tools" for some time to get them to work, and just as you do along comes the blade or handle vendor and puts another one on your bench one night whilst you were sleeping.  Next day you get to spend time figuring out what's better about the new bit, and of course some hours pass as you try to get the old one off and fit the new one.  Inevitably it doesn't fit, but you remember with regret the time the blade flew off their previous handle just when you were swinging it full tilt, so getting the new handle in somehow is a must.  Of course, overnight your bench supplier, Microbench, have "patched" your working platform and now ten other tools which we fine yesterday are now no longer working, so that's the rest of the day spent fixing them and not getting the job done...

It's a good job the real world doesn't [generally] work the same way as software development, though quite a few governments do.

7 June, 2009
Nigel Parslow
Nigel Parslow

Yes, good idea, but how does the licensing work when developing for different companies?

8 June, 2009

Please login or register to post comments.