No Starch Press Blog

Free Shipping for Father's Day!

For Father's Day weekend, we're offering a special deal: Free domestic shipping off orders over $25, plus discounted international shipping!

No discount code needed. Free shipping applied at checkout.

Here's the breakdown for the international shipping discount of 25% off (prices may vary depending on weight):

U.S. Canada/Mexico International
1–2 Books (USPS flat rate envelope) $3.50 $9.71 $17.96
3–4 Books (USPS flat rate box) $13.20 $30.41 $44.96
5–6 Books (2 USPS flat rate boxes) $19.95 $37.50 $63.75
6+ Books (very large order—please contact us) $22.95 $52.46 $96.75
Shirt (USPS first class mail) $2.40 + $2.40 per item

*Shipping prices may vary depending on weight of books.

Free Shipping for Mother's Day

For Mother's Day weekend, we're offering a special deal: Free domestic shipping off orders over $25, plus discounted international shipping!

No discount code needed. Free shipping applied at checkout.

Here's the breakdown for the international shipping discount of 25% off (prices may vary depending on weight):

U.S. Canada/Mexico International
1–2 Books (USPS flat rate envelope) $3.50 $9.71 $17.96
3–4 Books (USPS flat rate box) $13.20 $30.41 $44.96
5–6 Books (2 USPS flat rate boxes) $19.95 $37.50 $63.75
6+ Books (very large order—please contact us) $22.95 $52.46 $96.75
Shirt (USPS first class mail) $2.40 + $2.40 per item



*Shipping prices may vary depending on weight of books.

Engineer Angel Sola Explains How Math is in Everything (Including Beer)

For Mathematics and Statistics Awareness Month, we’ve been spotlighting some of our favorite math/stats books – and the brilliant number ninjas who write them.

Angel Sola Orbaiceta Hardcore Programming for Mechanical Engineers

As we enter the final week of #MathStatMonth, our focus is on software engineer and author Angel Sola Orbaiceta, whose new book, Hardcore Programming for Mechanical Engineers, comes out in June (and is available now for pre-order). Angel earned his university degree in Industrial Engineering, but has worked in the software industry since graduating over a decade ago. He currently serves as Senior Software Engineer at Glovo, a Barcelona-based quick-commerce startup that provides on-demand delivery services via its popular mobile app. Angel is also the creator of InkStructure, a software application for architecture and engineering students that solves 2D structural problems.

In the wonderfully illuminating conversation below, we talk with him about why math is so key to engineering (and everything else), how his IE background gives him an edge in software development (and why all engineers should learn to code), how statistics keep projects on budget, what data analysts have in common with gold miners, and how getting the math wrong when you home-brew beer is – literally – the stuff of nightmares.

1) As most of our readers probably know, mathematics is the foundation for many science and engineering disciplines. Given that you majored in industrial engineering (IE) – with an intensification in mechanics – at university, would you please explain why math is so important to engineering in general?

In the words of the genius Galileo Galilei: “Mathematics is the language in which God has written the universe.” Thanks to math, we can describe physical phenomena, measure events, and make predictions. Most of the principles our engineering designs rely on are given in the form of mathematical equations. Take for instance the well-known Newton’s law of universal gravitation:

Newton’s law of universal gravitation

This simple and beautiful equation describes the gravitational force that any two bodies with masses “M” and “m” laying anywhere in our universe, a distance of “r” apart, exert on each other. Thanks to this piece of math, engineers have been able to do the calculations necessary to launch satellites to space. How cool is that? Fun fact: we know this formula isn’t exactly right thanks to Einstein’s general relativity ideas; nature is a bit more nuanced than that. But, when the bodies we study aren’t moving at speeds close to the speed of light, the results yielded by Newton’s formula are so incredibly accurate that engineers still use them.

Math is everywhere, behind every technological advancement we know. Even behind the best kept secrets of big companies like Google or Uber. In my current company, Glovo (we’re similar to Uber Eats, DoorDash or Deliveroo), we use math for everything! For instance, to make the optimal assignment of the customers’ orders to the available couriers, such that the time customers have to wait to get their order is minimized and the amount of money couriers make is maximized, we solve a linear optimization problem. There is a lot of math going on behind our algorithm. If we weren’t good at math, couriers would earn little money and customers would get their food cold.

