Sam Lightstone

author
+ Follow
since Apr 21, 2010
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Sam Lightstone

In another thread Anant Kamat asked: "I just wanted to ask your inspiration behind the book."

In 1991, I was a fourth-year electrical engineering student at Queen’s University, trying to finish up my degree and get a job. Every Friday afternoon the electrical engineering school invited a guest speaker to inspire and enlighten our young, impressionable minds. These talks covered a wide range of technological topics; we discussed everything from high voltage transmission lines to CMOS VLSI circuit design. I confess that most of these sessions were less than inspirational for me. One day, a guest speaker arrived with a radically different message. He spoke to us about “life in the real world” and what we could expect after we graduated. I was riveted. Most of my classmates, like me, were in the dark about what our lives might be like after graduation.

I decided then that if I ever could, I would return the professional courtesy and volunteer to speak to university students. In the late 1990s and early 2000s, I began a series of career talks at leading universities. The lecture notes from my talks, often delivered to capacity-filled auditoriums, became the basis for this book. As I became a manager, senior manager and technical architect it became obvious to me that even at the professional level employees were struggling to absorb and integrate the professional strategies and behaviors they needed to advance. I found myself constantly coaching my staff. I made a point of reading the latest books around software engineering, software development lifecycle, professional development and effective organizational behavior and observing the people I most admired to see how they dealt with challenging situations.

Some of the ideas are my own, but many are culled from the leading business thinkers and software development evangelists of the past three decades. So it has been a long road, and the writing was largely motivated by a desire to give something back to the community.

Hopefully, this book succeeds in providing you what school and daily work life generally cannot: the tools with which to make it BIG.


Sam
13 years ago
James,

It's a classic catch 22. You need experience to get a job and you need a job to get experience! There are a number of solutions:

1. Your idea of working on open source projects is great! It's a very effective model for getting respectable experience. If you become one of the leading committers on a well known project it can catapult your professinal credibility very positively.
2. Volunteer to help do programming for schools, and past professors. Academic programming looks great on your resume, and can allow you to pick up additional skills.
3. Start your own side venture. Even if it's just for a few hours a week, it will look great in your professional history because it shows initiative and an entrepreneurial spirit. It will also fill/avoid any hard to explain timeline gaps in your work history.
4. If you are still in your twenties, work with your alma mater's career planning and placement. Employers who are recruiting directly from schools, by definition, have lower expectations on past work experience.
5. Register with a placement agency. The hiring company pays for them, not you. There isn't usually a signifiicant down side.
6. One of the best ways to get a job is through connections. Keep speaking with family and friends. Eventually something may come up.


Lots more ideas in the book, Making it Big in Software: Get the job. Work the org. Become great.

Sam
13 years ago
For those who are interested in the topic of software careers and career success, here are some useful links related to my book:

Book reviews:
eWeek,
Dr. Dobb's,
JavaRanch,
i-Programmer
Balfes.net
Utahcon.com

Groups and blogs:
Join the Facebook Fan Club for 'Making it Big in Software'
Join the LinkedIn group for 'Making it Big in Software'
Subscribe to the Making it Big Careers blog

Details on Amazon.com:
See book details and reviews on Amazon.com


Finally, a closing quote from the book's interview with Jon Bentley, author of Programming Pearls:

"A wise word of caution: Do what you love! My passion for programming has
been quite rewarding on many levels. If you follow your dream, I wish you
as much luck and joy as I've had." -- Jon bentley


Sam
13 years ago
Hi Janeice,

I'm sure you'll find Making it Big in Software: Get the job. Work the org. Become great. helpful, especially chapters 1 through 5 and chapter 11 that directly speak to some of your questions below, including the most effective ways to find a job.

One of the themes in my book is that success is a very personal thing. For some people it is defined by how much money they earn, for others it is measured by the positive impact of their work on society, and yet for others it's simply about working on challenging project or working with nice people they respect. For most of us it's a real mix, but everyone has a different balance of ingredients. One of the most important things you can and should do is to try and figure out what success means to you. Define your goals and go after them with passion!

