Search

musings of extofer

and his secret identity, Gabriel Villa

Category

List

10 Super Powers Developers, Designers, and DBAs should have

I would like to send a tweet telepathically. I would like to jump over datacenters with one leg. I would like to eat Cheetos© without orange fingers, cool my Mt. Dew© with my bare hands and warm my coffee by looking at it. These powers would be mine if I were bitten by a radiation-infected squirrel, or hit by meteor residue that was actually a piece of a planet from another universe. However, being a mere mortal, I have been forced to acquire my super powers in other ways as a professional in the field of software, web and database production.

I‘ve been developing software for over a decade and have worked in various industries. When I worked for a consulting firm, I quickly learned that I needed a well rounded skill set to be able to give a client what was needed at any moment. My skills are always being put to the test. Just last week I had to solve some problems that my superiors couldn’t. So now I wonder, would I have been hired if I lacked those skills? Would I have been promoted?
Every now and then I read an article listing the skill set every Information Technology professional should have. I’d like to share my own list of skills that I believe developers, designers and DBAs should have.


Know how to fix common PC problems. Since you are in IT, don’t be surprised when family, friends or coworkers ask you to fix their computers. Unless you prefer to wear the infamous “No, I will not fix your computer!” t-shirt, you don’t want to get caught with your pants down, not knowing how to map a drive or printer, edit a registry, configure email POP accounts, or clean out a virus. I believe anyone in the field, from Jr. Programmer to CTO of a corporation, would rather NOT put in a call to Systems Support to fix a minor PC problem.


Understand general systems administration. IT professionals should know basic networking, how to trace a network and run cable. Do you know what I mean when I say “White Orange, Orange, White Green, Blue, White Blue, Green, White Brown, Brown”? Can you to trace a route and analyze packets from one IP network to another? You need to understand basic networking to understand a trace, why IP numbers change, why it makes stops, and so on. Permissions are also important in that rights must be granted or revoked for files or data you could be programming for. You need to understand these underlying hardware and software components.



Write a script. Shell script, or batch programming as it’s also referred, is needed to be able to manipulate files and directories, and to perform other system operations. You don’t have to be a programmer to know your OS shell commands. Unix Shell, MS-DOS, and PowerShell are examples of interpreters that will execute scripts. Other scripting languages like AppleScript or Windows Scripting Host are interpreted by an engine other than the OS command line.

Create and test backups. This topic cannot be stressed enough and should be in two parts. First, implement source control. Source control is very important. It allows you to check versions in, and versions out, and it manages changes in your code. Some source control tools include Subversion, Git or Visual Source Safe. Second, be able to back up your files, and even your version control repositories. I have found it easy to use tools such as TeraCopy, Dropbox, or Allwaysync to back up synchronized versions of code or databases to other drives or even offsite disk space. In either case, always test your backups. If you don’t test backups periodically (I recommend once a month for each occurrence), you won’t know if the backups are complete or corrupt.


Train other developers, designers or DBAs. It is the opinion of many that “The Best Way to Learn is to Teach”. You should be able to take the time to explain the back-story of your work to others. Training forces you to increase your knowledge on certain topics. If you can explain something to others, then you really know it. There’s tremendous satisfaction in seeing your team, colleague or friend implement a concept you taught.



Contribute to the Open Source community. More and more, I see job postings with open source community requirements. My first thought is, “these are FOSS (Free and Open Source) companies requiring this”, but then, I’ve seen the same requirements in .NET jobs. Open source was once a subculture; now it’s a more of a mainstream obligation for a developer to share code, contribute to large projects, test and debug, publish documentation, and generally participate in the tradition. SourceForge was one of the first popular sites to host open source projects; along came CodePlex, Google Code, and GitHub, just to name a few.


Participate in social networking. Make social networking work for you, not against you. Define your personal brand and share that brand on Twitter and LinkedIn. Make connections with other professionals. Get the word out. See how Social Networking has worked for me.


Blog. Actively manuscript your knowledge or experience in an IT related weblog (blog). Share code, design ideas, database tips or other relative material. You are in IT, have a dot com (website) by your name. Become a resource.


Participate in online help. Don’t keep your knowledge to yourself; share the wealth that is your intelligence. Some of the best places to help others are forums such as StackOverflow and the MSDN forums. Another way of participating is to post questions to your social networks, for instance, the SQL Server Community. To post help questions to this community, use the #sqlhelp hash tag.


Do some public speaking. Start by attending user group meetings and speaking to your peers. I started with a 101 in a user group, then had abstracts selected to conferences. Get comfortable with a topic you know and get the nerve to make a presentation on it. You use all your super powers here – sharing source code, giving help, and training.


