Get Involved in the Dallas, TX Dev Community

I wish I could say it surprises me when I learn that a large group of developers has not been active in the dev community, but it doesn’t. I still stand on my soap box and attempt to change their behavior.

To my friends in the Dallas, Texas area – this should be an excellent start.

Networking is always good – and this is an excellent way to get free training every month at the monthly meetups. The local conferences are great too – and you can normally send someone for two days of training for $200-$500.

 

User Groups:

Dallas .NET User group: http://www.ddnug.net/

Dallas C# Special Interest Group http://www.dallas-csharp-sig.com/

Dallas ASP.NET User Group http://www.dallasasp.net/

^^^^ NOTE: Syncfusion is providing a copy of Essential Studio for ASP.NET to everyone who attends this meeting ($995 value).

 

Events:

Tuesday, July 22, 2014 (CST) – Windows Phone and Windows 8 Workshop (FREE)

Friday, August 15, 2014 (CST) – Tulsa TechFest 2014

Friday, September 26, 2014 (CST) – Little Rock TechFest

Friday, October 10, 2014 (CST) – Dallas TechFest 2014 <<< (SAVE THE DATE)

 

Go to a meeting once a month. A conference once a year. No excuses.

 

-a

 

Advertisements

RACI Building 101

What is a RACI?

As part of the ITIL process, a RACI is a model used to determine responsibility of tasks.
R – Responsible (person who performs the actual work)
A – Accountable (person who has the final accountability- like Highlander – there can be only one)
C – Consulted (people who are consulted and taken advice from before and during the task)
I – Informed (people who are informed AFTER the task is completed)

Getting Started
I built my RACI model in Excel 2013. You can use whatever program or napkin you are comfortable with.

Resources
Determine what resources you want to include in your RACI. I used the organizational chart for our IT group. I color coded the resources by role (Director, Manager and Employee) to make it easier to read and showed contractors with a “c” above their name.

Categories
How you gather and categorize your tasks will depend on your company. I gathered high level tasks from the group then took that list and created categories to fit everything into. I ended up with two main sections: Services Administration and Services Groups.

Services Administration contained tasks everyone does regardless of group:
Communications
Management
Projects
Reporting
Suppliers
Training
Travel
 

Services Groups contains standard groups or departments:
Applications
End User Services
Infrastructure
Network
Planning
Telecom

Tasks
Once you have determined the high level categories, you can sort your tasks to fit within those groups. For example, the “Network” category could have the following tasks:

RACI
Once you have built the structure, the easy part is filling in the RACI. Your finished RACI should look something like this:

What All This Info Means
A RACI Model is a very useful tool, whether it be for one project or for everyday tasks. Once you have the model established, your team can easily reference it to see what resource to go to for what tasks. It can also be used to determine duplication of efforts and gaps among roles. It is an excellent way to chart your job descriptions and make changes as tasks are added/moved.
 

I hope this helps. Happy RACI building! Feel free to send me a tweet if you want the generic template.
 

cheers,
 

-a

Lomangino Award Winning Chili


Back in February 2013 we had a Chili Cook-off here at work and The Lomangino’s won first place with our Cuban Chili. A bit off topic for me, but people have asked me for the recipe so often since then that I decided to just post it on my blog.

Enjoy!

Lomangino Chili

Ingredients
2tbls vegetable oil
1 medium white onion minced or purée
1 green bell pepper diced
1 poblano pepper roasted and diced
1/2 jalapeño diced
4 habanero peppers crushes
2 oz chilli powder
3tbs minced garlic
1 tsp onion powder
1 tsp garlic powder
1/8 cup cayenne pepper
2lbs ground pork
1 lb ground round
1 lb mild Italian sausage uncased
1 40oz can of red kidney beans drained
2 15oz cans black beans drained and rinsed
1 can northern beans
2 tbs basil
Kosher salt
Black pepper
Crushed red pepper
2 tbsp Ground Cumin
2 cans Red Gold tomatoes and chilli. Hot
2 cans Rotel tomatoes And chillis
2 cups of white vinegar
2 tbs corn starch or masa flour
3tbs paprika