One thing is certain: if you don't know where you are going, you're very unlikely to get there! That's why 'Goal Oriented Careers' (discussed in Chapter 11) are more effective and more gratifying. Don't let the river of life take you places you'd rather not be. Figure out what you'd like your destination to be and then set your own course.


Sam
13 years ago
Hi Arvind, Henry,

First, let me say that Making it Big in Software only recommends ethical behavior. Not only can you get to the top being ethical, but in the long run it is your ally. People hate working with (or doing business with) others they can't trust, or who they feel have questionable morals. Ethics and kindness are powerful allies in career climbing because they engender people to trust you and work with you.

That being said, I've been around long enough to witness some pretty unethical behavior. Usually it backfires, but there are rare situations where unethical behavior is tolerated in an organization because it leads to results and doesn't explicitly cross legal lines. Bullying and discrediting others are examples where a forceful personality can potentially achieve goals through unethical behavior while skirting the edge of the legal boundaries. I detest unethical behavior, and I resent organizations that tolerate it. It reflects badly on the organization, and in particular is speaks volumes of the kind of leadership that tolerates it. But it does exist. There are very few cases of people who are consistently unethical and succeed in keeping it unnoticed over the span of years. Most of the time it is discovered, and the perpetrator gains an unshakable reputation that largely destroys their career.

Perhaps most importantly I can't recall a single case where the benefits of unethical behavior could not have been achieved through ethical means. So why take the chance?

I'm going to qualify what I wrote above. When I talk about unethical behavior I'm referring to lying, stealing, bullying, threatening, claiming credit for what isn’t yours and so on. Behaviors we would all generally agree are wrong. However, business is, to a large degree, a sport. There is strategy, and there is jockeying for position. It is not unethical to jockey for position within your organization to get a good project or to get recognition for what you have contributed. In terms of both business strategy and getting hired, while you really need to be meticulously honest in what you say, and in how you answer questions, it's considered reasonable to be selective in what you do not say. You don't have to volunteer information that will discredit you. If explicitly asked, you must be truthful. Remember, that these days fact checking is only a phone call or a google search away.

I'll answer your question about my favorite interviews in another post.

Thanks

Sam


13 years ago
Hi Nikesh,

Thanks for your questions related to Making it Big in Software


> 1. Does your book focus on software development process in commercial vs. open source development?