It’s also important to note that Engineering syllabi usually have a very high load of mathematics, some of it a bit abstract for most students. It’s only when you start solving real engineering problems that those abstract mathematical concepts might turn into useful tools. I remember my first year in university, we had this algebra course and I was incredibly lost; I couldn’t understand anything. We learned about linear and affine transformations; I would simply complete the assignments mechanically, without pondering on what those meant. Some years later, I started working on InkStructure (an application I developed to do structural analysis, which includes a CAD-like drawing canvas) and found out that, to zoom in or out the drawing, I needed to apply affine transformations. That was an Eureka! moment for me. As I explain in my book, the first versions of the application had a weird zoom in/out behaviour, and that is because it took me some time to fully grasp the math behind affine transformations. The Youtube channel 3Brown1Blue did a much better job explaining me those concepts in a graphical manner than my university professors (thanks, Grant!).

Follow-up Q: Which math applications do you need to study (and understand) to excel in these fields? Alternatively, is engineering still a good career choice for people who are not good at math – like, could a computer simply solve all the math-related problems you’d encounter?

Math is key in engineering, one of the most powerful tools at our disposal, but you don’t need to be a math genius to become a good engineer. At least, this is how I see it. But I also think it depends on the specific engineering discipline. In the software field, for instance, math might not be strictly necessary; you can get along just with high school math. I know many good software engineers who don’t have a strong math background, yet produce some of the best designed software I’ve seen. But for civil or mechanical engineers, a strong math background is more important. A good understanding of linear algebra, calculus, differential equations and statistics is key for these engineering disciplines. Electrical engineers make extensive use of complex numbers, so complex analysis is necessary for them. And in the case of industrial engineering, linear and non-linear optimization is important as well.

In any case, we have at our disposal very good software that does most of the tedious math for us; and yet, we still need to know about how that math works, so the results of that software don’t appear like some kind of magic and we’re able to correctly interpret them. Hardcore Programming for Mechanical Engineers is precisely about writing such software: software that automates the resolution of engineering problems, which usually involve a lot of math. If we have computers which do billions of operations in a single second, why not hand them the tedious, automatable calculations?

2) You’ve noted that you taught yourself programming while at university in order to solve engineering problems. Post-graduation, you took these skills and went right into the software industry. How do you think your IE training has helped you succeed in software development? And based on your experience, do you see a need for more STEM graduates (who understand basic scientific principles) in software engineering?

What I think is key about the Industrial Engineering program I took is that, on top of the algebra, math and physics foundations, we touched on a lot of disciplines: structural analysis, mechanics, design of machines, electric circuits, electronics, energy production and distribution, microprocessors, manufacturing, statistics and many more. This rich knowledge foundation is invaluable to write software that solves a broad range of problems. Because if you think about it, software is basically a way of automating the solution to a problem through leveraging the power of computing. Knowing how to find an effective solution to a problem in the first place is also a great skill for a Software Engineer to have. Also, project management plays a big role in the study of industrial engineering, and creating software requires big doses of project management.

I think it’s for this exact same reason that we need more STEM graduates to get acquainted with Software Engineering principles, so they write the next generation of scientific and engineering software. Most of us STEM graduates learn coding at university, but writing good software goes beyond mastering “for” loops and “if” statements. When I graduated, I was naive enough to think that, since I knew how to program, I was ready to write good software. It took me some years of industry experience and sleepless nights reading software engineering books to start understanding how real software is produced. I recently
wrote a blog post
about two important lessons I’ve learnt in this respect.

I would definitely encourage everyone in the STEM field to learn coding plus some software engineering principles and practices. And hey – engineering students and professionals alike, give a read to read my book, as it has some of the most important lessons I’ve learnt along the way!

3) Your book is about learning to solve engineering problems with Python – from scratch – using math concepts, like linear algebra and geometry. But there’s also a focus on writing clean code, building libraries, and automated unit testing. How do all of these disciplines (math, statistics, programming, etc.) fit together in engineering applications, and why is it important for mechanical engineering students and professionals to learn how to code?

