July 5, 2023 — 8 min read
How Kelvin Went From Mechanical Engineering to Software Development
Kelvin is a seasoned software developer with a decade long experience in building apps, services, APIs, and databases. Beyond his technical skills, he also shares his insights and experiences on social media.
Hey! I’m Kelvin (aka KG); a professional software developer who's been in the industry for ~10 years. I've built many websites, web apps, mobile apps, services, APIs, and databases with 🖤. I also share my experiences and knowledge on social media.
How did you make the decision to switch your major from mechanical engineering to computer science? Were there any challenges you faced during that transition?
So I started college as a mechanical engineering major and hated the physics/theory lol. The engineering school made us all take one programming class. While most of the other engineers hated the class, I LOVED it. No one in my life or nothing I’d seen ever mentioned there was a major for programming (tech careers weren’t as hot a topic as they are now). So after my first class in the Computer Science building (which I didn’t even know existed at the school), I switched to a computer science major!
The main challenge was building a passion for learning and specifically learning to code. At first I was a young college student who was just trying to pass classes any way I could. At some point I matured and really embraced the learning process (started to really enjoy coding).
Can you share a bit about your experience working at the chat tech company? What have been some memorable projects or challenges you've encountered?
Working professionally for LivePerson has been rewarding, challenging, and a massive learning experience. I actually started with a smaller chat company called ContactAtOnce that was eventually bought by LivePerson. There I was able to grow my skills very fast, working on console/web/mobile apps, web services/APIs, databases, etc. Through LivePerson, I’ve had the opportunity to work on chat with big clients like Microsoft, Verizon, Home Depot, GoDaddy, Spotify, Delta, and more.
Over the years, are there any specific technologies or frameworks that have had a significant impact on your work?
I’m pretty agnostic to technologies so I’ve learned/used A LOT.
The most rewarding thing is being about to build something from nothing. It’s being able to build something valuable to people through software. I love seeing people using the things I’ve developed, and I’ve been fortunate enough to build things used by millions.
Have you encountered any major setbacks or failures in your career? How did you overcome them and what did you learn from those experiences?
One setback was not being able to graduate from college on time (in 4 years). I didn’t take things seriously the first few years so I ended up having to make up for that later. I learned that time is more valuable than money.
I think the best way is to always be building, whether that’s at work or on your own. You’ll often find yourself leaning into the latest and greatest automatically then subscribe to tech newsletters and blogs. Social media is also a great way to keep your finger on the pulse.
What are some common misconceptions about being a full stack developer, and how would you address them?
For a full stack developer specifically, one is that you are always working on all parts of the stack. The reality is that you often could be working on only the front-end or back-end for long periods of time. Where “full-stack” comes in is that you have expertise in multiple areas of the tech stack, and can pivot when needed.
Have you had any experiences mentoring or guiding junior developers? What advice do you typically give to help them grow and succeed?
I unfortunately don’t have the bandwidth to deeply mentor anyone, but I do my best to answer dozens questions all the time on my social channels. At work, as a senior, I often need to offer guidance to newer devs through retrospectives, code reviews, architecture reviews, and discussions.
Always be learning, learn how to learn, be tech agnostic (don’t be too allegiant to certain technologies), keep things simple (don’t over-architect), automating things, and take the reigns on your career (your manager shouldn’t care about your career more than you do)
I wake up and get ready for work. I work from home so it’s pretty much just logging in to check emails and Slack messages. In the morning we have a standup meeting. Throughout the day I’m either in a meeting, researching/architecting a solution, coding a solution, or reviewing code. After work I eat (intermitted fasting), work out (sometimes), and later through the night I work on my personal projects and social media content.
The tech industry has been growing and seems to be accelerating. I’m excited for the tools that will be available to us and opportunities.
Maybe one day in the far future when it’s nearly sentient lol, but in that case developers losing jobs will be the least of our worries; so many others would have been affected. In the near future I do see it taking some jobs, but I mostly see it as a tool to assist developers. You can talk to developers from 30 years ago and they will tell you about the fears they had of things we use everyday now.
Are there any specific areas of software engineering or technologies that you would like to explore further in your career?
Game development! I’d love to start with creating some 2D, pixel-based games in Unity/C#, and then eventually games with more complex graphics.
It’s a constant battle. Setting expectations at work with coworkers and leaders can help. Making sure you truly disconnect when you are off can help. The biggest thing though is optimizing your productivity, and making sure you focus on the right things. Also realize that working a lot of hours isn’t a one-to-one correlation to career progression. That work will be there tomorrow.
Looking back at your journey in the tech industry, what advice would you give to your younger self starting out?
Take the reins on your career! Like I said earlier, it’s not your manager’s responsibility to drive your career. Sometimes that means asking for certain tasks or to be on a certain team. Sometimes it means asking for a raise or pursuing a new opportunity.
What advice would you give to aspiring software engineers who are considering switching their career paths or majors to pursue programming?
DO IT! It will be hard but It will be worth it.
Practical advice: make sure to do REAL projects along with your learning. There are certain things you can only learn from doing, and running into REAL problems.
Lastly, could you share what the future holds for you? Are there any exciting projects or learning opportunities on the horizon?
Soon I will be focusing a lot more on building and releasing my own services/apps, and I can’t wait. Professionally, I’m working hard now to transition (hopefully soon) into a principal/staff engineer role, which I’m really excited about.
Huge thanks to Kelvin for taking the time to share his wisdom and experience. Make sure to follow him on his social media channels to stay updated with his latest projects and adventures. And don't forget to subscribe to the newsletter.
Next week, we'll have a chat Olha, a self taught front-end engineer so stay tuned. Until next time, keep coding!
Thanks for reading! Subscribe below to receive new articles, tech news and job opportunities directly to your inbox!