The book discusses both, but the emphasis is on commercial software. The book discusses the importance of leveraging open source, especially for bootstrapping new initiatives. As well, the book includes full exclusive interviews with two of the biggest names in free software: Linus Torvalds, creator of the Linux kernel, and Richard Stallman, founder of GNU and the Free Software Foundation. Those interviews are pretty interesting. (OK, I'm biased!)

> 2. If open source is really cost effective, do you think it will end up commercial software vendors?
Most commercial software vendors are using open source, and many are contributing code to open source. However, open source itself doesn't earn money. Few large scale projects can be developed based on open source alone because the skill and community-will are rarely there. Great points about this in my interview with Microsoft Technical Fellow and Windows architect Mark Russinovich. Most large scale projects (more than 50 people) require dedicated skill and funding. However, there are several notable exceptions. MySQL, Apache Cassandra, to name just a couple.

Once a codebase is open source can it be converted to commercial proprietary software? You bet! It's more spin-off than conversion, because the open source version won't disappear. Therefore the money is really only made by the changes/enhancements that distinguish the commercial follow-on from its open source ancenstor. And since the open source version may continue to evolve in the hands of the community the commercial version can't always distinguish itself enough to make it commercially viable. An example of this evolution: C-Store is an open source database and Vertica Inc is the commercial follow on.

> 3. When to go for commercial solution and when for open source other than less cost?
It depends whether you are talking about using the open source as a component within a software product or rather as an end user. Leveraging open source within your codebase can help bootstrap a development effort using relatively stable free code. You do need to watch the terms and conditions carefully (BSD, GPL, MPL, license etc). However, as and end user you can't depend on support for open source products. So if you run into troubles (bugs or missing function) you may be stuck.

> 4. Your tips/suggesstions/recommendation for going with open source.
Again, it depends what you mean by "going for".
a. If you are trying to make money as an open source company, most open source companies make their money by providing maintenance and services for the open source they provide.
b. If your are trying to bootstrap another R&D effort, by using some open source components, I think this is a great idea, but just watch the terms and conditions on the packages you use.
c. If you are thinking about using open source as an end user, you need to be comfortable with the product support that is in place for that code.

Sam


13 years ago
Hi Tauri

Chapters 5 through 9, and parts of chapter 15 and 19 in Making it Big in Software will probably answer your questions and provide some useful insights for you. I can't do them justice here in a forum posting. I'll try to add a few quick ideas, but I strongly recommend you refer to the book to get a more complete answer.

1. The #1 thing we all need to do to advance our careers is communicate. There are several things we need to communicate about, but one that people don’t often do enough of is communicating their accomplishments. We can’t expect to get credit for the work we've done if nobody knows about it. Some managers are better at tracking the accomplishments of their staff than others. However, even the best managers aren’t fully on top of this. In short, making sure that your manager is aware of what you have accomplished and the quality and sophistication of your work (not just its function) is your job and nobody else’s. It’s appropriate to keep your manager informed of your achievements ever few weeks, both in writing (a summary email) and in a personal discussion. Again, make sure that the qualitative aspects of your work come through, not just the functional attributes.

2. To quote from the book Making it Big in Software A picture is worth a thousand words but a demo is worth a thousand pictures. While you are helping to develop software as either a designer/architect, developer or tester, it’s worth developing a small demo that you can use to showcase the technology to others. Not only will this help highlight your contribution, but if you develop the demo, you’ll probably be the person who most frequently is asked to run it, showing it off to managers, architects and possibly customers and executives, leading to a lot of visibility for you and your work.

3. The value of measuring value. Most of us working on software features are content when we get a new feature working well. However, new features/capabilities often have the stigma of creating a ‘New and Improved’ version of the product. This is a bit like Tide detergent, which has been “New and Improved” for the past 40 years (or more). New and Improved doesn’t really impress anyone anymore, we are all, as a society, far too jaded. Why? Because New and Improved could mean a 400% improvement, or a 0.01% improvement; we are all too accustomed to marketing ploys that usually refer to the latter. To really make your contributions clear, take the time to measure the value your work has provided, measuring it in a way that yields a quantitative result. That’s not always easy to do, but most software provides value that can be measured through improved performance (speed), improved usability (user satisfaction, improved simplicity), added market share (more customers), reduced development effort for user (e.g. in the case of middleware, or a programming API), and so on. Once you measure the value of your work you elevate yourself from the status of a person who has simply make things ‘New and Improved’ to the much more meaningful status of having made things a specific amount better. In virtually every case I have experienced, measuring value has clarified the contributions of the people working on projects and amplified the recognition they received for it.
In fact, measuring the value of what we produce is a sensationally powerful catalyst for success, far beyond the simple personal benefits; there's a lot more on this idea in chapter 15.

4. Career killers (see chapter 8). The items above refer to some things we need to do to receive well deserved recognition for our work. But there are behaviors that people exhibit that actually negatively impact perceptions, and these may require a deliberate effort to avoid doing. Here are just a few
a. Being consistently late on project deliverables
b. Providing too much constructive feedback without providing suggestions and volunteering
for corrective action (usually perceived by others as complaining a lot, and being a constant source of negativity).
c. Working as an expert team of one, instead of a member of a team who willingly shares and both reuses code and expertise.


Sam
13 years ago
An interesting question. Whenever you give a negative answer, such as blaming your prior boss, or indicating you were layed off, it suggests to the interviewer that some or all of the reason had to do with you. That may not be what you said, it may not be what happened, but it's human nature that the interviewer will be thinking that. So, unless an entire division of your previous company was shut down, you need a reason that is both truthful but reflects positively on you. Saying that you are looking for bigger challenges and opportunities is reasonable, and in most cases probably still on the right side of truthful. You need to be honest and say the truth, but you don't need to disclose things that will hurt you. So be truthful in what you say, and careful in what you do not.

Absolutely do not lie or fabricate information. First, it's not ethical, and secondly, in this era fact checking is easy is often done

Lots more about getting hired, and how to recruit people in the book, Making it Big in Software. :-)