Exactly! And let me start by saying you’ve summarized the intent of the book quite nicely. Computers have become the main and most important tool for us engineers. In the past, that might have been the abacus, a compass, or a pocket calculator. But today, a computer with specialized software installed is the most effective tool we have. Nobody in their right mind would draw the blueprints for a bridge or skyscraper by hand anymore; now we use AutoCAD, and that makes us hundreds of times more productive than the engineers from a century ago who did all this by hand. By the same token, no civil engineer works out the stresses on every structural member of a bridge by hand anymore, either – that would take months of work and can be error-prone. We have great software today that we use instead, capable of doing that type of analysis in a couple minutes and with no calculation errors.

So if computers are the modern engineers' best tool, why not learn to give it instructions directly (that is, learn programming)? In the end, someone needs to design and write those software applications engineers use, right? Who’s better than the engineer that would use it themselves? For me, this is the most important reason why I think all engineers should learn how to code, even if they don’t plan to work for the software industry directly. And if they decide they want to write software of their own, they’ll need to be acquainted with some important Software Engineering topics, such as how to architect their code, distribute it in reusable libraries, and have automated tests to know it remains bug-free as they code. I believe all of this is so important, I wanted to bundle it all in a single book that could become a good reference for engineers who want to write software. I wish someone had done this earlier so I could have learned all this when I was an engineering student. Most books on programming targeted at engineers miss the “code quality” part: they teach you about programming, but miss the software engineering part, which is every bit as important.

4) Now let’s talk about statistics. There’s an old engineering axiom that goes, “You can’t improve what you don’t measure.” Why are statistical concepts so useful in engineering?

Statistics show up in most engineering disciplines, in many different ways. There’s one example that I find very insightful, and it’s about structural analysis. Construction structures in some parts of the world (such as Japan or Taiwan) are designed to withstand strong typhoons and powerful earthquakes. But the probability of having the strongest of the typhoons and the deadliest of the earthquakes happening at the same time is quite low. In fact, we can compute – using statistical models – the most likely combination of those forces of nature, so that the probability of the building collapsing is almost negligible and the usage of construction material is minimized.

These days, one of the best paid jobs in the tech industry is a Data Analyst. These professionals have a strong statistics background and are capable of, among other things, making predictions based on studies done with large amounts of data. I find it really remarkable the fact that there’s so much valuable information hidden in large amounts of data – which, using the right statistical tools, can be brought to the surface and used to make more-educated business decisions. I see this in my current company. Our data analysts are amazing! We have regular sessions with them where they show us their findings, and it’s so incredible to see how the answer to many of our “unanswered questions” were always there, lying right in front of our eyes but hidden behind petabytes of data. It only required the right set of statistics skills to be revealed. It’s as if the answers are gold inside a mine, and statistics are the pick and shovel necessary to extract them.

Follow-up Q: What is the difference between how statistics and statistical principles are used in IE or mechanical engineering versus how they’re used in software engineering?

For industrial engineering, to name one example, statistics are key to designing effective manufacturing processes: Preventive maintenance can be put in place thanks to statistical studies that predict when a given machine might break down or fail, so it can be acted upon before that happens and without the need to halt the entire assembly line. Another example can be risk management for any given engineering project. Any risky conditions that could put the project at stake need to be accounted for, but designing a solution that’s safe in every possible scenario usually increases the cost of a project considerably. So, instead of assuming all of those conditions will be a problem 100% of the time – and to the maximum extent of their risk potential – you can run statistical experiments to determine the most likely level of risk the project should account for. These types of statistical analyses keep the project budget reasonable, while ensuring the engineering solution is as safe as necessary.

In the software field, the usages are not that different from the other cases. Software projects are like any other engineering project – they have risks to manage, and those can be analyzed using statistical models. But besides that, there is a very interesting technique we use often in software that allows us to know whether a change brings value to users or not: A/B tests. In an A/B test we show randomly chosen users a new version of the feature, (what we call “version A”). The rest of the users still see “version B,” which is how the app looks without the proposed change. We then measure if version A performs better with users than version B. If that improvement does indeed have statistical significance, we implement the change for all users. This technique has a special place in my heart because I was part of the team who built the A/B test infrastructure at Glovo.

5) One of your hobbies outside of designing software (and writing a book) is brewing your own beer. Salud! Are there any engineering skill sets, such as the use of math and statistics, that help you in endeavoring to craft the perfect pint?

