Sort By:

Outfoxing Outsourcing:
There is more to watch for on the offshore horizon as outsourcing traffic increases and involves multiple countries.

Companies intent on saving bucks need no longer fix their gaze solely on India in search of information technology professionals. Russia, Vietnam, and China, for example, have equally impressive pools of talented and motivated techies, and they’re extremely eager to negotiate affordable contracts with offshore companies.

October 2, 2003


A Conversation with Steve Ross-Talbot:
The IT world has long been plagued by a disconnect between theory and practice.

Academics theorizing in their ivory towers; programmers at "Initech" toiling away in their corporate cubicles. While this might be a somewhat naïve characterization, the fact remains that both academics and practitioners could do a better job of sharing their ideas and innovations with each other. As a result, cutting-edge research often fails to find practical application in the marketplace.

by Charlene O'Hanlon | March 29, 2006


A Conversation with Joel Spolsky:
What it takes to build a good software company

Joel Spolsky has never been one to hide his opinions. Since 2000, he has developed a loyal following for his insightful, tell-it-like-it-is essays on software development and management on his popular Weblog “Joel on Software”. The prolific essayist has also published four books and started a successful software company, Fog Creek, in New York City, a place he feels is sorely lacking in product-oriented software development houses. Spolsky started Fog Creek not with a specific product in mind, but rather to create a kind of software developers’ utopia, where “programmers and software developers are the stars and everything else serves only to make them productive and happy.” So far, he has succeeded.

by John Stanik | August 16, 2007


The Power of IP Protection and Software Licensing:
Software Digital Rights Management solutions are the de-facto standard today for protecting IP.

Intellectual Property (IP) - which ranges from ideas, inventions, technologies, and patented, trademarked or copyrighted work and products - can account for as much as 80% of a software company’s total market value. Since IP is considered a financial asset in today’s business climate, the threats to IP create a real concern. In an interview with ACM Queuecast host Michael Vizard, Aladdin vice president Gregg Gronowski explains how Software Digital Rights Management solutions are the de-facto standard today for protecting software IP, preventing software piracy, and enabling software licensing and compliance.

July 21, 2008


Interviewing Techniques:
Separating the good programmers from the bad

My work group has just been given approval to hire four new programmers, and now all of us have to interview people, both on the phone and in person. I hate interviewing people. I never know what to ask. I’ve also noticed that people tend to be careless with the truth when writing their resumes. We’re considering a programming test for our next round of interviewees, because we realized that some previous candidates clearly couldn’t program their way out of a paper bag. There have to be tricks to speeding up hiring without compromising whom we hire.

by George Neville-Neil | June 14, 2011


Bad Software Architecture is a People Problem:
When people don’t work well together they make bad decisions.

It all started with a bug. Customers were complaining that their information was out of date on the website. They would make an update and for some reason their changes weren’t being reflected. Caching seemed like the obvious problem, but once we started diving into the details, we realized it was a much bigger issue.

by Kate Matsudaira | July 18, 2016


Conversations with Technology Leaders: Erik Meijer:
Great engineers are able to maximize their mental power.

Whether you are a leader, a programmer, or just someone aspiring to be better, I am sure there are some smart takeaways from our conversation that will help you grow in your role. Oh, and if you read to the end, you can find out what his favorite job interview question is - and see if you would be able to pass his test.

by Kate Matsudaira | May 10, 2017


10 Ways to Be a Better Interviewer:
Plan ahead to make the interview a successful one.

Of course, there is no right way to do an interview, but you can always be better. Make an effort to make your candidates as comfortable as possible so they have the greatest chance for success.

by Kate Matsudaira | July 18, 2017


Breadth and Depth:
We all wear many hats, but make sure you have one that fits well.

When people ask me the question of where they should focus their time I ask them what is the one thing you could be the best in the world at? The answer might be going deep or going wide. The important thing is to spend your time on building the skills that will move you to where to you want to go.

by Kate Matsudaira | September 6, 2017


Views from the Top:
Try to see things from a manager’s perspective.

Leadership is hard. None of us comes to work to do a bad job, and there are always ways we can be better. So, when you have a leader who isn’t meeting your expectations, maybe try reframing the situation and looking at things a little differently from the top down.

by Kate Matsudaira | October 31, 2017


How Is Your Week Going So Far?:
Praise matters just as much as money.

None of us hears "thank you" or "awesome job" enough at work. Being the person who praises other people is an amazing person to be, especially when you follow this formula for making your praise ridiculously effective.

by Kate Matsudaira | January 30, 2018


Containers Will Not Fix Your Broken Culture (and Other Hard Truths):
Complex socio-technical systems are hard; film at 11.

We focus so often on technical anti-patterns, neglecting similar problems inside our social structures. Spoiler alert: the solutions to many difficulties that seem technical can be found by examining our interactions with others. Let’s talk about five things you’ll want to know when working with those pesky creatures known as humans.

by Bridget Kromhout | February 5, 2018


How to Come up with Great Ideas:
Think like an entrepreneur.