Wolverine
If you are not Wolverine or have Spidey-sense, use this guide to pinpoint and sharpen your skills. With these 10 superpowers under your belt, you should be ready and able to meet, and even enjoy, some of your own software, web, and database challenges.

My Favorite Free Dev tools for 2011

Attribution Some rights reserved by Vectorportal

The first time I laid eyes on code, it was HTML. With an account to Geocities, I wrote my first webpage by piecing together bits of code on Notepad. I wasn’t planning to write software for a living, although I was working in engineering at the time and had a degree in Mass Communications. I began to like the fact that I could write code and turn into something like a webpage. So I explored a bit more and found myself in the realm of MS QBASIC 4.5 then Visual Basic 5.0. I didn’t have many choices then for development tools, and for a while I limited myself to the tools Microsoft could provide from VB 5.0 to Visual Studio 6.0, Access, VBA and so on. When I explored the likes of Linux and Open Source, I knew there should be tools to use to develop at no cost.

Enter, present day. It is very possible to develop solutions at no cost, and even with a license to Visual Studio and SQL Server, I use these tools I’m sharing with you today and will continue through this new year.

Visual Studio Express I use Visual Studio and SQL Server on a daily basis, and my list is called “Free” Dev tools of 2010, You should be aware, Microsoft has a development studio with the basic IDE and lightweight development sets.

SQl Server Express Is the answer to data backend for Express applications. It provides basic data storage and lack the larger scale capabilities such as mirroring, server Agent, profiling and is limited to one physical processor.

ExamDiff Is a great tool to compare code files. It is very easy to use and comes very useful when working with various versions of code files. It compares almost any kind of code file and I have done this in for C#, Vb, XML, SQL, COBOL, HTML, PHP and more.

Notepad++ Is a daily must have. Like I mentioned, I have a soft spot for MS Notepad to jot down Quick and Dirty code, but Notepad++, does it with style. By style, I mean this source code editor has keyword recognition depending on the language you choose and has a component to execute your code in Win32 API and STL.

PowerShell When I first heard of PowerShell I though of MS-DOS on steroids. It’s now clear to me that PoSh is the answer to the many Linux Shells around. At version 2.0, it is growing as a popular scripting language used in conjunction with the .Net framework.

Firebug Is an awesome plugin to run (on Firefox for me) mostly for debugging JavaScript. It is the perfect too for web development, either ASP or PHP even Cold Fusion developers – yes I said ColdFusion, I heard about this tool from a CF Developer.

Drupal To me has been my Content Management System of choice for PHP sites. I can build an entire solution on Drupal, with mySQL of course. Drupal has a large variety of modules and themes, more so that other PHP CMS I’ve used.

Eclipse for PHP and Eclipse for JavaScript Web Developers I mentioned PHP a few times, I dabble in the code often, and although I’m more of a Microsoft Technologies developer, when I develop in PHP, I prefer this tool. Also, I include in this recommendation, the Eclipse environment for JavaScript, something I can use in both the ASP and PHP world. Eclipse has a variety of IDE’s to choose from, including Java and C++, but I mainly use the editor for PHP and JavaScript.

Python 2.7 Finally, a guilty pleasure I’ve had for the last year. Python hasn’t really gotten me out of a bind or has performed something in my job that I couldn’t accomplish in C#, but it has been proven to work well to teach programming or develop on Linux systems.

I wish I had read a list much like this 15 years back and had made my job a lot easier. To some, this might be a great list, to others, I’m open minded and would like to hear what free development tools you will be using in 2011. Happy New Year!

Bucket List

This morning I read Brent’s blog and I took a cue from his and the following bloggers that wrote a bucket list.
Brent Ozar (blog | twitter)
Sarah Sjolander (blog | twitter
Bob Pusateri a.k.a.@SQLBob (blog | twitter


This is good timing too, for I have settled in Colorado Springs now and am doing good in my new job. One of my goals, as you’ll see, has to do with my career… 


Land my Dream Job – programming for a firm that is flexible, cutting edge, stress free and casual with a fridge stocked with caffeinated drinks and pantry with snacks.


Here are my others:
Go to a World Series Game – Not this one, perhaps one with the Dodgers or Yankees
Visit Italy – My wife is part Italian, I’d love to take her visit her roots
Catch a record (or near record) breaking Bass
Write a Technical Book – not like I written a non technical book either
Travel the country in an RV – hopefully catch a big fish while traveling 
Have my wife and I take grandkids to Disney – still long ways, but its in my list


There it is.











Create a free website or blog at WordPress.com.

Up ↑

Design a site like this with WordPress.com
Get started