Place vegetable oil, onions and peppers in large pot and sauté.

While vegetables sauté, roast poblano pepper until skin is almost black. Remove stem and seeds then dice. Place the peppers in the pot with other vegetables.

Begin to add meats 1 pound at a time and brown. Do not allow meats to become well-done. It is crucial that you mash the meats to pulverize them as they cook to separate any large clumps. While meats are browning add powdered spices.

Do not drain.

Stir seasoning thoroughly into meat. The slurry should be a consistent reddish hue.

Add tomato cans. Do not drain.
Add garlic

Lower heat to medium.

Add the beans, habanero peppers and vinegar.

Bring to a boil then either lower heat to simmer for a few hours or place in a crock pot on low for a few hours.

Serve with bananas or fried ripe plantains.

cheers,

-a

Annual Reviews – Knock It Out of the Park


The Game

I recently had a conversation regarding scoring of annual reviews. It was said that the description of “Meets Expectations” is that you are a professional ball player and you are hitting runs and pitching strikes everyday like you should be, because you are a professional. The source went on to state that “Exceeds Expectations” means that you are hitting home runs every day, getting cheers from the stands, etc.

I agree and disagree with this, but let’s just keep the baseball in it. This is how I would do it:

Rating

Description

My thoughts on your work

Co-workers thoughts

Baseball

5

Superior Performance

There is no box. You consistently deliver and astonish me every time.

They are all baffled as to why you haven’t moved up yet.

You belong in the baseball hall of fame.

4

Exceeds Expectations

You do things as well as I would have done them. You go the extra mile.

They see your work and look up to you. They ask you for help and guidance.

You are a great player. People are wearing your jersey.

3

Meets Expectations

You do what I hired you to do.

They know you do your job and deserve to be there.

You play the game and are a team player.

2

Needs Improvement

I wonder if you were really qualified for the job. I have to watch you too closely.

They think you will eventually be weeded out.

We’re sending you to the minors.

1

Poor Performance

I think I made a wrong decision hiring you and am thinking about letting you go.

Nobody wants to work with you. You are the weakest link and they know it.

You should have never been a baseball player.

 

Coaches – Play the Same Game and Be Coaches

It is not fair if one manager is harder on his/her employees than the other managers. Review the table above or make your own. Make sure you are all on the same page prior to filling out your reviews. In addition, proactively review this with your direct reports every year so that they completely understand your expectations.

When you sit down with a direct report for an annual review, have a plan for the next year to accompany it.

  • Clearly Defined Goals along with your expectations
  • Updated Job Description
  • Training Plan including roadmap technologies for the next year

Don’t just be their boss – be their mentor. When your employees succeed, you succeed. Help them do it.

If your next raise was solely dependent on reviews from your employees, would you treat them differently?

Players – Own the Crowd and Bring Your Game

Be the kid that always gets picked during dodge ball. Make people want to be on your team. Be the guy/girl that gets stuff done and mentors others. Be passionate about what you do. If you have something to complain about, bring a plan to fix it and be prepared to own that plan.

Don’t stroll into your annual review unprepared and spend the entire hour being defensive of you work. Where’s your offense? Have your goals printed out with comments on how you exceeded their expectations.

I keep a list of achievements up to date in case someone asks what I have done for them lately.

I also keep a list of training that I have completed, whether it be on my own time or theirs.

Documenting your achievements will make them clear to everyone and give you a view into your own performance that you may not have seen before.

 

What We’ve Learned

As managers we need to discuss reviews with our peers, make our expectations known to our employees and help our employees succeed.

As employees we need to realize that everyone could possibly have input to our reviews. Our customers, our direct reports, other managers. Make sure that if someone asked you “What have you done for us lately?” that you could hand them a long list.

Now play ball!

 

cheers,

-a

Building an IT Communication Plan