This is the best question I’ve been asked in a long time! Let me start with an anecdote about how not getting the math right during the brewing process can yield “interesting” results.

Since I’m not a professional brewer, I typically follow other brewers’ beer recipes. I like to brew Imperial IPAs (aka double IPAs), which use a large amount of hops and happen to be my favorite style of beer. Some time ago, I was feeling adventurous and decided that I’d design my own recipe. I’m not sure what exactly went wrong – perhaps I calculated the proportion of hops wrong incorrectly – but that beer gave me weird nightmares every time I drank one before going to sleep (100% of the time, thus making it statistically significant). And not just any kind of nightmares, I’m talking about “how can my brain be so messed up” sort of nightmares. Most people aren’t aware of this, but hops come from a plant belonging to the Cannabinaceae family – a fact that might have something to do with the nightmares part, but who knows? I think this story of me getting the math wrong and brewing a nightmare-factory beverage exemplifies how important math can be, even for simply creating a liquid that’s pleasurable to drink.

Apart from that anecdote, the truth is there actually is math behind the art of brewing; maybe just elementary math, but math nonetheless. For instance, recipes usually refer to quantities as proportions with respect to the amount of water used, so you need to calculate the amount of each ingredient depending on your desired volume of brewed beer. And, to measure the amount of alcohol present in the final product, we rely on the density difference between the wort both before and after the fermentation process – which, when plugged into a mathematical expression, gives us the alcohol percentage by volume. But this is just me being a brewer noob. I’m sure professional brewers could give us many more examples!

You can also do statistical analyses with homebrewed beers. For instance, you could check whether there is any correlation between, say, drinking your newly brewed double IPA and having nightmares. Or, compute the likelihood of your friends being more likely to come over for a barbecue when you brew a certain style of beer… I’ll conclude by noting that I’m quite sure there are some mathematicians who have demonstrated their best theorems after a few beers. So, yes, you could say beer and math go hand-in-hand.

25% Off Select Titles for Mathematics and Statistics Awareness Month!

April is Mathematics and Statistics Awareness Month, so we're offering a special deal on some of our most acclaimed math and stats books until May 1st!

Indulge your inner numbers-nerd by picking up any or all of the following titles at a 25% discount with code MATH25:

Bayesian Statistics the Fun Way

Bayesian Statistics the Fun Way

This marvelously un-boring book lives up to its title, giving you a complete understanding of Bayesian statistics through simple explanations and intriguing examples. Find out the probability of UFOs landing in your garden, how likely Han Solo is to survive a flight through an asteroid belt, how to compare hypotheses or measure your own uncertainty, and so much more as you learn how to get the most out of your data.

>Math Adventures with Python

Math Adventures with Python

Deemed "an indispensable book for all," by mathematician Gabrielle Birkman, this highly touted bestseller will teach you how to visualize solutions to a range of math problems with the aid of the Python programming language. Learn to code while exploring algebra and trigonometry, then write your own programs to solve equations, automate tedious tasks, and make cool things like an interactive rainbow grid.

Statistics Done Wrong

Statistics Done Wrong

Critics have called it “...a vital contribution,” “...amazing, and accessible to amateurs,“ and have advised that “if you analyze data with any regularity… get this book.” We couldn’t agree more! This pithy, essential guide to avoiding statistical blunders in modern science will show you how to keep your own research error-free. Examine embarrassing omissions in academic papers, discover the misconceptions and politics that allow these mistakes to happen, and learn how to produce statistically sound research.

Doing Math with Python

Doing Math with Python

This project-based book provides a clear link between Python programming and upper-level math concepts, demonstrating how Python code can be transformed into a glorious mathematical stage on which to perform and problem-solve! You’ll delve into topics like statistics, geometry, probability, and calculus, discovering new ways to explore math while gaining valuable programming skills. You’ll learn how to write simple programs for factoring, solving quadratic equations, drawing geometric shapes, fractals and more.

The Manga Guide(s) to:

Calculus

Calculus

