6 Lessons On Work Ethic I Learned In One Year Of Professional Career

vagnini_101317_4227_hero_lg

Time flies. Recently I had completed one year as a full-time employee at my current employer Squad. A year has passed, and I decided it was time to revisit instances, memories, and experiences and to recollect what I had learned as a professional in this past year.

It was also a wake-up call to reassess and redirect the ship named professional career to make sure it doesn’t get stuck in a whirlpool.

After all, our career is our responsibility and we all should make efforts to “Own our story!”.

This is going to be a list of 6 important lessons in professionalism and work ethic that I learned working as a Product Engineer at one of the most innovative startups in India.

1. Know your field

Do you know what a facade pattern is? Do you know what sprint and story points are? Do you know how to work your way with the debugger your IDE provides?

A wealth of ideas, disciplines, techniques, tools, and terminologies have decorated the last fifty years of our field. And if we want to be a professional we want to know a sizeable chunk of it.

The motto that I believe in is, “If you want to see far, stand on the shoulder of the giants”.

 

2. Continuous Learning

The frenetic range with which the industry is changing, it means that we as engineers also need to learn colossal amount just to keep up.

Read books, read articles, watch talks. Keep adding deltas to your learning daily.

 

3. Practice

This stuck me around 2 months back. Tennis is my favorite sport, and players believe that playing in the tournaments continuously actually makes their game less polished.

It’s the deliberate practice of doing things right, which makes it gleamy again.

Is it true about our jobs also? Cutting corners to meet deadlines, working on the outdated stack at the company, working with legacy code, can all this make us less sharp.

At least I find it to be true, and practice to deliberately improve your craft is a vital component of one’s work ethic.

 

4. Know your domain

It is the duty of every software developer to understand the domain of the solutions that they are programming. If you are writing software for healthcare, get at least a basic understanding of healthcare, if you are writing for sales, know about sales.

Read a book or two on the domain, ask the domain experts.

We should be able to know enough about the domain to question the product direction and feature requests that we get.

 

5. Collaboration and mentoring

We all must make special efforts to collaborate, mentor and get mentored by other developers.

Whatever I have learned in this course of one year, a major portion of it due to learning from others.

 

6. Humility

Programming is an act of creation. It feels like magic when we can write code that can do things that can produce tremendous value.

We all should take pride in our work, but never be arrogant about it. We should be confident in our abilities and take risks.

But we must know that we will fail. Things that we create will break, risks will be proven wrong and we will be called upon for these mistakes.

And when all this will happen, all we can do is be humble and take Howard’s advice, laugh and move on.

 

That’s all, folks!

 

Advertisements

Strive to learn : 8 Ways to optimize for learning at work as a software engineer

avi-richards-183715-e1499951479114

A large open space with amazing ergonomic chairs where people discuss and execute upon disrupting ideas. It’s right next to company’s game room where you unwind after a hard work day.  Here is we as engineers, get to work on products that our customers love and we love delivering that delight by continuous delivery (or something else :P).

Yet the most prominent thing that excites and should excite an effective engineer is the opportunity for learning at work. Optimizing for learning is a high leverage activity and should be on the top priority for every engineer.

Here are 8 ways to optimize our work for learning, deeply inspired by the book The Effective Engineer.

1. Study code for core abstractions written by the best engineers at your company

pydev_refactoring

I have been lucky enough to be the dumbest engineer at Squad. But that has allowed me to learn very aggressively during working hours just by reading through libraries and modules written by other awesome engineers.

So next morning, open that black box that you’ve been importing for so long in your code and dig through it.

2. Do more of what you want to improve

In more relatable terms, if you think you want to improve writing SQL queries, do more of that. If you want to improve at doing code reviews, do more of that.

Practice and deliberately touch your weak points instead of cutting corners. You’ll be amazed how helpful your fellow engineers/friends will be in helping you do so.

3. Go through as many technical materials available

We at Squad have a dedicated slack channel where engineers share good to read articles, blogs and podcasts.

I’ve made a pact to go through each and every article that is shared on that channel irrespective of the domain or the tech it. And so far this has been a catalyst for my learnings on things that I didn’t even know were there to learn.

4. Master the programming language that you use

Read a good book or two on them. Get to the internals of the language that you use primarily at work. We at Squad use python heavily for the back-end, machine learning, data analytics and everything.

Personally, I’ve added 2 great books to my reading list that I’ll be picking next:

  1. Fluent Python
  2. Mastering Python Design Patterns.

5. Send your code reviews to the hardest critics

1_INwRDJ_vspfJKkyFpv5jww

At Squad, code reviews are in the DNA of engineering processes. I’ve been very fortunate to be on-boarded to the Squad codebase by one of the best and hardest code critics at the company. It really helped me in developing high code quality standards and also the art of reviewing code.