No matter what your profession, learning to think more innovatively and spark new ideas can help you. I have included some points and inspiration that have helped me, but the real key is changing your behavior and taking action.

by Kate Matsudaira | March 29, 2018


The Secret Formula for Choosing the Right Next Role:
The best careers are not defined by titles or resume bullet points.

Focus on factors that will increase your career capital and make you a more valuable hire in your next role, and the one after that, and the one after that. When you are looking at the options for your next role, there are smarter choices that you can make.

by Kate Matsudaira | July 23, 2018


How to Get Things Done When You Don’t Feel Like It:
Five strategies for pushing through

If you want to be successful, then it serves you better to rise to the occasion no matter what. That means learning how to push through challenges and deliver valuable results.

by Kate Matsudaira | September 18, 2018


The Importance of a Great Finish:
You have to finish strong, every time.

How can you make sure that you are recognized as a valuable member of your team, whose work is seen as critical to the team’s success? You have to finish strong, every time. Here is how to keep your momentum up and make the right moves to be a visible contributor to the final success of every project.

by Kate Matsudaira | November 19, 2018


Design Patterns for Managing Up:
Four challenging work situations and how to handle them

Challenges come up all the time at work. Spend time now thinking about how you want to be seen at work, and then think about how that version of you would respond to the challenges that you could encounter. When you have a plan in place, you are much more likely to succeed.

by Kate Matsudaira | January 16, 2019


How to Create a Great Team Culture (and Why It Matters):
Build safety, share vulnerability, establish purpose.

As leader of the team, you have significant influence over your team’s culture. You can institute policies and procedures that help make your team happy and productive, monitor team successes, and continually improve the team. Another important part of team culture, however, is helping people feel they are a part of creating it. How can you expand the job of creating a culture to other team members?

by Kate Matsudaira | April 3, 2019


Tom’s Top Ten Things Executives Should Know About Software:
Software acumen is the new norm.

Software is eating the world. To do their jobs well, executives and managers outside of technology will benefit from understanding some fundamentals of software and the software-delivery process.

by Thomas A. Limoncelli | April 14, 2019


Overly Attached:
Know when to let go of emotional attachment to your work.

A smart, senior engineer couldn’t make logical decisions if it meant deprecating the system he and his team had worked on for a number of years. Even though the best thing would have been to help another team create the replacement system, they didn’t want to entertain the idea because it would mean putting an end to something they had invested so much in. It is good to have strong ownership, but what happens when you get too attached?

by Kate Matsudaira | May 19, 2019


The Evolution of Management:
Transitioning up the ladder

With each step up, the job changes - but not all of the changes are obvious. You have to shift your mindset, and focus on building new skills that are often very different from the skills that made you successful in your previous role.

by Kate Matsudaira | July 22, 2019


Demo Data as Code:
Automation helps collaboration.

A casual request for a demo dataset may seem like a one-time thing that doesn’t need to be automated, but the reality is that this is a collaborative process requiring multiple iterations and experimentation. There will undoubtedly be requests for revisions big and small, the need to match changing software, and to support new and revised demo stories. All of this makes automating the process worthwhile. Modern scripting languages make it easy to create ad hoc functions that act like a little language. A repeatable process helps collaboration, enables delegation, and saves time now and in the future.

by Thomas A. Limoncelli | August 5, 2019


What is a CSO Good For?:
Security requires more than an off-the-shelf solution.

The CSO is not a security engineer, so let’s contrast the two jobs to create a picture of what we should and should not see.

by George Neville-Neil | August 13, 2019


Communicate Using the Numbers 1, 2, 3, and More:
Leveraging expectations for better communication

People often use lists of various sizes when communicating. I might have 2 reasons for supporting the new company strategy. I might tell you my 3 favorite programming languages. I might make a presentation that describes 4 new features. There is 1 vegetable that I like more than any other. The length of the list affects how the audience interprets what is being said. Not aligning with what the human brain expects is like swimming upstream. Given the choice, why would anyone do that?

by Thomas A. Limoncelli | March 11, 2020


Kabin Fever:
KV's guidelines for KFH (koding from home)

Let me invite you to my next Zoom meeting on how to host Zoom meetings! As a devotee of mobile computing and remote work from my earliest days at university, I have, over time, developed a number of useful habits for maintaining a good and productive working rhythm, and I've found that many of these apply well to those of you who are newly working from home.

by George V. Neville-Neil | November 18, 2020


The Software Industry IS STILL the Problem:
The time is (also) way overdue for IT professional liability

The time is way overdue for IT engineers to be subject to professional liability, like almost every other engineering profession. Before you tell me that is impossible, please study how the very same thing happened with electricity, planes, cranes, trains, ships, automobiles, lifts, food processing, buildings, and, for that matter, driving a car.

by Poul-Henning Kamp | September 29, 2021


Patent Absurdity:
A case when ignorance is the best policy

