Tag: career

  • My First Technical Job: T-SQL Tuesday #150

    It’s that time of the month again for a T-SQL Tuesday blog party. This month is hosted by Kenneth Fisher, who has hosted a few times in the past. I like this topic, and it’s a good one for me to think back to my earlier career.

    I am very curious to see what others might write.

    It’s Who You Know

    Perhaps one of the things that I learned early and didn’t believe is that networking, connections, and who you know matter more than what you know. The what is certainly important and can help you succeed in day to day work, but for landing jobs, networking is king.

    I actually had my first technical job as a computer person in high school. I had gotten interested in computers and owned a Commodore Vic-20 and 512, and later an Apple II compatible. My Mom wasn’t sure about spending all the money, but she did and I spent hours digging into how things worked.

    My neighbor owned a construction business, laying water and sewer pipe. Later I worked in that side of the business, but the spring of my junior year he was struggling to implement a new estimation and inventory program on his first PC. His secretary was a nice lady, but in her 50s and in the early 80s, computers were completely foreign. He chatted to my Mom about things and she said I might be able to help.

    This was the first time I was thrown into a situation where I didn’t know a lot, but it wasn’t the last. In fact, these same skills were useful as a consultant:

    • reading manuals
    • grasping the relation between quickly written words after the fact and software
    • experimenting without causing breakage
    • making backups and learning to restore
    • explaining how software worked or needed configuration in layman’s terms
    • perseverance when you are struggling
    • projecting confidence when you don’t feel you have much

    These were the things I had to do over a few weeks as I learned how the software worked, installed it (a few times), set things up, and worked with the secretary and a few foreman to help configure things the way they wanted them. I also had to train them to use the software to enter data.

    Outside of school, this was my first technical job. I think I got paid $10 or $12 an hour at the time when most jobs were $3.35/hr at minimum wage. No big earnings, but I probably made enough to buy a few $50 video games or software games.

    The rest, as they say, is history.

    BTW, laying water pipe a couple summers later taught me a lot as well.

  • Crazy Interview Questions

    Redgate had a discussion recently among our developers about our interview process and questions. There has been a standard question asking candidates about 2D arrays, but as one developer pointed out, we don’t use these in our code base. So, why do we ask candidates about this topic?

    The developers came up with a different question, actually a series of questions that ask about a class and then how to test parts of this class. We mostly work in C# in a DevOps culture, so this seemed like a good idea. They proposed a scenario with a few questions and then asked current developers to solve the questions and give feedback on the language, structure, and difficulty of the problem.

    I followed the technical discussion lightly, as I am not concerned about how effective this particular question might be. I was more interested in why people felt this series of questions would give them insight into how a candidate thinks and devises solutions. This isn’t a test so much as a chance to decide if a person can fit into a team and accomplish work. We tend to work in teams, so while the ability to write code is important, it is more important to collaborate, share, and learn from others.

    In the end, I hope that the interviewers don’t view this as a pass-fail, but rather as a spectrum that represents the opportunities a candidate would provide to build better products. Does the candidate ask questions, do they see the upsides and downsides of potential solutions. and do they view the challenge as a way to learn and get better? If they misread the problem or make a mistake, do they admit it? Do they realize that they went too fast or were too nervous here? I have seen plenty of candidates make syntactical errors in coding because they are nervous in an interview.

    In school, mistakes often result in poor marks. An incorrect answer and lower grade are the results of simple mistakes. In the real world, we are not as often evaluated in black and white terms. We use peer review, unit tests, and code analysis to catch simple mistakes. We grow and learn from these errors and improve over time. At least, that’s what I would hope most developers, as well as Operations staff, should do. A logic error in a WHERE clause or an incorrect partition for an OVER() aggregate might cause some issues, but we don’t fire employees for making these mistakes. Why would we disqualify a candidate for doing so in a pressure-packed, short interview?

    I used to give questions as a test, but over time I started to use them as a way to gain insight into how an individual fits in a team. I’ve added poorly phrased and incorrect questions to see if someone catches my error. I’ve asked about impossible situations or problems my team hasn’t been able to solve, just to see how people react. I’ve learned to appreciate the Kobayashi Maru-type scenarios that test someone’s ability to cope with difficulties.

    I saw a question from Amazon’s interview process (allegedly) recently that asked about solving a hanging cable problem. I’ve seen some of the “How do you move Mt Fuji” questions that Microsoft used to ask. I can appreciate the challenge of asking highly technical people to think algorithmic-ally about how to accomplish a task. I just don’t know if those types of questions help us build better teams.

    What types of questions do you think help decide if a developer, or a DBA, would be competent in your environment? Are there any crazy ones that you felt stressed you, were extremely difficult, or maybe didn’t help you pick a good candidate? Or maybe you have thoughts on what might better help you decide to choose one candidate over another. Let us know what you think today.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Finding New Employment

    I have been working for Redgate Software for 15 years (14 as an FTE). I think this is the best job I’ve ever had, and I hope this is the last FTE job that I ever have (fingers crossed).

    Plenty of people have found new jobs during the pandemic, which surprised me. I thought many people would be careful and cautious, but the pandemic opened up remote work, new possibilities, and opportunities that didn’t exist in the past. Both employers and organizations took advantage of the changes to better their situations. I know quite a few friends who found new positions, with better compensation, during the last two years.

    I think that trend continues as technology is an area that is adapts well to remote, hybrid, or in-person work. If you’re looking for a job, or you need to hire some candidates, Brent Ozar put out a post that lets either side post a comment and let people know there are jobs and talented people available. I posted a note about Redgate in there, as we are looking for software developers in the UK.

    There are plenty of other positions. In Denver, I had lunch with a friend working at a new company, Sierra Space. They are growing and hiring quite a few people and they use SQL Server. My son works at ULA, and he said they need people as well. While some businesses struggled the last two years, it seems that many technology companies thrived and there are lots of opportunities out there.

    I am a big proponent of actively managing your career. I give talks on professional development and building your brand. My view is that you should work to improve your skills, showcase them, build a network of colleagues, and then find the dream job that fits you. That’s different for all of us, but a little work and effort can help you find something you love.

    I’m approaching retirement in my 50s, and I love my job. Many of you are much younger and still building careers, learning what you like and don’t like (which is more important). You’re deciding what type of job you want and what interests you. Study, learn, come to SQL Saturdays (or ask your local group to run one), and pick the opportunity that works for you.

    Drive your career forward and I know you’ll be as happy to go to work each day as I am.

    Steve Jones

  • Testing or Learning

    All of us get into challenging situations. This might be a coding problem that we struggle to solve. It might be an argument with a co-worker. It could be feedback from a customer on how we dealt with them or maybe just how our app works. Our responses to a challenge might determine how we view the situation, our future actions, or even just how we react to life in the next few hours.

    When someone struggles or feels as though they have failed in a situation, they tend to react in one of two ways. They can view the experience as though it were a test and they didn’t pass. This is quite common among many people, who might become sad, angry, or defensive. They might defend their approach or look for an excuse. They might seek to put the whole situation behind them and move on. This is a common reaction and one I’ve had often.

    Like many people, I want to do well, and when I don’t, it can feel as though I’ve failed or I am being attacked. Whether because of my words, actions, or code, I know I’ve often reacted in a way that I somewhat regret. I will try to solve the problem better, apologize, or find some way to rectify the situation, but it still feels like some sort of personal failure.

    The other way to view the situation is a learning opportunity. Things didn’t go well, but how can I improve things in the future. How can I improve myself, or what can I learn? Maybe, more importantly, this reaction often has the person looking for a similar challenge and the chance to do better the next time.

    How do you approach a challenge? Do you view most things as tests or learning opportunities? I tend to view many things as tests, but I am trying to change and learn how to view them as opportunities to learn. When I don’t or can’t solve a problem, I look to find out how I can improve my thinking and skills and at least solve that problem in the future.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.