I’ve heard the complaint so many times from the business. IT doesn’t communicate what we are doing. Or we don’t do it right. Or not fast enough. Or not often enough. A plan for communicating with your customers is essential for any company, large or small. More times than not, IT Communications don’t fall into the lap of a Communications Director. Though it often takes a back burner, we own it.

When Do You Communicate

Before you focus on anything else, your first question should be when do you communicate? From an Operations perspective, you can narrow down notifications to Planned Maintenance, Emergency Maintenance, Unplanned Outage and Email Outage.

Your notifications may be different depending on your business. If ops can be narrowed down to four types, covering Network, Applications, Datacenter and Telecom, you should be able to keep your notification types down to half a dozen or less regardless of your business.

How Do You Communicate

What channels do you have to communicate with your business/customers?

Start with creating a matrix. List notifications that you send out and how you send them. After reviewing it in this view, you may find that you quickly change your plan.

Note that AMG Alerts is a mass alert tool that can be used to send out text messages to corporate cell phones to let them know about an outage (especially useful for email outages). Some additional channels that you may use could be newsletters, twitter – or god forbid – Facebook. It really just depends on your business and what methods make it easy to reach your customers.

Who Do You Communicate With

Be sure to keep potential growth in mind when defining communication groups to use for your distribution lists. Your goal, if you are not already there should be for your lists to be maintenance free. Your users/customers should be able to “opt-in” and edit their own information. We should always know who our customers are and what they want to see.

Large Corporation

Small Business

Define your distribution lists

For Tier 1 & Tier 2 Applications

By Product/Services

How are your lists updated?

Company site or 3rd party site for internal users (AMG Alerts, etc.)

Join Mailing list from company site

Link on all messages to edit preferences

Link on all messages to edit preferences

What Do You Say?

Standardize your templates. The templates should use identical branding and design. A template should be created for each notification type listed in your communication matrix and the structure should be the same for each message.

Don’t Waste Their Time. When sending out a notification to your business customer, ask yourself what you are trying to say and why they care. Don’t bore them with unnecessary details – give them the information they need and a link to details.

Give Them a Voice. All messages should include contact information. Whether it be the number to your Service Desk, your email address or a comment section on your blog. Don’t make them feel that they cannot reach out to you.

What We’ve Learned

Know when you communicate, how you communicate, who you communicate with and what to say. Listen to your customers. Find out what they care about and when they want to hear from you.

Remember there is a fine line between not communicating enough and spamming your business/customers.

cheers,

-a

Training: Don’t Become That Grumpy Mainframe Guy

The Story

About ten years ago I worked for a Japanese company as a SQL DBA. There was this mainframe developer in his early 50’s that sat in the corner, never talked to anyone and smoked about three packs of camels a day. He just growled at people every once in a while. I saw him once on the highway, driving a beat up old car, two hands on the steering wheel and a cigarette hanging from his mouth – looking straight ahead. Smoke surrounded his head and the window was shut. It reminded me of the wicked witch in Oz – riding on her broom – looking straight ahead with a determined scowl. Then one day, he spoke. We were both walking out the back door of the office at the same time. It was pouring rain outside. He opened the door, stopped, looked up and said “Fucking Wonderful.” At that moment (after I chuckled), I thought to myself, I don’t want to be that guy. 

So how do you become that guy? You work for 30 years for a company that makes no technical advancements. You don’t attend training. You don’t go to conferences. You stay grumpy and quiet buried in mainframe libraries day after day.

He was too far gone. There is hope for some of you.

Manage Your Own Skillset

I often mentor young developers and when I hear them say things like “they won’t send me to training”, it makes me want to buy them a Wrox book and hit them in the head with it – but I don’t. I tell them the story of the grumpy mainframe programmer. I tell them they should invest in their career. Read a book. Go to a conference. Do an online lab on a technology you are interested in. Watch a webcast. Read an article. Join a user group. Do something. Anything. Once a week – and that they will be a better developer for it.