The main reason a lawyer will give for not reading a software patent is that, if you run afoul of the patent and it can be shown that you had knowledge of it, your company will incur triple the damages that they would have, had you not had knowledge of the patent. That seems like reason enough to avoid reading them, but there is an even better reason, and that is, as design or technical documents, software patents suck.

September 29, 2021


Walk a Mile in Their Shoes:
The Covid pandemic through the lens of four tech workers

Covid has changed how people work in many ways, but many of the outcomes have been paradoxical in nature. What works for one person may not work for the next (or even the same person the next day), and we have yet to figure out how to predict exactly what will work for everyone. As you saw in the composite personas described here, some people struggle with isolation and loneliness, have a hard time connecting socially with their teams, or find the time pressures of hybrid work with remote teams to be overwhelming. Others relish this newfound way of working, enjoying more time with family, greater flexibility to exercise during the day, a better work/life balance, and a stronger desire to contribute to the world.

by Jenna Butler, Catherine Yeh | May 25, 2022


Split Your Overwhelmed Teams:
Two Teams of Five is Not the Same as One Team of Ten

This team?s low morale and high stress were a result of the members feeling overwhelmed by too many responsibilities. The 10-by-10 communication structure made it difficult to achieve consensus, there were too many meetings, and everyone was suffering from the high cognitive load. By splitting into two teams, each can be more nimble, which the manager likes, and have a lower cognitive load, which the team likes. There is more opportunity for repetition, which lets people develop skills and demonstrate them. Altogether, this helps reduce stress and improve morale.

by Thomas A. Limoncelli | November 10, 2022


DevEx: What Actually Drives Productivity:
The developer-centric approach to measuring and improving productivity

Developer experience focuses on the lived experience of developers and the points of friction they encounter in their everyday work. In addition to improving productivity, DevEx drives business performance through increased efficiency, product quality, and employee retention. This paper provides a practical framework for understanding DevEx, and presents a measurement framework that combines feedback from developers with data about the engineering systems they interact with. These two frameworks provide leaders with clear, actionable insights into what to measure and where to focus in order to improve developer productivity.

by Abi Noda, Margaret-Anne Storey, Nicole Forsgren, Michaela Greiler | May 3, 2023


The Human Touch:
There is no substitute for good, direct, honest training.

The challenge of providing a safe communications environment in the face of such social engineering attacks isn't just the technology; it's also people. As anyone who has done serious work in computer security knows, the biggest problems are between the keyboard and the chair. Most people by default trust other people and are willing to give them the benefit of the doubt.

by George V. Neville-Neil | May 18, 2023


Managing Hybrid Teams:
The combination of on-site and remote workers takes extra effort from team leaders.

After three years of working remotely, many companies are asking their people to return to the office. Not everyone is coming back, however. With some people in the office and some still working from home, leaders must get this transition to hybrid work right. Hybrid is the worst of both worlds in some ways. You can easily end up creating two experiences?one for the people in the office and one for the remote workers?which can lead to problems that will compound over time and have long-term damaging effects on your team.

by Kate Matsudaira | June 29, 2023


Halfway Around the World:
Learn the language, meet the people, eat the food

Not only do different cultures treat different features differently, but they also treat each other differently. How people act with respect to each other is a topic that can, and does, fill volumes of books that, as nerds, we probably have never read, but finding out a bit about where you're heading is a good idea. You can try to ask the locals, although people generally are so enmeshed in their own cultures that they have a hard time explaining them to others.

by George V. Neville-Neil | September 20, 2023


Knowing What You Need to Know:
Personal, team, and organizational effectiveness can be improved with a little preparation

Blockers can take a tiny task and stretch it over days or weeks. Taking a moment at the beginning of a project to look for and prevent possible blockers can improve productivity. These examples of personal, team, and organizational levels show how gathering the right information and performing preflight checks can save hours of wasted time later.

by Thomas A. Limoncelli | September 21, 2023


Software Managers' Guide to Operational Excellence:
The secret to being a great engineering leader? Setting up the right checks and balances.

Software engineering managers (or any senior technical leaders) have many responsibilities: the care and feeding of the team, delivering on business outcomes, and keeping the product/system/application up and running and in good order. Each of these areas can benefit from a systematic approach. The one I present here is setting up checks and balances for the team's operational excellence.

by Kate Matsudaira | November 14, 2023


Programmer Job Interviews: The Hidden Agenda

Top tech interviews test coding and CS knowledge overtly, but they also evaluate a deeper technical instinct so subtly that candidates seldom notice the appraisal. We'll learn how interviewers create questions to covertly measure a skill that sets the best programmers above the rest. Equipped with empathy for the interviewer, you can prepare to shine on the job market by seizing camouflaged opportunities.

by Terence Kelly | January 15, 2024


Give Your Project a Name:
It goes a long way toward creating a cohesive team with strong morale.

While some people are driven by infinite backlogs and iteration, others prefer launches and deadlines. Over the years, I have found certain milestones to be instrumental in creating a cohesive team with strong morale. When people have to work together to get through a challenging task, reaching those milestones brings them together.

by Kate Matsudaira | March 7, 2024