Sam
13 years ago
Hi Tina

Chapter 4 of Making it Big in Software is about how to get a job. Here are some of the topics in the chapter:

Chapter 4 Mission Impossible? Getting a Job in Software
Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Choosing Wisely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Resumé Realities for New Graduates . . . . . . . . . . . . . . 46
Killer Resumés for Software Development . . . . . . . . . . 47
Beyond the Resumé—Way Beyond . . . . . . . . . . . . . . . . 49
The Value (or Not) of Grades . . . . . . . . . . . . . . . . . . . . 52
The Value of Extracurricular Activities . . . . . . . . . . . . 54
Why Student Positions Dramatically Improve
Your Odds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Fifteen Points to a Great Interview . . . . . . . . . . . . . . . 56

I don't focus on a specific technology or language, such as how to prepare for an interview for a Java programming positions versus a C++ position. But you'll find the interview advice does get pretty specific. Also, althoug you'll see a few sections above that seem specific to new graduates, the chapter had content for new grads and experienced professionals alike.

Sam
13 years ago
Hi Jan

Thanks... I'm a huge Grady fan too, one of the reasons I wanted to interview him for "Making it Big in Software". The interview was a blast, and Grady is a much broader and more mature thinker than most. I think that comes through in his personal interests (kayaking, physics, chemistry, playing Celtic harp, just to name a few!). Grady is an architect’s architect. He thinks in the large, he thinks about systems, and he thinks about the future of where technology is headed.

