Editorials

Skills You are Going to Need

SSWUGtv
With Stephen Wynkoop
In today’s edition of SSWUGtv, Steve interviews Paul Zikopoulos. Wach as Steve discusses Querying big data stores and declaritive languages for working with big data. Hear IBM’s new approaches and ideas…
Watch the Show

Skills You are Going to Need
Today, in response to an Email from Srini I am brainstorming on skills that are necessary to have a successful software development career.

Srini Writes:
I’m into testing as a fresher .

I want to make my career good..i like sql 😉 plz give me suggestions what to make my career!

Here are some of my thoughts…and I sincerely hope we get a couple well thought out additions to these, or even criticisms if I have missed the mark.

1) You must become powerful in the command of the English language. Frankly, as a native English speaking individual, I should be embarrassed. My grammar is poor. In fact, I contribute to SSWUG as an ongoing effort to improve my grammar and communication skills. I have repeatedly had my work edited by an Indian colleague who has suprior grammar to mine.

Why do I say English is essential? This is primarily a current trend, and may well change in the next decade. But, right now, a great deal of software development is created in the English language. Much of the work done, I would guess (I have no statistics to back this up), is by individuals who speak many languages; English is not their primary tongue. For software develoopers, it is an equalizer.

2) You must learn to communicate. This is really different than the first point. I have worked with many people over the years who were intelligent. But they could not communicate. As a result they were, quite simply, an impediment to getting work done.This point is a whole book in itself.

3) You need to focus on skills that are transferrable, regardless of the product or tool being utilized:

  • If you are into canned software implementations, learn the process of implementing off the shelf software solutions…not just a specific tool. 20 years ago SAP was a must have, and people were writing their own ticket if they could do SAP installations. Then PeopleSoft took off. Two years ago BI tools were all the rage. Today it is Big Data and the Cloud. So, learn the tools; while you’re at it, learn how to evaluate, learn and deploy new tools…because whatever tool you’re working with today will be obsolete soon.
  • If you are into software development you will most likely be using object oriented programming tools at some point. So, LEARN SOFTWARE DEVELOPMENT PATTERNS and PRINCIPLES. Patterns as demonstrated by the GangOfFour are transferrable to any language. Software development principals are also tool agnostic. Learn the acronym SOLID, go look it up on Wikipedia and understand what they mean.
  • Learn software development techniques such as Change management, version control, remote development, continuous build and integration, collaboration, testing, etc.
  • Learn software development methodologies. They all work, and are fairly equivalent in a success/failure measurement ratio. Waterfall is older and prevalent. Agile is newer (a little over a decade) and more flexible.

4) The truth is that you can’t do most of these completely on your own. Learning software development patterns don’t really make sense until you are creating something requiring a specific pattern to solve a problem. So, when you are looking for an employer, you are looking for a place to exercise your personal learning agenda while benefiting your employer.

5) Take responsibility for your own career. You must dedicate personal time for the rest of your life to learning on your own.

6) Learn to network. Blog. Join online communities. Contribute to online knowledge base. Become a part of an open systems project. Don’t be afraid to be called out if you get something wrong because YOU WILL. Be humble and correct your mistakes…you’ll learn more that way anyway. Follow tech forums with questions and see if you can find the answers for the questions you don’t already know how to answer. If you do know the answer, then respond with your help.

As you blog or write on forums, do not use texting shortcuts (smileys are ok in that they enhance communication). But, texting shortcuts do not communicate with all readers; so don’t cut yourself short.

7) Once you have done all of the above, you may as well go ahead and get the certifications. But they are meaningless to me for someone who has only a year or two of experience. Most employers are more intelligent than that.

In summary

  • Software development is becoming a distributed, global pool of individuals. Learn how to work in this environment
  • Learn techniques, processes and patterns
  • Learn how to network with humility. We have all been beginners at one time, and nobody knows everything
  • The most valuable thing you can do is predict what it will take to do something. So, learn how to consistently re-produce that thing that you do so well

Well, I did run on and on here now, didn’t I. So, correct me where I’m wrong, and fill in the gaps I left out by sending your thoughts to btaylor@sswug.org.

Cheers,

Ben

$$SWYNK$$

Featured Article(s)
Keeping Your SQL Server HIPAA Compliant
What is HIPAA/HITECH and how does it affect your data collection/management? What can organizations that are concerned with HIPAA compliance do to keep their SQL Server compliant?

Featured White Paper(s)
All-At-Once Operations
Written by Itzik Ben-Gan with SolidQ

SQL supports a concept called all-at-onc… (read more)