New Web Developers: Learn Everything You Can About the Business You’re In
OK, so you’ve just graduated and you’re a fledgling web developer. You know all about loops, variables, classes, functions, and maybe even regular expressions. You’ve learned how to solve problems formally, and how to codify those solutions so a machine may do them repetitively at scale. Chances are, though, assuming you went through a University or College level CS degree, or a boot-camp (like the one I teach) that you know very little about any particular industry.
Be In the Business
Software developers, with the exception of those devoting themselves to purely scientific research, or kernel development are generally only useful when they enter the field when they align themselves with some specific business interest. This couldn’t be more true for web developers. Without problems to solve, all that coding knowledge is not very useful, and the business world has an abundance of problems that can be easily solved with better software.
To be effective in such a position you need to throw yourself into learning the business and industry you serve with the same fervor you expressed in learning to code. I’d postulate that 90% of learning any new job, or learning to get by in any new company, is learning the lingo. I’ve worked on two major projects with the United States Marine Corps as a civilian contractor. The first time I worked for them, it was to produce a simulation and training program for the Bell / Boeing V-22 Osprey. The Osprey is an aircraft with two large helicopter rotors mounted on the ends of short wings. It takes off like a helicopter, but once airborne, the wings tilt forward and the aircraft then looks more like an airplane with really big propellers.
This Is the Part Where I Say “When I Was Your Age…”
When I started the project, I knew very little about aviation. Come to think of it, I wasn’t even a web developer yet, either. The Marines had what amounted to an entirely foreign language. It was filled with acronyms for nearly everything, and technical terms common to a field I had never studied. For example, Marines tend to call everything you can ride in a “boat”. I was working with aircraft. They were working with boats. I had to align my vocabulary with theirs in order to have meaningful conversations that could advance the project.
The second time I worked for the Marines, it was on a project code-named “AMMO”, and as you might guess, it involved ammunition. I’ve fired a gun before, and I’ve watched countless movies that had guns in them. But I had no idea the extent of knowledge needed to build a system to help the Marines manage their ammunition. I can write the code, make the database schema, optimize performance and make a killer UI. None of that mattered until I gained an understanding of the business of ammunition.
Web Developer to Subject Matter Expert
In both jobs, initially, and throughout the project, I had to rely on subject matter experts (SME’s). SME’s are people who know the business, but lack coding super-powers. You, my paddawans, are the opposite – you have coding skills but likely very little industry expertise.
Whenever you enter a new company or start a new project in an industry you don’t know, and really the only way you’d know it is if you started off in that industry and worked your way up, the first thing you need to do is identify SME’s who can help you build the systems to specifications.
Over time, you will find yourself adopting their terms and understanding their acronyms, first what they stand for, and later what they actually mean in your application. You’ll slowly shift from being just a web developer to becoming an industry expert.
How Is This Done?
Ask lots of questions and work to gain an understanding of how and why things work. I my case, I had to learn about things like helicopter engines, APU’s, and fiberglass fabrication and repair. On the AMMO project, I had to learn about rules for transporting and storing ammunition. While you don’t necessarily need to become a SME yourself, if you can, it gives you a great advantage.
I emphasize the how and why phrase above to point out that generally, we as humans have individual learning styles. Some of us learn procedurally, meaning we do really well if you give us a list of detailed instructions; a procedure to follow.
Make Sure You’re Not “Just Following Orders”
For some of us, the procedure isn’t enough. We’re wired differently. We need to know why things work the way they work. This is crucial! If you don’t understand why, you are limited to just following procedures. You won’t be able to make recommendations, nor will you be able to solve problems effectively. In short, you will not be innovative, because you can’t innovate if you don’t understand the why of what you’re building.
Relying on your SME’s means you have to have constant access to them, which isn’t always practical. Every time you need to go ask them something, it takes time away from them doing their “real” job. Even though your job title is “web developer”, learning as much as possible means fewer trips to ask questions. Productivity sky-rockets. As you acclimate to the industry you serve, you will start to become part of that industry. When that happens your value to your company, and the industry, goes way up.
The alternative is unacceptable. Stay comfortable in your ignorance of how things work in your project, and why the specs are what they are. When you put it like that, you’ll feel, I’ll wager, compelled to send yourself back to school.
Become a Better Web Developer: Learn as much as you can about the industry you’re in.