2 years out of college as a Software Engineer

2 years already…?!

Coming out of college I had ambitious goals for where I wanted to be, how I wanted to be perceived, and who I wanted to work for. However, for most people, their first job is not picked from many choices but usually chosen out of necessity. I was lucky enough to land a job at PayPal coming out of college and started in August 2017. Now, two years later, I’m at LinkedIn and will soon be completing my first full year here. I want to reflect on some of the personal and technical growth that I’ve experienced across both companies over my short two-year career.

From https://www.lucidchart.com/

Expectations

First off, when I got my job out of college, I was pretty nervous. I had created a few websites in high school and college and loved working on them as an entrepreneur.

I was worried that joining the workforce as a software engineer working for a big company might ruin the joy I had for creating things.

After working at PayPal for a few months, I was relieved as I still enjoyed programming but differently; solving complex problems at a large business scale was challenging and rewarding. I fit right in with the team, and we had good synergy on a personal level, which made me feel comfortable and allowed me to do great work there. I enjoyed working in a team and executing on our shared goals. However, as I entered the workforce, I realized what my biggest skill gaps and strengths were.

Figuring out the workplace environment

I had no formal internship before joining PayPal, so I had never been in a “corporate” environment with a manager or a team of software engineers. As I started working I made mistakes and learned lessons on how to communicate with others. Developing communication skills take time; it didn’t happen overnight or during one two-week sprint or retrospective. It took me a while to fully grasp how to communicate with others: my immediate team, my manager, cross teams, skip-level, engineers, designers, product managers, etc. Learning how to talk to others effectively to get what you need is critical. Knowing how to connect to others, network with coworkers, and meet people within the company is a valuable skill that pays dividends. Now, at LinkedIn, it’s easier for me to work across teams: aligning goals, understanding shared needs and then executing on our shared vision.

Be grateful

Another takeaway from my career at PayPal was an important reminder to thank others that have helped you. When you need help ask for it, but don’t forget who helped you. Reach out to their manager and tell them how much that person helped you and how appreciative you are. There is no shortage of kindness and honesty in the workplace! It’s not sucking up, it’s thanking someone for taking time out of their day and helping you. The person will help you more, receive recognition for their support, and you will learn from them and get your work done faster. Win, win, win, win! I practice this at LinkedIn as much as I can. I ask for help from lots of people to solve intricate problems and I thank everyone along the way for giving me their attention and time.

Change your perspective

For my technical prowess, I improved through two ways: changing jobs and writing/reviewing code more frequently. PayPal has its way of doing things and LinkedIn has their way of doing things. I found it extremely useful to be able to compare and contrast the technical setup for each company: mobile architecture, developer tooling, testing, code reviews, infrastructure, staging environments, etc. On some aspects, PayPal had a better solution and infrastructure. On other problems, LinkedIn’s solution was 10x better than PayPal’s. When I joined LinkedIn, I was quickly integrated with the mobile codebase because of the similarities between the iOS application infrastructure. I was able to learn what architecture, infrastructure, and tooling are most effective to operate in a large mobile codebase. It was intriguing to see some solutions automated at LinkedIn that were not automated while I was at PayPal. Measuring developer productivity is interesting as you can see where the company invests its time and resources. Truthfully, I’m excited to join a new company after LinkedIn… knowing both PayPal’s and LinkedIn’s tools and architecture, I will be able to draw even more insights about mobile development and developer productivity at my future company.

Don’t stop learning

How could I level up my technical abilities? How could I write better code faster? Well, initially I wanted a book or a video to help me grow. Early on I was looking for something to tell me how to be better, and to fill knowledge in my head. However, I found most of my technical improvements came from working every day. Working on different codebases, solving different problems, working with different minded people. Gaining a perspective, problem-solving in different domains, and learning different languages helped me level up with my technical know-how. It is always interesting to look back on code you wrote two years ago… wow, I’m sure I thought this was great at the time but this doesn’t look that good now 😂. It’s a humbling feeling, sometimes you don’t realize you got better until you examine your old code. The beauty of engineering is there are always new problems out there and there is so much to learn and discover.

As long as you keep your mind open and are ready to tackle new challenges you will grow.


Final thoughts

Overall I’m happy with where I am, the mistakes I’ve made, and how I’ve changed and evolved as a person, friend, and software engineer. I’m pretty damn excited about my future at LinkedIn and my future beyond. One day I hope to get back to being an entrepreneur and creating my startup with some awesome people… but for now, I’ll be steadily leveling up my skills until the time comes :)