Follow along with Manga character Noriko as she learns that calculus is more than just a class designed to weed out would-be science majors. The Manga Guide to Calculus reveals why calculus is so useful for understanding patterns in physics, economics, and the world around us, with help from real-world examples like probability, supply/demand curves, the economics of pollution, and the density of Shochu (a Japanese liquor).

Statistics

Statistics

Think you can't have fun learning statistics? Think again. The Manga Guide to Statistics is an entertaining tutorial in everything you need to know about this essential discipline. Charming and easy-to-read, it uses real-world examples like teen magazine quizzes, bowling games, and ramen noodle prices to teach you serious educational content.

Use promo code MATH25 at checkout!

Tech Entreprenerd Tracy Osborn Wants Women to Know What They’re Worth (and Ask For a Raise!)

For Women’s History Month, No Starch Press is spotlighting the contributions and individual achievements that female authors have made in the world of tech and on our bookshelves.

Each week we'll shine your attention on just a few of these remarkable women in tech – along with a 30% discount on their books.

Use promo code WOMEN30 at checkout!

Hello Web DesignTracy Osborn

This week, the focus is on designer-developer-author-”entreprenerd” Tracy Osborn, who is program director for Tiny Seed, a year-long accelerator for bootstrapped businesses. She’s built websites and worked with startups for two decades, before launching her own (WeddingLovely.com), but eventually pivoted to helping other tech-based seed-stage businesses grow. All the while, she’s been churning out uniquely accessible “Hello” web-dev e-books for beginners (in addition to speaking about female entrepreneurship and design on the conference circuit).

Her first book with No Starch Press, Hello Web Design, comes out this month. Fortunately, she made time to talk with us about making coding tutorials more inclusive, her battles with social anxiety, finding joy in a career change, her biggest mistake, and how women need to face their fears in order to ask for the salary they deserve.

1) A decade ago you taught yourself how to code Python and Django in order to build the web platform for your former startup, WeddingLovely.com. Yet, much of the impetus for your Hello web-dev book series was the frustration you felt with all of the programming tutorials you came across in the process. What were the shortcomings that you identified, and how are the tutorials that you created in response different?

It all goes back to when I went to university — I originally majored in Computer Science. Growing up with the advent of the web, I always loved building websites (yes, those funky table layouts) and I thought my love would translate well to CSC. Unfortunately, the way that the university taught programming (and how most tutorials and resources teach programming) did not fit how my brain worked. It was very conceptual and theoretical, when I just wanted to build something and see others use it. Consequently, I thought I was terrible at programming and I switched majors to Art.

I realized later on when I learned programming in a way that worked for me (project-based, step-by-step building, reduced theory, a “win” at the end) that there was an opportunity to share how I learned with others who shared my struggle. Web development was first, but this way of teaching can apply to most beginner subjects — I believe theory can come later once you have a feel for how to do the basics.

Follow-up: Do you believe your approach to teaching design makes the craft more inclusive?

Absolutely. While my tutorials work universally, I find that folks who don’t identify as white and male are drawn to them more. And the more we can teach these beginner subjects to a wide range of folks, the more diverse these areas will be once folks get to intermediate and advanced levels.

2) Women suffer from social anxiety at nearly twice the rate of men. In fact, you’ve noted that it was your own social anxiety that, regretfully, kept you from utilizing the mentors, networking opportunities, and career connections offered by the San Francisco startup accelerator you took part in for WeddingLovely. Fast forward to today, and you not only speak at conferences all over the world, you’re the Program Director at a (different) accelerator program. How did you conquer your social fears, and what advice do you have for other aspiring female tech entrepreneurs who struggle with this type of anxiety?

Oh gosh, I am still working on this. I wouldn’t call my social anxiety conquered, but greatly reduced. I was able to identify my triggers — lack of confidence and feeling isolated and alone — and once identified, I was able to figure out tactics that would boost my confidence and surround me with folks I felt comfortable with. Speaking at conferences was huge for this, as being a “speaker” raised my confidence and gave me a set of other people at a conference (other speakers) that I could latch onto when I was feeling alone. It’s odd saying that one of my greatest tools against social anxiety is public speaking, but it really did wonders.

I’m aware this might not work for others (as public speaking is a whole other set of anxiety); for anyone else, I would recommend to looking at the past and identify those pain points and those triggers, as once you have a specific action that you can pinpoint (like lack of confidence), you can better form tactics to improve that area rather than working on nebulous “anxiety.”

