Tag: career

  • Are We Engineers?

    This is probably a topic that is regularly debated in programming forums, but it’s still one that I think is worth revisiting regularly as our industry evolves. For those of us that write code, that develop software, are we engineers?

    That’s the topic of a piece in the more mainstream media. It’s a bit of an attack on the software industry in general, noting that engineers are typically certified and regulated. They are subject to continuing education and apprenticeship. While certainly many of us continue to learn, it’s very informal, and not structured. Our education certainly isn’t certified in any meaningful way, though we often aren’t even really liable for our work. The cost of bad code is usually a job, with another one often easily found.

    Engineering is defined as:  the work of designing and creating large structures (such as roads and bridges) or new products or systems by using scientific methods. By that definition, I think we are engineers. We use scientific methods, primarily the hypothesis, test, (usually) fail, change the hypothesis. The hypothesis we use are lines of code, which are often wrong and need work to get fixed. A additional definition includes: the design and manufacture of complex products <software engineering>. That’s us. Even the most trivial application today is likely seen as complex by layman. If most of us bothered to dig into the libraries we use, we might see them as very complex.

    We certainly aren’t engineers in terms of the formal knowledge and liability that exists in our profession. There is little, often because we can fix problems quickly. Or maybe because even if our systems fail, issues can be undone by additional work. That’s not always true, but it does seem as though those systems which are costly when they fail (medical, financial systems), have some recourse available to those affected. Not always, but there isn’t always recourse in the analog world.

    I wonder if we’ll get to the point where we require some evaluation or measurement of skills (or code) from software engineers for certain disciplines. My guess is not, as the world of software changes too quickly, and allows for too many different scales of acceptable performance to really certify anything. My guess is the world will continue to struggle with determining the liability and responsibility of software failure as we depend more and more on computing infrastructure in our world.

    Likely this is an argument that will never end.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 3.1MB) podcast or subscribe to the feed at iTunes and LibSyn.

  • Building Better Communication Skills

    This editorial was originally published on Jan 11, 2011. It is being re-run as Steve is on vacation.

    I think that one of the most valuable skills that someone in technology can have is the ability to communicate with others. It doesn’t matter whether you write code, rack servers, or sit in meetings with business people, it is important that you find a way to express clearly what you want, need, or would expect from someone else. If you can’t, you will find that you often struggle to get anything accomplished in an efficient manner.

    It’s possible that you can get by with verbal communications in many instances, but it seems that so much gets done by written communications of some sort. Especially these days where it seems that so much of the interaction between people takes place through email, IM, or even Twitter. We are constantly using some form of written text to convey information between each other.

    However it seems that many people don’t place a premium on building better writing skills. When I talk to many people at SQL Saturdays, most of them are hesitant to try something like blogging. The most common complaint: I hate writing.

    But we have to do it constantly at work and working on your writing skills will not only help you to communicate better, but it will also help you learn to better organize your own thoughts. You will have a better understanding of the logical thought process, which might even help you build better code.

    Steve Jones

     

  • The Office

    This editorial was originally published on Dec 29, 2010. It is being re-run as Steve is on vacation.

    An article caught my eye. The majority of workers think they can be productive outside of an office in a survey conducted of 2,600 IT professionals. Most of the these people also said that they tended to work extra hours each day outside of the office. The majority also said they would take a lower paying job if they could access the information they needed outside the office.

    That’s actually a smaller percentage that I expected would want to work away from an office,  though more than I expected would actually take less pay to do so. As least in America, it seems that people are very concerned with their salary, and reluctant to ever take a pay cut. I’m glad it seems that some people are starting to understand that value of their time to themselves and their families.

    It’s hard to work at the office, as Jason Fried said recently in a TED Talk. I haven’t worked in an office in some time, but I do remember a constant stream of interruptions. An hour of time without someone talking to you was rare, and I assume that the situation is similar with many knowledge workers today. We have people that we pay to think, and solve problems, but we don’t give them the time to actually work on those problems.

    Steve Jones

  • Rethinking Hiring

    We’ve had endless discussions here, and elsewhere on the Internet, about hiring qualified candidates. We’ve had conversations about interviewing unqualified candidates. There are also no shortage of talented people, evidenced by the the knowledge and code they share on the Internet, who struggle to find good jobs that fit their skills.

    It seems that overall, we have a problem in matching people with jobs. Many companies bemoan the difficulties of finding talented development staff, and I understand the challenges. Certainly there is no shortage of individuals that don’t bother to expand their skills and learn good, fundamentals about their craft. Often this lack of skill shows up in interviews and leaves many of the interviewers thinking they’ve wasted thier time, or the candidate has misrepresented their experience.

    However, I think part of the issue is the lack of training and investment in individuals the companies make. Maybe one of the more problematic issues I see is that we don’t have good paths for teaching and progressing knowledge, whether inside of a company or as a person seeking to learn. It seems that while there is a huge amount of information available, it is poorly organized, and very cumbersome for an individual to manage. Even with companies, we don’t seem to have well structured training that adapts and helps our staff grow.

    I thought this was an interesting piece on how many companies don’t do a good, basic job of deciding who to interview. Too often companies have fallen back on the general guidelines of a degree or years of experience in a job. That’s not a great solution, and since most of us don’t have great track records in hiring, this limits the chances we’ll see good candidates. There are definitely failings on both sides of this equation. I hear constant horror stories from people interviewing DBAs and developers that don’t know basic concepts. However I also hear from candidates that aren’t even called to interview for positions because they don’t have a degree or some other generic qualification.

    I do think that many people can learn new skills and new jobs. I think as developers and DBAs, we should be trying to learn new skills, or improve our existing ones regularly. I also think that companies should look to invest in their staff and improve the skills of individuals. I realize that this is a tough task, and there aren’t necessarily easy ways to do this, especially as it seems talented staff might just leave for another position right away.

    I hope that in the future we find companies that look to grow their staff’s skills at all levels, with the understanding that they might leave, but they might stay, especially if they are treated well. And if they do leave, a good training program will help minimize the impact, since other people should have some idea of what work is being performed, and new people can be taught the skills they lack.

    Steve Jones

    The Voice of the DBA Podcast

    Listen to the MP3 Audio ( 2.7MB) podcast or subscribe to the feed at iTunes and LibSyn.