10 lessons I've learned as a Software Engineer at Postman
Dec 16, 2018 - the day I joined Postman as an intern! I've come a long way since then, both professionally and personally. Building Interceptor for Postman Native Apps was a stepping stone in my career as it was my first full-fledged software project. For the first time, I had the opportunity to contribute to all stages of the Software Development Life Cycle.
Since last year I have been working towards enabling workflows to connect developer's favourite tools and services seamlessly with Postman. If your favourite tool isn't yet mentioned here, the team would be delighted to hear from you. Raise a request to get an integration you need. π€
The last two years have been tremendous in both my professional and personal development. Three months ago, I was promoted to Software Engineer II, and I'd want to share what I've learned so far. If you're just starting out your career, the lessons below might be helpful.
Keeping my journey short, here you go!
π
1. Always be curious π§
Coding won't drive you long, curiosity will! Curiosity lets you ask questions that help you see new perspectives of the problem you're trying to solve. Learn to question every requirement before you start smashing your keyboard. When you ask a lot of questions, you learn the requirements from the end-user's point of view, not just from a developer's point of view.
2. Communicate! π¬
Prior to joining the firm, I had the impression that software developers spent their whole day coding. In fact, dealing with a range of people across the organization makes up a large portion of software engineer's day-to-day responsibilities. You must communicate on many levels as a developer. You'll be in meetings for hours, listening and talking. In my initial days, I used to listen to the conversation and learn from my senior colleagues.
So, it turns out software engineers spend a lot of time collaborating across IM channels like Slack, email, reading product specifications, reviewing code, interacting with stakeholders on GitHub issue trackers, hiring engineers, and attending meetings. Be it verbal or written communication, it's the most important asset one can have! Remember, you're communicating only if you're conveying the information.
Your schedule may appear to be crammed with meetings for the day at times. Postman's no-meeting Wednesdays and daily focus time to work on deliverables have been quite beneficial to me.
3. Learning is a continuous and ongoing process π
No one has all of the answers, but everyone is willing to learn! Each developer is unique, with individual strengths and weaknesses. Keep adding to your knowledge portfolio, whether it's a tool, language, framework, or design pattern. Learning allows you to broaden your horizons.
At Postman, I work with JavaScript
all of the time. Every six months or so, a new JS framework emerges, and I try to figure out how this new addition to the JS family is revolutionizing the world. The JS community on GitHub has been quite helpful to me. Open Source kept me on my toes and encouraged me to always strive to do better.
4. Coding is a team sport π€Ό
π
Choose the best group of code athletes to play with!
Collaboration is the key! Individuals can't develop and scale their applications on their own. Coding is a team sport. I consider myself fortunate to be playing this sport alongside a couple of the smartest tech-brains at Postman. π§βπ»
5. Know the impact of your code πͺ
They say you can change the world with code. As software engineers, we must know how we are changing the world. Look beyond the scope of your task to get a sense of the bigger picture.
Knowing how my code impacts the millions of developers that use Postman to gear up their API development keeps me motivated and inspires me to write better code to meet their high standards. This boosted my confidence as an engineer, and I realized that the work I was doing might genuinely make a difference in people's lives.
6. Document your code βοΈ
Nothing felt more boring than creating docs back when I was in college. But when I first started working, I learned the actual value of documentation. Time spent on documentation rather than developing is not lost. Itβs not the most exciting part of a software project, but it does make all the difference. If itβs done right, it will not only save you time but also improve your product. As Postman began to scale, the documentation from various squads served as guidelines, allowing us to execute things correctly on the first go.
The same goes for comments. Comments arenβt an alternative to writing clean code, but an inherent part of it. It helps other developers to understand your code. And it's not just about deciphering other people's code or conveying your thoughts to others. How often have you found yourself wondering what you were thinking when revisiting old code, fixing a bug, or been surprised by a git blame
revealing your own name?
Do your team a favour and properly document your approach. It is critical to include code comments. The better your code is documented, the fewer friction others will encounter while contributing to your codebase.
7. Code !== Happiness π
Even if your pull request is overflowing with comments, don't be upset. Don't be afraid to make mistakes when learning. Be happy and continue to improve!
You'll be a happy software engineer if you enjoy learning and adapting, as well as taking on new challenges every day. Productivity and well-being are aided by happiness. In my early days, I used to become upset on Mondays when a bug appeared in the code I had baked in the previous Friday, causing my entire week to be disrupted. Later on, I realised that rather than being irritated, we should learn from our mistakes and that it's fine to make mistakes as long as we don't repeat them.
8. Think API-First ποΈ
When I first started as an intern, I discovered that hitting an API endpoint and receiving a response is only one of Postman's numerous features. A few days later, I learned that the world of software development is moving from a code-first approach to an API-first approach and Postman is leading the way in the API-First universe.
Gone are the days when you wrote your code first; now it's all about building your APIs first. API-First thinking is crucial because it forces us to pause for a moment and consider the bigger picture. To better understand the API-First term, read this article by one of the Postmanauts. π§π»βπ
Not only did I learn about the typical Software Development Life cycle, but also about the API Development Life Cycle. Today Postman offers tooling for all the stages of API development. If you're a student, consider checking out these programs to learn about APIs. π
9. Work remotely π
While some of us worked from home prior to the COVID-19 pandemic, it's a whole new ballgame for others who haven't. Working from home was difficult for me for the first 3-4 weeks, but now I can work from anywhere for my employer; all I need is decent internet connectivity. While I don't miss getting up early, dressing up, or commuting in Bengaluru's crazy traffic, I do miss our lunch table gossips, office parties and Cooper - Postman's Chief Happiness Officer!
With more and more firms moving toward forming teams of remote engineers spread around the globe, you should learn to work remotely - managing your time, prioritizing your tasks, avoiding distractions, and overcoming feelings of isolation and loneliness as you work outside of a regular office setup. It may take some time to adjust to this ever-changing normal.
10. Don't be a robot, build relationships π€
Human beings are a social species, and given that we spend one-third of our lives at work, it goes without saying that the better our relationships at work, the happier, more engaged and productive we will be.
Many people working in the "work-from-home" setup are still getting used to it. This "new normal" has affected not only our workstations but also our team relationships in some ways. We don't have the room or time to socialize with our coworkers when working on a deliverable because we're entirely immersed in our daily activities. Interacting with my coworkers at virtual coffee meetings and team-bonding activities such as Friday's game evening have helped me relieve the monotony of work. Don't hesitate to speak with your peers whenever you have the opportunity.
π
I might not be able to express how thrilling and wonderful it's been to be a part of Postman, witnessing the the team expand from less than 100 to more than 400 and the number of users climb from 5+ million to 15 million in the previous 2.9 years. Hit me up on Twitter if you're excited to learn more! If you're interested in working with us, take a look at the available positions.