3) Sort of along these same lines is the fear of rejection, or of the unknown, that seems to disproportionately affect women’s career trajectories, particularly when navigating the tech industry. In your case, you spent your entire life excelling because of your technical prowess – from a kid creating websites, to getting a BFA in graphic design, to running a web-based startup and selling programming tutorials. Then you shut down WeddingLovely in 2018 and went in a completely different direction, taking on a Program Manager role at TinySeed, where you work with people not computers. What led to the departure from your wheelhouse, and how does it square with your career trajectory up to that point? More importantly, what can other women facing a major change in their career path learn from your experience?

My joy comes from helping others, and every role I’ve had has had an aspect of that in some way: WeddingLovely, my goal was to help small and local wedding vendors receive more business; with my books, I wanted to help folks learn new skills that they could apply to their career. TinySeed is yet another way I can work with folks and improve their lives, as my day-to-day role is being the main person our founders interact with and I guide the direction of the accelerator program. I find that I feel the most fulfilled when I am able to improve someone else’s life in some small way, and I love that my day job now revolves around being a people-person.

Career changes are immensely difficult but I hope that any career change comes with a better understanding of what brings a person joy. It’s scary taking on something completely new, but I find that being stuck in an unhappy role or position is even scarier. Plus, if you’re like me, something completely new can be invigorating.

4) Changing tracks (no pun intended) let’s talk about women getting paid. The gender wage gap persists, with women still earning 22% less than men for the same work more than 50 years after the Equal Pay Act. The World Economic Forum estimates it will take 217 years to close that gap – which actually went up from 170 last year. One thing women can do to affect change is simple: Ask for more money. But the vast majority don’t. You’ve directly addressed this issue, noting that the scariest moment in your career was orchestrating a 55% raise. What advice do you have for women who can’t imagine taking a bold approach to salary negotiation?

The doesn’t-feel-great-but-it’s-true answer is “what’s the worst that could happen?” Ideally, the worst that could happen is a “no.” Folks fear that the worst that could happen would be a demotion or even having an employment offer rescinded or being fired — and in that case, I would ask those folks, “Would you want to work at this company if that is their reaction to you having this conversation?” Probably not. In fact, the most likely outcome is your manager coming back with a counter-offer. So it comes down to internalizing that the worst that could happen is finding out that the company you’re working for isn’t on your side and that you should find something different, the best that could happen is that you get your raise, and the likely outcome is that you get some sort of salary increase. Breaking it down like this makes salary negotiation easier to do (but unfortunately it’ll never be easy.)

For folks already in a role and wanting a raise, there is something you can do if you have the time. It can be immensely helpful to interview at other companies while you’re in your role and before you ask for your raise, as it gives you negotiation practice, and, if you get an offer, and real number you can anchor your salary negotiations to (not to mention, if you have an offer, it gives you something to fall back to if your current role does indeed decide to let you go.) This involves a lot of juggling, but the process of interviewing for another job can be incredibly helpful for boosting your own confidence.

5) Back when you were running a startup and heavily involved in the programming world, you wrote about attending conferences, events and meetups where you were, literally, the only woman in the room. Sure, we’ve seen positive developments – Crunchbase reports that the number of female founders doubled from 10% of global startups in 2009 to 20% in 2019. And yet there remains a huge disparity in access to venture capital. Fortune recently found that even though the startup world raised 13% more from VCs in 2020 compared to 2019, companies founded solely by women received less investment than in 2019, accounting for just 2.2% of the $150 billion raised last year. Does this track with your own experience as a female entrepreneur, and – now that you work on the investment side of things – what options do aspiring female founders have for getting a foothold in Silicon Valley?

Absolutely. I feel that diversity has made huge strides in technology in the last decade, but sometimes it can feel as though venture capital is still in the dark ages. Traditional venture capital revolves around folks looking for a pattern, and when you don’t look like the Mark Zuckerbergs of the world, you have to work 10x harder to prove that you deserve investment.

