Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Developers
Developers
Developers
Recruiting & careers

How to jump into new technology roles confidently

How to jump into new technology roles confidently
Joel Helbling
|
March 4, 2024
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

"We need some help with SQL Server work.  Can you start Monday?"

It was Friday afternoon.  I had taken a class in Microsoft SQL Server years before, on a version years out of date.  I'd never really used it in any real projects.  And this phone call came from five hours away, in another state.

But I was unemployed.  So I said, "Sure thing.  See you Monday morning!"

{{<figure "https://testdoublemigration.s3.us-west-2.amazonaws.com/img-rapid-skill-acquisition-mssql65.jpeg" "Microsoft SQL Server Version 6.5 logo">}}The SQL Server Logo in its tribal tattoo phase{{</figure>}}

Then I ended the call, got in my car, and drove an hour to the nearest Borders bookstore.  I purchased two promising books on Microsoft SQL Server, went to the bookstore's in-house Starbucks, purchased a venti iced coffee, sat down with those two books and a legal pad, and mapped out my weekend in fine detail. It came down to 15 minutes for this chapter, 10 for that chapter, skip this other chapter, etc.  Then I drove home and followed my script meticulously for the whole weekend.  This was not easy for me; I'm a curiosity-driven learner who loves to follow a thread and go deeper.  Not this weekend, though.  I stuck to the plan, and on Sunday night I got back in my car and started the long drive to my new gig.

A similar thing happened when I started my career at Test Double.  At that point I had been working with Java for years and hadn't used Rails much at all during that time.  In this instance, I was serendipitously a couple of weeks into a refresher with Rails.  

Nevertheless, on my first day, I found myself pair programming with Test Double's co-founder and CEO, Todd Kaufman.  No pressure!

I can attest to Todd's coding chops!

So how did I get the chutzpah to jump into these significant career opportunities?  Am I arrogant or sublimely self-confident?  Well, I don't think so.  I don't consider myself exceptionally intelligent; based on observation of my many illustrious peers, I've always felt that I'm having way too much fun with an average-intelligence brain.  I do suffer from imposter syndrome.  So how does one gin up the moxie to say, "See you on Monday?"  Well, here are a few thoughts on how to do that.

Leverage your existing knowledge and experience

When I said yes to starting work as a SQL Server database administrator with only a weekend to prepare, it's worth noting that I'd been working with databases for years at that point.  I had a pretty good command of SQL, mostly the MySQL flavor.  So I knew there would be commonalities.  I also knew there would be differences and that I could use those deltas as a sort of knock-out pattern that could help me to mnemonify those distinctions.

In the Rails example, I'd done work with a prior version of Rails and had been leveraging that understanding in my work with Java.  I compared my prior learnings of Rails to Java Struts as well as a couple of other Java web frameworks I worked with.  When I came back to Rails, I brought all of that with me, giving my new observations of the then-current version of Rails a stronger contextual foundation.

In all these cases, I was able to use what I'd previously learned to develop instincts for the probable design decisions people had made when designing these unfamiliar tools.  A crucial part of this is in getting an understanding of the problem which the designers were trying to solve.  This can help in making better guesses about features which might exist, and even about what form they might take.

Focus on overview

In both examples I described above, my goal was to get a footing in unfamiliar territory quickly.  This meant I had to deny my innate tendency to let curiosity drive, to follow every thread, and to dig deeply.  Instead, I ruthlessly time-boxed my study in order to prioritize breadth over depth.  This is important to note; depth is certainly valuable.  But I knew I had a natural tendency to pursue depth, and I also knew that what I needed in these instances was higher level over-arching perspective.

When it came to prepping for Rails work, I focused on subsystems that I didn't feel I understood well, approaching each of these in the same time-boxed way.  I'd allocate a specific amount of time to study and learn routing, for instance, developing a good sense for the problem it's meant to solve, and the design values used to create it.  And when the time was up, I'd rip myself away and move on to the next thing.

You decide when you're ready

Maybe it was the spectre of unpaid bills piling up.  Unemployment does introduce a certain kind of boldness, after all.  Whatever it was, somehow I recognized in these situations (and at other points in my career), that I didn't have a sensei who would assign to me the perfect number of menial preparatory tasks and then eventually say, now you are ready.

It's a little bit scary, I'm not gonna lie.  The desperation of need does factor in, but it's also important to think about your own personal standard for readiness.  For me in these example cases, that involved getting a mile wide and an inch deep on the particulars and distinctions of SQL Server relative to my other database experience, or working through a set series of specific Rails subsystems.  Advice on readiness abounds, but you'll still always have to make the call yourself.

It's also important to plan how you'll represent and defend your readiness.  Personally I knew I could not (and would not) outright lie about my level of experience.  But I also knew that a certain amount of pre-gig preparation is normal, especially for someone shifting focus to a near-related kind of work.  I also did what I could to understand my client's needs and expectations, and to evaluate my own chances of success.  Had they asked me to help with Oracle databases instead of Microsoft ones, for example, the conversation might have been shorter.

Remember that luck favors the prepared

On that fateful Monday, my first day on the job as a Microsoft SQL Server DBA, I happened to overhear a couple of colleagues discussing the difficulties they were having with getting a large quantity of data in a CSV file imported into the database they were working on.  They were considering whether they needed to write a small program to do this task.

"Hey," I piped up, "have you considered using bcp?"

"bcp?" they inquired.

I hadn't spent much time on the chapter which talked about SQL Server's "bulk copy program" command-line utility, and three or four days before that, I hadn't even known it existed.  And I'd only spent scant attention to that chapter.  But it made sense that such a thing should exist, as moving bulk data into a database doesn't seem like a weird or fringe use case.  I reached over to the book shelf in my cubicle and grabbed one of the two brand new SQL Server books, and thumbed over to the chapter on bcp.  And just like that, I was hilariously established as a SQL Server guru.

This kind of thing happens because in software work, nobody knows everything all the time.  Someone brand new to the field may well have fresh access to bits of expertise which are disused or unknown to long-experienced experts.  It is hilarious, and the only appropriate response to this hilarity is humility.  If you're one of these deeply experienced folks, expect the moment when someone new to the field hands you a key to the problem you're pairing on.

And if you're new to a particular domain, take heart: Knowledge in the field of software development is not a narrow hierarchy, it's a vast matrix.  

Gaining knowledge and expertise is not a matter of climbing a ladder, it's more like spreading out over a mountainside, searching together for clues.  None of us actually knows who will be the next to shout "Eureka!"  Maybe that's scary.  Or maybe it's just part of the fun.

Related Insights

🔗
Only you can give meaning to your career
🔗
How to turn your career change into a tech superpower

Explore our insights

See all insights
Developers
Developers
Developers
You’re holding it wrong! The double loop model for agentic coding

Joé Dupuis has noticed an influx of videos and blog posts about the "correct" way of working with AI agents. Joé thinks most of it is bad advice, and has a better approach he wants to show you.

by
Joé Dupuis
Leadership
Leadership
Leadership
Don't play it safe: Improve your continuous discovery process to reduce risk

We often front-load discovery to feel confident before building—but that’s not real agility. This post explores how continuous learning reduces risk better than perfect plans ever could.

by
Doc Norton
Leadership
Leadership
Leadership
How an early-stage startup engineering team improved the bottom line fast

A fast-growing startup was burning cash faster than it could scale. Here’s how smart engineering decisions helped them improve the bottom line.

by
Jonathon Baugh
Letter art spelling out NEAT

Join the conversation

Technology is a means to an end: answers to very human questions. That’s why we created a community for developers and product managers.

Explore the community
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.