📜 ⬆️ ⬇️

How did you find out what you know?

I received this email today from Mark ...

Hi, Joe,
First, I would like to thank you for all the information that you published on asp.net. I learned a lot from there. I also follow your tweets and I am interested in what you started with, how you gained experience in order to become a Senior Program Manager at Microsoft. If you have the opportunity to answer me, I would be very grateful.
Thank you in advance,
Mark

I receive messages like this once in a few weeks and finally, I decided to reply to all who are interested.
')

Mark,

I started programming by chance when my father bought machines with numerical program control for his business and there was a problem with setting them up. Later in my career I worked with mainframes, minicomputers and microcomputers. Created everything: starting from the drivers and ending with the UI.

Just before coming to Microsoft and finally becoming a geek, I was president and CEO of a company that trades in New York (right on Broadway!)

Below, I have tried to give some tips on how to achieve certain heights in professional activities. I hope they will help.

1.) Buy books, not beer
I introduced for myself the requirement to read at least one technical book per week (if I finish reading it before, I start to get acquainted with the next book). I, like a man with old habits, adore paper options, but now more and more free literature is being released in PDF (such as Microsoft's Patterns and Practices ) —I'm also a Amazon Kindle fan (I recently traded my Kindle 1 for a new Kindle Dx ). However, I am not only interested in books (of which I have about 3,500) - I also take information from magazines and blogs.

I always wonder how many people DO NOT read. All my technical knowledge (by the way, and not only they) is a product of active reading.

If you are a web developer, do not read only about ASP.NET or VB. Read about database design options, read about how TCP / IP works, read about various ways to optimize the load on applications. You must go beyond the strict limits of your specialization in order to fill gaps in knowledge.

2.) Less sleep - more caffeine
Everything takes time, and only 24 hours a day. I set myself the principle of reading every night before bed. Let it take even just 15 minutes (until the eyes close completely), but it's worth it. Everything that we in life achieve is really worthwhile - it is achieved only through “I cannot”.

I usually read three books at a time. One technical (currently Julie Lerman 's “ Programming Entity Framework ”), one not technical or time management (I just recently finished The Fall of Carthage ), and one just for fun (at the moment this is Orson Scott Card's " First Meetings ").

When my children were still very young, I had to wake up early and give up some normal business during the day. But I never refused to read - remembering that while reading, I invest in my professional skills, and as a result, I can rest assured that my family will always be safe.

3.) Always have extra work.
I always try to have extra work. Usually my second job does not bring much profit (or does not bring it at all). Plus, I try to have the second job focus me and my knowledge on something that I cannot get in the REAL work. Sometimes it can be quite small, such as the one that was a few months ago when I wrote an article on Silverlight for PHP Architect Magazine . Or the one when I was working as a technical editor for ASP.NET AJAX in Action last year. When you give any additional commitments to people - this is great for your personal and professional growth.

4.) Fight with your superiors.
You should be a little impudent with your superiors. This does not mean that you should sit on their necks (just as you shouldn’t force them to hate you), just be more persistent in your opinion, let’s some resistance in discussions of various technical and professional tasks, show initiative in business.

5.) Follow the rules of ONE DAY
This is a very simple rule, but very effective.
It sounds like ... You never, never, never lay your head on a pillow until you have done 5 things. I repeat, it is necessary to do 5 cases every day, but no matter what they repeat:

1. SPECIALLY learn something new for the day

2. Do one thing to move up the career ladder

3. Do one thing to improve your privacy.

4. One of the things you devote to helping someone.

5. Tell someone how you love and appreciate him.

All these things are very simple, they can be done even by phone or e-mail. But please, do them - and a positive result will not take long.

6.) Drop work.
Yes, you read that right. Do not become more stupid because of the fact that your office uses outdated technology, and the manager simply does not carry you to the spirit. Tell them bye and wave your hand.

You should NEVER change jobs in less than a year, as you came to it, otherwise your resume will look very funny for headhunters.

But, several times you can still :) But only a few.

7.) Help other developers
I served as a subsidiary director for compiler development at JPI (Jensen Partners International). Nils Jensen was one of the founders of Borland , then he founded JPI C and developed compilers for DOS, Windows, OS / 2 for C, C ++, Pascal, Modula-2, ADA, etc. I worked at JPI until the company was acquired by Clarion , and first of all I had the task of supporting independent developers and helping them with our products. I had to communicate both with ordinary programmers, and with "high" partners and clients.

Your knowledge will help someone at the right time, which naturally benefits everyone. Just answer, at least sometimes in the forums for programmers. No, well, really! You are pumping your knowledge and social circle (even virtual), and those who have been helped continue to work and feed their family.

8.) Open your company
As an alternative to item number 3, you can open your own business.

For example, it may be a small web-studio that makes websites in the same small city. In general, it does not matter - the idea is different here: to learn how to manage a business, to see from the inside how things are going there, to try to acquire new connections and make long-term acquaintances.

For example, now I work in a large company, but this does not prevent me from leading several startups and helping several more. By the way, in a couple of days I have another site launch. That's it.

9.) Attend programmer meetings
If you have the opportunity, never miss the PDC, Tech Ed, MIX. Or smaller events like Code Camp, The Heartland Developer Conference, etc.

If you do not have such an opportunity, go at least to local meetings - communicating with like-minded people is always useful and gives only positive emotions and new ideas. On the pinch see webcasts.

10.) Learn / Learn / And write.
Take your ideas to public view, convey your thoughts to other people. At first, this is very unpleasant and somewhat shameful, but if you really set out to say something worthwhile to people, they will appreciate it sooner or later. Will REALLY appreciate.

I hope these simple tips will benefit your work. Do what you must do and come what may. Successes!

Source: https://habr.com/ru/post/63367/


All Articles