How I Learned to Stop Worrying and Love the IDE

June 11, 2018

As someone who famously hates change I shocked a lot of people when I quit my job in the mortgage industry, moved across the country, and set out to learn new skills for a career in programming. A few years have passed since then, and I can confirm that while I did, in fact, learn to code, the most valuable lesson from that time of my life was how to adapt. In fact, when I finished my program and began looking for jobs that was how I pitched myself to potential employers. I may not know everything there is to know but I promise I will figure out how to learn it. Maintaining that philosophy has served me well in my time as a developer. When I was hired at Pixel and Texel for a front end developer role I was totally prepared to roll with the punches when it turned out that I was handed a lot of back end development tasks instead.

One of the first challenges I faced when transitioning from a strictly front end role was magnified by the fact that I had never used a robust integrated development environment (IDE) like Visual Studio. The point that caused numerous headaches when I first started is truly the thing with the simplest solution: remember to compile the code! With front end languages like HTML and JavaScript, a simple browser refresh will update the web page with the saved changes. But when I started working in Visual Studio I was frequently baffled about why the back end changes didn’t seem to be taking effect. These days rebuilding the project after all updates is second nature, but when code needs to be compiled prior to running other issues arise as well. At first, I was frustrated when I got build errors. I was used to quickly writing out code and testing it on the fly in the browser. But then it felt like I couldn’t even get that far because I kept getting errors that wouldn’t even allow the code to build. I soon grew to appreciate the instant feedback. Now that I’m used to Visual Studio catching so many issues like mismatched types or misspelled variables before they become mistakes, I actually am frustrated when JavaScript doesn’t register those same issues for me in the editor. It feels a little like sending a pilot to fly a plane and waiting until he is in the air before telling him that he forgot to pack the landing gear.

Another hurdle in learning to use an IDE is coming to terms with the vastness of features. I am continually finding useful tools I wish I had known about all along. Early on in my Visual Studio experience I was thrilled to see a coworker employ the Call Hierarchy viewer — such an obviously useful tool that’s just not as readily available with front end work.

As a transplanted front end coder, I’ve developed some strategies for navigating the unknown - whether it be front end versus back end or simply an unfamiliar code base. First, be willing to dig. When I started back end work I mostly worked on bugs in current code. So I would find my starting point (ideally a point where an error was firing or possibly where the front end was making initial contact with the back end) and work both forwards and backwards from there. I now trace the function calls backward to the beginning and then also from the point of error onward to gain an understanding of the ultimate goals of the code. Another important tactic is remembering to utilize documentation. I think all programmers can admit that we use the internet for problem solving, but as information rich as Google and Stack Overflow are, they will never surpass the documentation (for language, framework, third party package, etc.) in terms of pure relevance.

A lot of developers find their niche and never want to leave it. Specialization certainly has its place and being an expert in either front end or back end can be rewarding for many coders. But I’m happy to have found my place in the middle. Going back and forth between front end and back end helps me broaden my skill set while sharpening my critical thinking — and goodness knows it’s never boring.

Who We Are

Pixel and Texel is a development studio based in Dallas, TX, that is developer owned, operated, and founded. We have been creating made to order apps, VR, websites and backend solutions since 2011. Our team of full-stack developers combines decades of code experience, project planning, and coffee drinking to build the bridge that connects brands to consumers. We’re started this company to put development back into the hands of developers.