I urge them to do a skill matrix on themselves. Take a look at this matrix and grade yourself on the fundamentals. I bet most will realize they aren’t as well rounded as they thought they were. I have a similar technical matrix I used for my developers that told me who knew what. When I had an issue for an application written in C#, I could see who was the strongest in C# and give it to them. Or better yet – I would give it to the VB.NET guy and tell my C# guy to teach him.

Point is – programming is a craft, not a job. Don’t rely on your employer to groom you – and for that matter – if they are not supportive of improving your skills – find an employer that is. Manage your own skillset. An hour a week. One Saturday class. A conference a year. No excuses.

Resources to Get You Started

www.pluralsight.com

http://techbus.safaribooksonline.com/

http://technet.microsoft.com/en-us/virtuallabs/bb467605.aspx

www.codepalousa.com

http://codestock.org/

http://madexpo.us/

If this blog post gets one more person to attend a conference or join a user group, it’s worth it.

cheers,

-a

Hackers Go Back To Basics

(Moved from my old blog – attended 3/12/13)

This morning I got out of bed at a disturbing hour to attend “Combating Emerging Threats in Information Security” by David Kennedy at Crave, a new resturant at the Banks in Cincinnnati.

Not being a security expert nor in a specialized security role, I was curious what the latest buzz was on security and learned a few things. It was a great session.

Back To Basics
More and more companies are becoming services based, including mine. We have outsourced everything and we have no more worker bees. We have only managers and above on staff, spending our days managing suppliers and buying new tools to pass off to those suppliers. It seems we are not the minority. Everyone is buying tools to do things for them, including tools to protect their network. Hackers have gotten smarter by going back to basics. They don’t have to spend days trying to get around our shiny new tool, they can simply outsmart us the old fashioned way.

This is how it goes down:

Hacker: Clones a reputable site and emails you a link to it.
User: Don’t say you won’t click on it, because you did. It infects your computer.
Hacker: Now has access to your computer and realizes you are not an admin. He then calls you, “This is Marco from the service desk. You just clicked on a malicious link and we believe your computer may be infected. I will be logging into your computer to check a few things.”
User: Apologizes profusely and says no problem.
Hacker: Calls your service desk. “Hi, this is < insert your name > . I think there may be something wrong with my machine. Could you log into it and check it out?”

Then the service desk logs into your machine, giving the hacker the admin login that he needs.

Be careful. Know who you are talking to.

Know Your Data
If you are like me, you are not working in the White House or a bank, etc. We don’t have that many applications that people would want to access for any gain. So why would I put extensive effort into security? The main take away is that you can’t boil the ocean. You can’t protect everything, so stop trying to. Know what needs protected and protect it well.

Cloud Security
The worst assumption you can make is that your data is safer in the cloud. It may be more difficult for hackers to access, but look at what they have to gain. They will gladly do more work to hack into multiple companies vs. one. Read the SLA’s, which most likely state they cannot guarantee your data will be available or that your data will be safe.

What You Can Do
1. David talked highly of Cisco ScanSafe, saying that you can prevent 80% of threats by blocking external ports and using ScanSafe.

2. Define classifications for your data (A,B,C) – “A” being your most sensitive data, etc. Then apply those classifications to your applications/databases. That will give you a basis on what needs to be protected more agressively.

3. Don’t encrypt everything and then create a table named “Encryption Keys”. That’s the kind of thing an idiot would do with his luggage.

4. Don’t assume that your 3rd party does a better job at protecting your data than you did. Ask them how they are protecting it. Ask them for regular breach/virus reports.

5. Be careful of what you store in the cloud. If you don’t have a policy on cloud storage, write one and make everyone aware of it.

Let’s see what we’ve learned here. Don’t talk to Marco. Check up on your suppliers. Don’t try to boil the ocean. Don’t save your social security number in the cloud. Rename your table for gods sake.

If you would like to learn more about David Kennedy, check out his site.

cheers,

-a