Joel Spolsky: What Does It Mean to Be a Software Developer (Preface to Coder to Developer)

image


Mike Ganderloy, book “Coder to Developer”

Do you know what drives me crazy?

"All?" - you ask. Well, some of you know me too well.

But seriously, it just pisses me off that most developers don’t even realize how insignificantly little they actually know about software development.

Take me, for example.

As a teenager, as soon as I finished reading Peter Norton's famous assembler language guide for IBM-PC, I was sure that I knew everything there was to know about software development. Yes, hell, I was ready to found a software company and create a word processor. I was absolutely sure that great success awaited me. I even imagined how every hour my software company would arrange coffee breaks with free donuts. Well, in those days, many of my dreams came down to donuts.

After the army, I graduated from college and received a diploma in computer science. Now I really knew everything. But I knew much more only because I studied a bunch of computer and scientific rubbish on linear algebra, NP-complete problem and damn lambda calculus. But all this is obviously useless. I decided that they must have exhausted the supply of useful things that we would need to be trained, that’s why they scraped the crumbs on the guts.

But no. At my first job, I realized how many things the department of computer science did not consider it necessary to bring to our attention. Things like teamwork on software. Practical user interface design tips. Professional tools like version control, code error databases, debuggers, and profilers. Effective things. The computer science departments of even the most prestigious universities will not teach you what is not of a purely academic nature; and even more so to teach what high school students study at a local vocational school, in order to later become a car mechanic, an air conditioning repair technician, or a "smelly software developer."

In part, I understand this attitude. In the end, the goal of many prestigious universities is to prepare the student for life, and not to instill in him professional skills that will become obsolete in 10 years.

Over the next decade, I gained incredible knowledge about software development and the nuances associated with this process. I worked at Microsoft in the Excel development team, in Viacom - in the web team, in Juno - on their email client. And you know what? At each stage of training, I was absolutely sure that I knew everything about software development.

“So maybe you're just a presumptuous moron?” - you ask, and even perhaps use the word abruptly "moron". I apologize, but this is my introduction; if you want to be naughty - write your damn introduction, tear mine out, and insert your own then.

There is something strange, some mystical power in software development that makes people think that they know everything, what and how to do. I worked in dotcoms full of humanities specialists. They had no experience working with software and never learned this, but nonetheless were convinced that they knew how to manage development teams and develop user interfaces. This is strange, because no one thinks they know how to remove inflamed appendicitis or restore a car’s engine if they don’t actually have the appropriate skills. But for some unknown reason, these same people are sure that they are fully aware of how to develop software.

One way or another, all responsibility falls on your shoulders. It is possible you will have to learn how to develop software yourself. If you are lucky, you, of course, will work with first-class software developers and they will teach you, but most will not have this opportunity. Therefore, I am glad that Mike Ganderloy took the responsibility to write the book that you are now holding in your hands. Here you will find a pleasant, well-written introduction to many of the most important things that you will need to know when you turn from a person typing code into a person developing software. Catch the difference? It’s like a six-year-old child who can draw a few simple words with a pencil and grow into a successful novelist who writes books, receives rave reviews and sells millions of copies.To be a software developer means to take a concept, create a team, configure all processes, develop a software product (the desired software product) and produce it. This should be not just a software product, but a high-quality software product that solves problems and pleases users. With the documentation. Web page. Installation program. Test script. Version in Norwegian. Conversational and literary. Snacks, dessert, twenty-seven color glossy photos eight by ten inches in size with arrows, circles and explanations on the back. (I apologize to Arlo Guthrie.)This should be not just a software product, but a high-quality software product that solves problems and pleases users. With the documentation. Web page. Installation program. Test script. Version in Norwegian. Conversational and literary. Snacks, dessert, twenty-seven color glossy photos eight by ten inches in size with arrows, circles and explanations on the back. (I apologize to Arlo Guthrie.)This should be not just a software product, but a high-quality software product that solves problems and pleases users. With the documentation. Web page. Installation program. Test script. Version in Norwegian. Conversational and literary. Snacks, dessert, twenty-seven color glossy photos eight by ten inches in size with arrows, circles and explanations on the back. (I apologize to Arlo Guthrie.)circles and explanations on the flip side. (I apologize to Arlo Guthrie.)circles and explanations on the flip side. (I apologize to Arlo Guthrie.)

And then, one day, one fine day, you finally wake up and say (although it may be too late): “Hmm. What if I really don’t know what is really needed for software development. ” And only on this day, and not a minute earlier, namely on this day, and from that day on, you will receive the right to call yourself a software developer. And now, while everything has not been lost, here is my blessing to you if you want to eat donuts every hour.



image
Learn the details of how to get a sought-after profession from scratch or Level Up in skills and salary by taking SkillFactory online courses:



Read more



All Articles