One of my biggest mistakes when looking for venture capital when I was working on my last startup was not understanding that venture capitalists say they want to change the world and invest in those that are, but they also really need to see actionable ways you’ll be returning their investment multiple times over. I hate talking about money, and I find that a lot of female founders are the same — we want to talk more about the future and how our product will be but not about how the product is working right now (fit feels like bragging?) and how that directly leads to money money money. It’s gross, but folks who can lean into the gross can have better venture capital outcomes.

However, (and this is one of the reasons I work at TinySeed), I don’t want to encourage female founders to learn how to play the game if they don’t want to. Bootstrapping (growing your company without outside investment) or finding ways to fund your company with just an initial bit of money — like what TinySeed does — means more sustainable companies for folks who don’t want to do the VC rollercoaster. They don’t have to work 80+ hour work weeks, they can have families, side projects, other passions. I want more women to be funded, but I feel like we need more alternatives to just VC, as this will also increase diversity.

Software Guru Marianne Bellotti Doesn't Have Time for Big Tech's BS

For Women’s History Month, No Starch Press is spotlighting the contributions and individual achievements that female authors have made in the world of tech and on our bookshelves.

Kill It with FireMarianne Bellotti

This week, the focus is on software engineer extraordinaire and legacy-systems expert Marianne Bellotti (@bellmar). Her new book, Kill It with Fire (April 2021), reflects her internationally known work on some of the oldest, messiest computer systems in the world, and is rich with historical contexts for advancements in technology, fascinating case studies, flexible modernization frameworks, and her trademark wit. Bellotti currently runs Identity and Access Control at Rebellion Defense; prior to that, she oversaw platform services at Auth0, served on a technical SWAT team in the U.S. Digital Service, and built data infrastructure for the United Nations.

Below, we talk with Marianne about following social science into Big Tech, why a learning disability became her biggest career strength, how diversity affects software output, and the best advice she ever got.

No Starch Press: You took a fairly unconventional path to software engineering. For one, you’re completely self-taught; and, even though you were a fairly prolific hacker in high school, you blew off Silicon Valley to travel, study anthropology, and pursue a career in international development. Eventually, of course, you did get lured into the tech industry, where you’re now pretty much at the top of your field. What led to the pivot?

Marianne Bellotti: I was very interested in social systems. Actually I still am! A lot of Kill It With Fire can be described as organization theory. So I didn’t really change my mind about what I wanted to do, stuff I wanted to do just moved into the tech industry. At the time I went to college, being in technology on the east coast meant working for the banks, or maybe a Fortune 500 company. There was no Facebook. There was no Twitter. Google was just a search engine. Ten years later, the data science movement was getting ramped up and all the interesting activity around social science was shifting towards the way the ubiquity of computers was changing how people organized and interacted.

NSP: Given that it’s often difficult for women to “make it” in tech via traditional means (advanced degrees, networking, etc.), is there something to be said – based on your experience – for going your own way?

MB: The biggest advantage I had making it in tech was actually an experience I had in grade school. When I was eight years old I was diagnosed with a sensory processing disorder, which is a type of learning disability. I struggled in school a lot at first, and then as I found my rhythm I had to deal with the social stigma of having a disability. The attitude of people around me was that I couldn’t possibly compete with “normal” children and if I did better than the “normal” children it was clearly because I cheated. It broke my spirit for a while. I didn’t want to try, because what was the point? It was an awful time, but it came in handy when I entered technology.

Women in technology get treated exactly the same. Many people will assume you can’t possibly be as good as the men, and if you’re in the room it’s because you somehow cheated or because standards have been lowered. By the time I got into technology I had realized that those experiences I had in school were bullshit and I regretted giving up on myself. So when people tried to convince me I couldn’t be successful here because I was a girl, I didn’t internalize it. I just ignored it and kept going.

Some of the best software engineers I know come from non-traditional backgrounds. It’s not about degrees or credentials, it’s about giving yourself a chance. For some people the structure and credibility of a degree will give them the confidence to fight for a place in the room where things are happening. For people like me it was more about having other skills that could be super useful to gatekeepers. But one approach isn’t more effective than the other. You need to be resilient.

NSP: There’s a lot of talk these days about closing tech’s gender gap. After all, women make up less than a quarter of the technology workforce, and even fewer are in government tech roles. Are there solutions for making the field more inclusive, regardless of sector? And, as someone who’s literally written the book on the subject (Hiring Engineers), in what way can recruitment efforts or hiring processes help resolve this?

