by Clark Newell
October 7th 2019
TLDR: I have loved learning to become a truly Full Stack Developer. While doing something different every day or week definitely fights away boredom and constantly offers up new challenges, I would love the opportunity to develop an expertise that I am known for.
15 months ago, I graduated from a full-time bootcamp program at Galvanize in Denver. Six months later, after a lot of networking at meetups, at home coding projects, udemy tutorials and countless job applications, I got my first gig as a software developer. I had landed a paid internship at an agency in Pleasant Grove, Utah, where I am still employed today.
I am very grateful to the agency for the amazing opportunity and growth experience. I came out of the bootcamp having learned some HTML, CSS, and JavaScript. I had some amazing experiences networking with startups and numerous devs at several different meetups, including a monthly one that I co-organized and promoted. I had built a few grade-passing yet mediocre apps. I thought I was hot stuff and ready to take on the world. Boy, was I humbled, and how. I knew I still had a lot to learn, but I had no real idea.
What I am getting out of the internship experience:
- Exposure to (seemingly) everything, but the kitchen sink. Well, actually, that's not entirely true because all employees were expected to help keep the kitchen sink clean...
I once read that a dev shouldn’t clutter their resume or LinkedIn profile with a lengthy list of all the languages and libraries they have encountered in their career. But since I haven’t yet had the opportunity to have a focus or specialty, I feel compelled to list some here just so that I demonstrate I have the ability to learn quickly and take on challenges. Our agency has a diverse portfolio of clients and all of them have a somewhat if not very different tech stack.
Some of the things that I have had to grasp, at least to get the job done (often with a lot of mentoring) are:
- C#, ASP.NET and Entity Framework.
- Visual Studio debugging (I’ll never forget my first week when my team lead asked me if I had downloaded VIsual Studio yet, and I said “I sure have,” to which he said, um “that’s VS Code.” Total facepalm newb moment!
- SQL queries
- SQL Server Management Studio (SSMS)
- Razor (server side view engine for C#)
- Shopify
- WordPress
- Magento
- PHP
- Zoho API
- AngularJS (I had only been exposed to React and Vue.js at bootcamp and to me, AngularJS feels very different from those)
- Angular
- Azure (exposure to, while CI/CD maintenance and deployment of apps is managed by Sr. Devs or the Team Lead, I have sat in on several discussions on the how and why).
- System architecture (even as an intern, I have been given assignments to write up recommendations for clients)
While this list is anything from exhaustive, it does seem to be growing weekly, if not daily.
- A true appreciation for Continuous Learning
At Galvanize, one of the very first concepts taught was “Learning to learn” and an appreciation for continuous learning. From the beginning, Galvanize instills in their students, that being a developer involves continuous, efficient, focused, and frequent learning. This is another example of thinking, OK, great!” only to find out what this really meant out in the wild.
- Emphasis on problem solving first, coding second
During a monthly review my technical team lead and project manager made this focus very apparent. They stated they weren’t worried about my newb coding skills, and quite frankly said that anyone can google for the correct functions until they have pieced together working code. One thing that not everyone can do is take a client’s problem and quickly find a creative solution. At our agency, they said, that was the number one priority.
- Time management: the biggest challenge
Most clients at the agency are billed hourly for time and material. This results in a policy of thoughtful task quoting followed by accountability and pressure to finish the task within the quote or allotted time. Tempo timers are strict and Jira cards need to be thoroughly commented on how every hour of every task was spent. This comes in handy when justifying or defending the need for more time with the product manager.
Outside of work, time management has been a struggle as well. In order to have good health insurance at a reasonable rate and make ends meet, I’ve had to hold on to my second gig at a retail store. Sometimes coming home exhausted from pushing myself at the coding job, with just a few hours to spare before I have to work retail until midnight, I have found it challenging to pursue at home coding projects and tutorials in order to beef up my personal portfolio. I also keep my mind sharp and ward off stress by vigorously exercising indoors or being outdoors for a little bit 5 to 6 days a week. While I won’t stop trying to be faster, better and more efficient will my time at work and at home, I hope that prospective employers will understand this dilemma and that I do work hard.
What I am seeking next
I have loved learning to become a truly Full Stack Developer. While doing something different every day or week definitely fights away boredom and constantly offers up new challenges, I would love the opportunity to develop an expertise that I am known for. I feel the need to be really good at a few specific aspects of software development while understanding there will always be a new technology right around the corner that will demand some of my attention or a shift in focus and specialty as my career moves on.
I also believe from years of call center management, finance, grocery, retail, food service and academic administration, I have a knack for working with the public and task organization. Combined with my ability to relate to developers, and increasing knowledge of software development, I see myself leveraging this ability to mediate between both worlds as a Technical Product Manager, Solutions Engineer, Developer Relations or Product Evangelist.