Not only that taught me how to write better code but also how to deliver your code reviews in a respectful manner that the other person doesn’t feel discouraged, something that I always keep in mind while doing code-reviews myself.

6. Enroll in classes on areas where you want to improve

Courses on sites like edx, coursera, Udacity have amazing courses that we can take in our spare time. Let it be compilers, database, machine learning, infrastructure, these platforms have amazing courses on all of them.

Personally, I try to keep exactly one online course in-progress all the time.

7. Participate in design discussions of projects you are interested in

pu2ppth4dc2fsg0i

Don’t ask for an invitation. Ask the engineers if they’d mind you being a silent observer or even a participant in the design discussion.

8. Make sure you are on a team with at least a few senior engineers whom you can learn from

This will help increase your learning rate at least 80% of the time.

At Squad, I get to work with one of the most awesome engineers I’ve got an opportunity to work with. That has helped me in learning and polishing things like estimations, product thinking, designing, communication etc.

Conclusion

Our work fills a large part of our life. Making sure that our work is driving our learning and improvements helps big time in maintaining contempt and keep progressing on the path to become a better effective engineer.

Resources

  1. http://www.effectiveengineer.com/
  2. https://blog.fogcreek.com/the-effective-engineer-interview-with-edmond-lau/

That’s all, folks!

 

2018, New Year: Let’s Set The Rhythm For What Lies Ahead

Here are the 9 things I would love to incorporate into my life as I set myself to see the sun of 2018.

1. Stop chasing the long dream, start conquering the micro-goals:
Start cultivating a passionate dedication to the pursuit of short-term goals, being micro ambitious.
Putting my head down and work with pride, whatever is the job in the hand.
If we see too far in front of us, we won’t see shiny thing right in front of us.
Develop the habit of doing small things the great way.

2. Stop waiting for being ready:
Stop waiting for the moments of the future to be ready or to define oneself.
People, places, our choices all have already shaped us into who we are today.
These moments have already happened, and they will happen again.
You won’t be ready, untill you start.

3. Excercise :
Run, play a sport, do yoga or whatever. Take care of my body. I am certainly going to need it.

4. Be a teacher, share what I know:
Don’t take for granted what you know. Rejoice in what you learn and spray it.

5. Read, read and read more:
I am always going to be on the dumber end of the spectrum. Read as much as you can to cross the chasm to get to less dumber side.

6. Constantly work on the weaknesses:
Each day, every day, keep hitting the weaknesses by yourself.
Hopefully, they wont suck that much when the year ends.

7. Remeber it’s all luck, have gratitude:
Understand truely that you cant take all the credit for your success, nor we can blame others for their failures.
Be more humble and more compassioante.
Emptahy is intuitive but it’s also something that we can work on intellectually.

8. Define myself from what I love:
Not by what I hate. If someone asks us what music we like, we go “I hate EDM”, what food you like, “I hate Chinese”. From this year, I’ll try to define my choices because of why I love them, not why I hate the others.
Be demonstrative and generous in the praise for those you admire.
Be pro-stuff, not just anti-stuff.

9. Don’t rush:
You don’t have to know what you are going to do for the rest of your life. Don’t panic. Let the river inside you flow at its own pace.

 

PS: Note to self

Life is long, tough and tiring. You’ll sometimes be happy and sometimes be sad, and then we die to get submerged into nothingness. There is only one way to make the best of our empty existence. Fill it.
Learn as much as you can. Take pride in what you do. Have compassion.  Share ideas. Demonstrate what you love.

Happy new year!

 

E-Summit ’17 IIT Bombay — Experience

E-Summit is the flagship entrepreneurship event organized by IITB. The two-day annual summit promises to be an amazing meeting ground for industry experts, business leaders, investors and entrepreneurs and of course, students, many of whom are aspiring entrepreneurs.

I attended this event in its 2017 edition and had mixed feelings on how the whole thing turned out holistically. There were some good parts and some not so good parts, but as a whole the event was worth attending.

There were many small talks spread on a 2 day course. Obviously, you can not attend all the talks, you have to select few of them according to the schedule and feasibility.

I personally realized that choose a topic that you are not familiar with as talks are pretty basic and don’t go to great depths.

Following are the talks and keynotes that I attended.

Day 1 :

  1. Keynote by Raj Jaswa :

First event of day 1 was keynote by Raj Jaswa. Most prominent thing he said in a nutshell was areas in which one should look for business opportunities.

Some being,

  1. Cloning and localisation
  2. Long tail business
  3. Adapt an existing business model to a new sector.

2. Digital Marketing :

This talk was presented by founder of E2M, a digital media company. I found this talk too basic aa I had already taken a course online on digital marketing.

Some topics discussed were,

  1. SEO
  2. PPC
  3. Social Media
  4. Emergence of mobile platforms