MB: I really believe that you don’t recruit diverse talent, you grow it. I think more engineering managers need to understand the dynamics of experience level. People assume that you should always hire the most experienced, most talented person you can. If you can fill a team with All Star talent, you should. But when you study how teams actually work, you learn that isn’t a recipe for success. All Star talent needs to own big projects. So if you fill your team with All Stars, they will end up burned out trying to run all the big projects they’ve started by themselves. My rule of thumb is when I need my team to deepen their expertise I fill out junior and mid-career roles. When I need to increase my team’s responsibilities, I hire senior engineers.

When junior roles are not an afterthought, it becomes much easier to plug in diverse recruiting efforts. I watch a lot of teams try to hire all senior, then someone comes through the pipeline who is just below the standard for senior and all of a sudden the team hires them for a more junior role that didn’t exist before. That’s a strategy that’s going to result in homogeneous teams, because the people who we see “great potential” in tend to be people who remind us of ourselves. So an equal candidate from an under-represented group doesn’t get a junior role created for them.

The other thing that kills diversity in recruiting is trying to hire and grow fast. It’s just math. Under-represented groups are going to be rare, if your goal is to hire the first qualified person who makes it through your pipeline, that person is probably going to be a white or asian guy. If you want a more diverse group to choose from you need to factor in some lead time to source candidates. Right now I’m working on finding leads for what I expect to be hiring in late Q3. I do a lot of my own sourcing. I don’t just sit back and wait for recruiting to send me candidates. (For that reason people who are interested in working with me should definitely reach out over Twitter and ask for a 30-minute coffee date! 😉)

NSP: To take this in a more granular direction, and one that speaks to your roots in anthropology, let’s talk about the gender gap in terms of Conway’s Law – the old adage that software mirrors the shape of the company that makes it (e.g., the org chart, team structures, etc.). Is there a parallel with how the lack of diversity in most tech settings is not only a matter of equitable representation but also one of technology’s impact on society being adversely affected by a perpetually male-dominated perspective?

MB: This is a super interesting question! We know from various studies that diverse teams make better decisions not because of different perspectives but because diversity makes people uncomfortable – it puts them on edge – which leads to more critical thinking. At the same time, I think the minority/majority experience does create its own set of assumptions that influence what problems you think need solving. It’s possible. And certainly it’s true that people from marginalized groups will see a different context around proposed approaches, particularly in civic tech.

NSP: You’ve talked about experiencing “imposter syndrome” early in your tech career – that little voice in our heads that says we’re not nearly as competent or talented as the people around us think we are. Struggling with feelings of professional inadequacy can either hold women back from taking on leadership roles in tech, or cause them to avoid/drop out of the field altogether. From an organizational standpoint, what can be done to better support and nurture young women entering the technology industry?

MB: I still experience imposter syndrome all the time. I find that the more of a reputation I develop as an “expert,” the more I enjoy playing the neophyte. It keeps me grounded by putting how difficult it is to learn things on display for others. It seems counterintuitive, but if I hid behind my reputation I feel like my imposter syndrome would get worse. By exploring things I don’t understand and being vocal about not understanding them, I feel much more comfortable with my place in the industry. For example, lately I’ve been learning program language design, and podcasting about my experiences trying to understand that stuff in a series called “Marianne Writes a Programming Language” – twenty-minute episodes of me missing lots of obvious things and needing experts to explain things multiple times just so that I know what to look up via Google later.

In general, I find that women tend not to believe any praise they receive for their technical skills. The best advice I ever got on this was from Mikey Dickerson. He interrupted me while I was in the middle of explaining how I wasn’t qualified for something and just said “you didn’t trick us, we know who we hired.” Pumping people up is the wrong approach. People need to feel seen. When he said this, it gave me a lot of confidence, even though it was a gentle admission of my flaws as a software engineer. And throughout my career, these moments of vulnerability have been the most valuable in fighting back imposter syndrome. When a very senior person confides in you that they don’t understand something, or are afraid to do something, it changes your perspective on your own self-doubt. I try to do the same for others. It’s not about being critical, it’s about breaking down the assumption that smart people are smart without trying.