The downside: as you can imagine the people I interviewed were extremely hard to reach. Some are nearly impossible to reach. I had to use a wide array of crafty schemes and nearly superhuman persistence to reach many of them. With Grady I expected an easier ride since he and I both work at IBM. I have direct access to his email, telephone and instant messaging. (Sorry, no, I can't share them with you). So how hard could it be? But, truth be told, it was hard getting time with him. He's a busy guy! Once we managed to finally get some solid time together the interview was fantastic, and I felt privileged having the one on one time with him. I was a Grady Booch fan before my interview with him and now even more so.


Sam
13 years ago
Tauri,

Your story is common to many, and honestly I wrote my book for people like you. As a manager and senior manager at IBM for 15 years I noticed that many of the skills people need in order to flourish in our field aren't taught at school, and are largely not taught anywhere. I began studying these aspects of profesisonal life to coach my own staff, and then later began a series of lectures to students at major universities. The book, Making it Big in Software, is the outcome of those experiences and research. My guess is that there are a number of things you can do to improve your situation, and really get your career on more aggressive path to success. This book will help you. Most importantly, you need to answer two questions:

1. Why me? Why are you being scapegoated?
2. Why not me? What aren't you be singled out for praise and recognition?

I think you'll probably get a lot from the book, especially the first 2/3rds through chapter 13. There are techniques to being impactful and getting recognition for it, and Making it Big in Software covers many of them.

Sam
13 years ago
Hi Mark

Thanks for your question. "Making it Big in Software" has an entire chapter on "career killers" that can negatively affect our careers in software (Chapter 8). I won't spill the beans completely, but let me address the scenario you raised about discussions with your boss.

The short answer is that constructive feedback is good in moderation and when provided discretely. One of the ideas in my book is the importance of social awareness, more broadly "Emotional Intelligence", which became a business buzzword in the mid and late 1990's. The scenario you are describing requires high EI. Managers like getting constructive feedback to a point, but not to the point of annoyance. There's only so much he/she as a manager can deal with, or is willing to deal with. That's where EI comes in, because you need to judge your manager to figure out whether your feedback is being received as constructive and useful, or just an annoyance. Every manager is different, and the degree of constructive debate that one tolerates (or enthusiastically accepts) won't necessarily match another's.

Trying to sense the manager's reaction is the first step. However, not all managers wear their feeling openly, and not all of us are great at reading the emotional responses of others. So, in addition to trying to judge the manager's feelings (observe his/her facial expressions, and body language, when you provide this kind of feedback), look for the practical reactions that come AFTER the discussions. Are you ideas being put into effect, or just being ignored? The "facts on the ground" may tell you more than the emotional signals during the discussions.

Sam
13 years ago
Great question. Complex answer.

It's hard to rise to the top on general skills alone. But not everyone wants or needs to rise to the top. Success if a very personal thing. If your definition of success means steady and constant employment, then general skills are what you should focus on.

If you want to rise to the top of an organization or a field you'll need specialized skills. My own feeling is that the ideal strategy is to hedge :-) I'll explain what I mean by that.

The best way to excel and to make it to the top is by having specialized skills. However, in an industry that redefines itself every few years there are some pretty serious risks about tying yourself too closely to a particular technology. What many of the people I interviewed leveraged successfully was to have strong general skills, and then an area of world-class expertise in a field they specifically chose for its longevity. Of course, it's very hard to know which technologies will have longevity... and that's why the general skills remain super important, because if your specialty is in an area that become obsolete, you'll need to leverage the general skills while you are building up new specialty skills.

Here's a quote from my interview with Mark Russinovich, Microsoft Technical Fellow and Windows architect. You may find his opinion on this thought provoking:

Try to differentiate yourself. For example, when Java exploded in the mid-
1990s, everybody became a Java programmer, and the market became
flooded with cookie-cutter Java programmers. It’s really hard for people to
stand out as something that isn’t easily replaceable in that world. My whole
career I have tried to stay away from that. Operating system internals, while
not considered particularly sexy or part of the mainstream, have allowed me
to stand out because of the relatively few people who go into that and the
perception “Wow, that’s really hard.” Stay away from the mainstream and the
crowds, and find something that is gonna be stable—not just flash-in-theplan
technology.


--Mark Russinovich, Microsoft Technical Fellow

Sam


13 years ago
Chapter 5 in Making it Big in Software discusses different strategies for getting the job you want. You are 100% right that companies often have degree requirements, and often have a limited set of schools they recruit from.

Looking specifically at PhD's, there are relatively few companies that exclusively require a PhD from a specific school. Most of those jobs would relate to pure research positions (e.g. at IBM, Microsoft, HP research divisions) or to pure academic positions such as professor or associate professor.

It's hard to work around those guidelines, but one of the best ways to create an exception is by having a personal connection with a hiring manager or a friend of a hiring manager. That won't get you a position on its own (nepotism notwithstanding) but what it can do is get you a chance at an interview - a chance to be considered. One you get that shot, then you will be considered along with others and it will hopefully come down to merit. Remember: there are always exceptions!


Sam
13 years ago
Hi David

Making it Big in Software is a book about how to make the most of a career in software. I wrote the book because many of the things we need to know and do in order to be successful aren;t taught in school, and more broadly aren't taught anywhere. I wanted the book to be useful and meaningful to people at different stages of their careers, so I divided the book into three sections: Fundaments, Leadership and Greatness. There's something in it for everyone. As well, regardless of what the reader already knows the interviews are great fun, including some pretty colorful personalities!

Why should you read it? A great way to advance yourself and grow to greater heights, and to hear ideas and historical anecdotes from some of the biggest names in the industry.

Sam
13 years ago