3. Brembo Company Presentation :

Brembo is a breaking technology company and a dominant force in the market. A manager from Italy presented the company’s operations in India.

He quoted a quote from the founder of Brembo that I found very captivating,

“Anyone can do simple things, but only few can handle difficult ones. We have to do difficult ones”.

4. Chat with Rahul Yadav :

Next session I attended was a Q&A session with Rahul Yadav, the founder of Housing.com.

It was nice to see him talking about his mistakes and telling people not to repeat them.

5. Wealth creating through financial planning :

This was conducted by Reliance Mutual Funds. In a nutshell it was all about SIP.

6. Keynote by Rajat Sharma :

The day ended by keynote by Rajat Sharma. He discussed his journey and his humility and wisdom was notable and inspiring.

7. Stand up comedy by Vipul Goyal and Sapan Verma

Nice performances by both of them always.

Day 2 :

Day 2 of the event was more power packed. I found the speakers and the talk topics, both to of higher level.

  1. Building a brand that indians love :

This was presented by an ISB professor. Basic point conveyed in the talk was that business customers have two currencies that they spend : time and money.

Thus, trigger point of all the businesses must be how customers are spending these two.

2. Protecting your brand : Trademarks, Copyrights and Patents :

I had no prior knowledge of patents and thus decided to attend this talk.

It nicely packed info on what, when and where to file the patent.

3. Startup Scaling : Overcoming key operational challenges :

Pressing issue of this talk was the resource visibility issues that startups face.

The speaker was from a company called OutThink LLC. They advocated that such challenges can be overcame by businesses collaborating and providing services to each other instead of doing things completely by themselves in isolation.

Here is where OutThink helps its customers by what they call at SRM : Strategic Resource Mapping.

4. Most Common Startup Budget Mistakes:

This talk was presented by a startup investor and mentor from Ireland.

The talk revolved around funding sources, funding advice and bootstrapping.

5. Final Keynote : By Bibop Gresta : COO Hyperlopp TT

The most exciting event of the summit was final keynote by COO of Hyperloop. He presented us with the overview of Hyperloop and how it is planning to carry its operations in India.

It was notable how fit and fun he was at the age of 40. Something that we can all learn from.

Conclusion :

To conclude, the summit was a thumbs up. It was not entirely the standard that I was expecting it to be, but still was Ok.

It was great if you have networking as the primary goal in your mind, not so good if you wanted hand on knowledge on topics.

Finally, it was nice to see other aspiring and existing entrepreneur facing the problems that you are also facing. Makes you feel that you are not alone and if that can pull it off, you can too.

10 Things I want to do before I graduate.

I am almost half an engineer by this time. Two and a half year and I will be a graduate. Sounds like fun. So I guess this is the best time to reveal 10 things I want to do before I die . Oh! sorry, before I graduate.

 

1. Google Summer Of Code

GSOC
Okay. First one should not be a surprise for computer students. Gsoc is like a dream for almost every computer engineering student. There is nothing better then this you get as a student. I am working with python and will try to get through with it into the Gsocers list.

2. Go to Goa

Goa
Now this should be obvious to every college student. The beach parties and the girls ;). Seems like fun.
I just want to get there and then declare it “The World Party!”.

3. Try to crack Codevita

Codevita
If you are unfamiliar with this one. It is not your fault. It is a coding contest organized by TCS. I am not that much of a hardcore competitive coder but still this thing deserves a shot.

4. Go River rafting

River Rafting
Okay! I am really excited for this one. About half a year ago we planned this but few back logs ruined the plans :'(. . Let us see when the glory comes to me.

5. Complete the Dragon Ball series

DBZ
It nothing compared to watching your favorite anime Dragon Ball and try to follow the super saiyan way of living. I have grown up watching this and want to live this awesome way my whole life. (Those good old times . I want to relive them 🙂 ).

6. Go to Sunburn

Sunburn
There is nothing more exciting and thrilling and electrifying and startling …( 😀 )then jumping with your hands flying in the air to the EDM of your favorite DJ.

7. Complete Data Science Specialization on Coursera

DS
Back to study stuff. Data science and Big Data are kind off booms in the IT industry now days. There are by now 11 courses provided by coursera on the topic and I wish to complete them all.

8. Plant a Start-Up

start up
As you guessed by the previous point, I am a techie person ( at least I consider myself as one ). It sounds thrilling and fun to start your own start-up. So just shut up and start-up.

9. Go to Bangalore for an Internship

Internship
Tech internship and Bangalore. The perfect duo. Meet new and talented people and grow yourself as well. As far as I have heard it is a very fun experience.

10. Get a Girlfriend

This one is in because I was having no other thoughts in my mind and I didn’t wanted the title to look like 9 things to do…
So if you are a girl, ping me! 😉