Going into my internship with Caktus, I had three months of work experience as a software developer at BruVue, a start-up in the IoT space. My time with BruVue left me with a strong understanding of React.js and working with technologies such as Express.js, Mongoose ODM, and Knex Query Builder to build decoupled applications. I also had the opportunity to build an npm package called in-orbit, a React library of loading icons.
The skills I gained at BruVue set a great foundation for my internship. I joined Team Discocaktus (Disco) as a front-end developer focusing on the Single-Page Application we were implementing using Vue.js and a Django REST Framework backend. Over the course of my internship the team got me acclimated to the project slowly in an Agile environment by first giving me bugs to fix, followed by UI tasks, and eventually full-stack tickets. The gradual onboarding process Team Disco employed gave me a better understanding of exactly what we were building, the technical requirements, and how our Django powered tech stack meets our clients’ needs. A common theme that developed throughout my internship was the need for me to learn through trial and error.
I was able to re-package the concepts I learned in React to build out stateful Vue components and transfer state throughout the app using the Vuex store; however as tickets began taking on a backend focus, I became increasingly dependent upon our Slack channels, ad hoc meetings, and the peer review process to bridge the gap in my understanding of Django and Django REST Framework. I’m quite thankful for the patience and time investment the Disco team has given me.
Day 90 & Insights
It’s amazing to reflect on all of the skills I have gained over the course of my internship. I now have a working understanding of Vue, Django, Django REST Framework and Python. In recent weeks, my role has expanded and I now help maintain projects for a variety of clients. I’m thrilled to say that I’ve started a full-time position with Caktus Group. Although internship experiences vary as broadly as the companies offering them, I believe the below advice can help anyone making the transition into tech.
- When starting a new career as a software developer, I believe it is natural to feel indecisive about the quality of code you are writing, but understand that software development is a field where you need to write code in order to gain feedback and improve your skillset. My mantra has been “code until something breaks, troubleshoot, and code until something else breaks.”
- Be correctable! You are an intern. You are not expected to know everything. Ask questions and make sure to incorporate constructive peer feedback. You’ll become a better programmer and more adept at working within a collaborative environment.
- No matter what tech stack you are using, become familiar with the debugging tools at your disposal. I was able to learn so much about Python and Django by applying a generous amount of Python Debugger’s
print()statements throughout the code I was working on.
Thanks for reading about my experience and I hope you found the above advice helpful. In the future, as my skills as a developer continue to take shape, I hope to bring you technical posts on topics ranging from Graphene-Django to Styled-Components to Python’s CSV Module. In the meantime, continue toward your goal of working within tech by building better projects, networking through meetups, and taking advantage of internship opportunities as they arise. With hard work and dedication these opportunities can translate into full-time roles.