|By Christopher Wilson||
|October 5, 2005 09:00 AM EDT||
It was early May of 2004, and I was almost at the finish line for my degree. Between me and graduation: Just two summer classes. I was in the process of finishing what could only be described as the most intense spring semester of my college career. As the semester's end finally hit, I realized something. I was going to need a job, and I hadn't even started looking.
Then, almost on cue, the phone rang. The president of a small and local software company was looking for computer engineers with .NET experience. They searched my university's resume database for candidates, and I came up. Would I like an interview? Hell yes.
I was to be part of a team of highly skilled, versatile, .NET Ninjas. We were going to produce top-notch software for the nuclear power industry. Combining management's knowledge of the nuclear field and our kung fu grip on .NET , we hoped to dominate our market niche. As developers we would be on the ground floor of a booming company. There was greater room for advancement compared to a traditional office environment. We all hoped to have company cars, top-notch health care, company cell phones, and tons of other wonderful perks; all just slightly out of reach.
It did not go as planned.
One stressful year later, while I was staying late with a few other developers to finish up on some work, I was asked to report to the president's office. My manager was already there, sitting on the same side of the desk as the president. They explained to me, in a level and professional tone, that due to financial factors, I was going to be let go, with only an hour's severance pay. Thanks for all the hard work, and best of luck.
The first layoff is tough. After bending over backward, after being a loyal employee, this is the reward? To summarize how I felt: Disillusioned. Only one thing kept me going -- pure ego. You know when the schoolyard bully says something about your mom in front of everyone? But, ignoring the size difference and the fact that he's already shaving daily at age 14, you step forward and say "Oh yeah?", with a Brock Sampson-like eye twitch the only warning of the impending ownage? That's the kind of ego that kept me determined to give software engineering a second shot.
Over the course of the previous year, my friends quickly learned I liked to talk about work less and less. When I did open up about it, they were astounded by, well, let's say various factors of the work environment. Each and every time it was discussed with my peers in the field, time and time they gave me the same advice: Get out.
I have to say, they were totally right.
All the signs were there, but I blazed on, telling myself that this was just a rough patch for the company, and that we'd pull out of this tailspin in time to land safely at our destination. I was ignoring the pilots screaming "Mayday, Mayday".
Now, while I was blind to obvious signs that it was time to leave, doesn't mean that you have to be. I would like to present the 4 signs that you should leave your workplace (for software engineers):
1. It's the environment, stupid!
In the University of Pittsburgh's Computer Engineering program, there is a mandatory department seminar, where the department informs us about our career options. Oftentimes, alumni come back to speak about the career opportunities in their field. It's all very, very dry, and as a result, nobody listens. They also fail to give one piece of advice that I would at the first seminar of every year, if I was ever asked to give one:
Don't work in cubicles, ever. Working in cubicles is the sure sign that you're not working for a successful company. Imagine the smartest person you know, working in your field. Now imagine how they would react if they were told they're going to work in a box with no door or roof, allowing them no privacy.
They would no doubt leave that organization for one that is less creatively stifling. So unless you are convinced that you're stupid (and, in that case, you're in the wrong field) you shouldn't be accepting cubicles in your work place either. If the company will not or can not spend the money to create offices for its knowledge workers, so they can get into the zone, the odds of it creating a successful software product and capitalizing on it are about the same as you becoming a millionaire by going to Las Vegas, betting fifty on black, and letting it ride all night.
Cubicles do not automatically make an employee stupid; but it is one more barrier for you to climb over before you can create your own space to think. At my last workplace, the noise traveled. Everyone could hear everyone. An intern with nothing to do bullshitting with your boss, a co-worker venting about how he's not paid enough, the busybody secretary ordering people around with no authority. Not one single employee liked the set up, but without management's understanding, naturally nothing was done.
And for those management types who live in the dead end of corporate culture, if you don't believe noise is a big detriment to your productivity, just buy an electric drill or vacuum cleaner. Turn it on and let it run. Put it as close to your ear as humanly possible, and try to get work done.
It sounds like such a small thing to critical about, but like so many things in life, little things turn out to be extremely crucial. Little things snowball into bigger things. If people can't relax in their workplace, dealing with them becomes difficult, which creates friction where none should exist. That friction could destroy the delicate cohesion every team needs to maintain to produce software. So if you find that getting ready for work in the morning is a larger effort then getting ready to go out on a Friday night, maybe you should talk to your boss about making your workplace more accepting, or find a new one.
2. Just How Dumb is Management, Anyway?
Engineering n-tier enterprise level software is like navigating a minefield. There are countless potential disasters just waiting to happen. From creeping requirements to budgetary nightmares to horribly incorrect estimates, oftentimes it is not technical ability that makes or breaks a product; it is how all the other chainsaws are juggled. Your project is as dependent on the know how of your manager as it is your technical ability.
Since the inception of the term, software engineering, people have acknowledged that it is inherently hard to manage software projects. It is exponentially harder to have a superior that actually understands this, and is capable of both properly delegating and managing the complexity. Here are three major mistakes to look for in your manager. Take any of these as a sign that it is time to have that interview suit dry cleaned.
A. Thinks they know too much:
Is your superior an old hand, who's worked his way up from the trenches, but hasn't kept up with the pace of technology? Does he base his assumptions of how you should be doing things based off the way that he did things? So while you try to explain that the create_user_account module should call a stored procedure in the database to minimize the chance of SQL injection, he's showing you how easy it was to create a form in Access97. Questioning the methodology at work will often result with a "this is how we did it in the old days, and I don't see anything wrong with that!" New technology isn't likely to be adopted at its full potential in a workplace with a manager like this. Instead, you will end up grinding the same gears, only faster, louder, and harder.
B. Relies on, but disregards your technical advice:
Oftentimes, a non-technical manager, or an "old hand" who's edge is no longer sharp will be impressed enough to listen to your technical advice. If they were smart, they'd actually take it.
My former company had the unlucky experience of needing to reformat its single production server. While our DBAs tried to figure out what caused the crash, and how to fix it, I began talking to various other developers about what needed to be done if we had to recover from a worst-case scenario, where a reformat/reinstall was necessary.
I studied up on the re-install procedures, so that I could come in over a weekend, fix the sever, and have it ready so that everyone could work on Monday. I told my superior, who promptly disregarded it. That task was going to another employee, one who had no experience in setting the server up properly. If you find yourself in a situation where management is disregarding the sound technical advice they should be basing decisions on, you need to expedite your job search.
C. Schedule Bullies:
This one needs no explanation. If you tell management that it will take 8 days, and they turn around and tell you they think it will take six, you need to leave. Rushed work is almost always subpar. You will not learn sound defensive coding practices. If management does share your view of "I'm writing this, I'm the only one who can tell how long this is going to take." then you have an uphill battle explaining to your boss such difficult terms as quality or pride in your work. I wish you luck on that endeavor. It will be as fun as herding cats.
Remember, not all programmers make good managers, just like not all managers make good programmers. If your boss' skill set brings nothing to the table, don't expect to replace him anytime soon. Instead, get your references ready.
3. Personal Growth
At my last job, I constantly felt dejected. "You're not growing fast enough! You're barely in the middle of the pack." was the kind of feedback I was getting from my supervisor. Much later, I realized they were setting employees up for failure, and then blaming the employee, instead of blaming themselves.
When it comes to growth, you need to consider two things about your company. Are you happy doing what you're happy doing? Do they have you developing in-house tools, when you'd rather be developing next-generation user interfaces? Are you finding yourself spending half your time fixing the network and pulling cable when you'd rather be developing a framework for your fellow developers?
The second thing you need to consider is what kind of options they offer for career advancement. Will the company you're working for pay for graduate schooling in your field? What about management classes? How about industry certifications? If the answer to any of those three is no, the company is trying to trap you, by removing the path most employees use to get better jobs: Expanding on their experience and education. Plenty of companies now offer this benefit to developers, so if yours doesn't, find one that does. You'll thank me when you have that nanotechnology Ph.D.
4. Compensation and Overtime
If you're not happy with the amount of money that you're making, do a reality check. Find out what you're worth. If you are confident your compensation is inadequate, extend your superior the opportunity to rectify this mistake, and then start looking for jobs where you will be valued.
Overtime should also be considered along with compensation. If you're working too many hours at the office, and the company isn't doing whatever it takes to get you back down to a healthy 40 hour work week, then something is wrong. Is it because the network is breaking and none of you know what to do? Hire a network administrator with certifications. Are you talking to vendors and doing the legwork on products you might need later down the pipeline that a temp could do instead? Are you testing software instead of a full time tester?
While the occasional (paid) overtime is nice, long hours put more wear and tear on you, and over time, can cost you the passion you had for developing quality software. No amount of profit sharing, casual dress or office perk can get that back for you.
Work is not all bad. A lot of employers say they want their employees to think work is fun. Few employers put their money where their mouth is, and difference is something you not only see - you feel it when you start working for those employers. After reading this, you should have some concrete feeling as to whether you feel your employer measures up, or whether you need to move on. If you start thinking more about your career and less about your particular job, you'll start to pay attention to those warning signs. And for those of you feeling those warning signs:
I'll offer you the same two words of advice that my friends gave me: Get out.
|Anonymous 10/15/05 03:15:45 PM EDT|
This article reminds me of the junior pups that I worked with in various companies - they all seem to think they know everything and demand the world, but then when something doesn't go their way, they get all angry and blame management for this.
Hate to tell you this, sport, but as someone who has been around the block a hell of a lot more than you have, you have a lot of growing up to do. This isn't the "dot-com" boom time where you can have no experience in a field and become a Director or VP overnight.
People nowadays want SMEs and people who have a clue - people who can contribute and not bitch about the fact they have a cubicle versus a hard walled office.
I would feel remotely sympathetic to you if 1) you were not given the proper equipment to do your job (this has happened to me more times than I care to count 2) I am surrounded by coworkers who sit on their collective asses and complain that you aren't working hard but they are there doing even LESS and demanding MORE (been there too) 3) you have a boss who refuses to communicate with you, even when you just join the company and expect you to figure out by osmosis what the goals of the company are and you are to chart your own course (this has happened to me as well).
So... to make a long story short, you are an ungrateful little punk who might be better off working in an electronics store or a fast food restaurant. If you can't handle how companies think or operate, then I suggest you see what's wrong with YOU before you look at the company and their flaws.
I know for one thing, I wouldn't hire you to work with me - you seem to be very high maintenance and I can't deal with that -- we want results and we want team players but ones who actually can work on their own - it seems to me you can't even do that right...
Good luck to you... you will REALLY need it.
|damienm 10/13/05 09:01:47 AM EDT|
Chris, the innocence of inexperience is all I can say to describe your view! You have a long way to go before you can give solid advice to people on how they manage their career. Admittedly there are some factors in your argument that hold water. The logic you use, however, indicates your lack of objectiveness and experience. While you might very well strike it lucky irrespective of your attitude, it is an attitude that would make you an unlikely candidate for hiring for the reason that it indicates that you are nowhere near as effective in a work situation as you might think you are. Don't let your bitterness about one situation mold your view from this point forward. With any luck you'll look back on this article in 10 years time and laugh at your innocence, perhaps even blush!
Keep an open mind, man... good luck in your future career.
|mohamed yusu faizal 10/12/05 04:26:27 AM EDT|
Christopher excellence has been proved keep it up
|Free Thy emoTiOns 10/09/05 10:47:40 PM EDT|
Trackback Added: Why should you leave your tech job.; Being in the tech line, there are stuff I read in there that make sense. But then again, I think the place I work in does not really has some of the restrictions, cause I work alone.
|ohbayy 10/07/05 02:39:48 PM EDT|
Excellent article Christopher Wilson. You got the key issues hammered-out, spot-on. Way to go. I really hope a lot of stay-put, miserable programmers read this.
|Wolfgang 10/07/05 09:00:52 AM EDT|
Ahh, the idealism of youth. I work for one of the largest and most profitable insurance companies in the world and guess what? Surprise, Surprise: cubicles. I've also worked for engineering companies that build hardware and have done embedded code - also successful companies, also cubicles. This sounds like the same type "woulda, shoulda, coulda" whining that I hear from my interns. And no, I'm not a manger - I'm a senior technical architect (an "old hand" if you like, who has kept current on technology). The answer is fairly simple - if you work for "start-up" companies you have great opportunites if you are in on the ground floor (i.e. Microsoft millionaires)but also have to understand the balancing side of the equation -with this type of opportunity comes great risk. For every Microsoft or Oracle out there, there are 5,000 starups that fail or achieve mediocre success at best. So if you are going to work in high risk/high reward environments, accept the fact that the probability of the type of experience you had repeating is high. Or take a different road. And while you are whining about your manager and how unfairly you were treated by the company, think about how much those same owners invested and lost. I can assure you they did not fail just to persecute you. If you want security, join a big corporation (even that is no garauntee today with all the outsourcing)- but then you'll have to deal with the rules an regs - dress codes, cubes, bosses who want you to report your status at least 3 different ways. Your only option for the complete creative freedom you want is to come up with, develop and sell your own product. Of course, if you are even slightly successfull, you will become the "man" and do to a new crop of software engineers all the horrible things that you endured. This is called "business". Deal with it.
|Tiger One 10/06/05 02:54:32 AM EDT|
Great write up.
One question, all these are points that can only be answered once you have already started working in a company. How can one judge a company from what is available when you walk in for the interview.
|Yakov Fain 10/05/05 04:20:53 PM EDT|
Just stop whining, will you! This entire article is about yourself and how bad guys underestimate you.If you are following your own recommendations, you should not be working for the same comany for more than a couple of months. Whenever something goes wrong your response is always the same: update your resume and run. Just relax a bit... Most of the software engineers work in cubicles, and some of them are making tons of money. And if you do not like the noise around you, put on the headphones and listed to some elevator music.
Sorry for the angry tone :)
DevOps is often described as a combination of technology and culture. Without both, DevOps isn't complete. However, applying the culture to outdated technology is a recipe for disaster; as response times grow and connections between teams are delayed by technology, the culture will die. A Nutanix Enterprise Cloud has many benefits that provide the needed base for a true DevOps paradigm.
Mar. 29, 2017 01:15 AM EDT Reads: 2,451
What sort of WebRTC based applications can we expect to see over the next year and beyond? One way to predict development trends is to see what sorts of applications startups are building. In his session at @ThingsExpo, Arin Sime, founder of WebRTC.ventures, will discuss the current and likely future trends in WebRTC application development based on real requests for custom applications from real customers, as well as other public sources of information,
Mar. 29, 2017 01:00 AM EDT Reads: 1,071
In his General Session at 17th Cloud Expo, Bruce Swann, Senior Product Marketing Manager for Adobe Campaign, explored the key ingredients of cross-channel marketing in a digital world. Learn how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects).
Mar. 28, 2017 11:15 PM EDT Reads: 3,440
"My role is working with customers, helping them go through this digital transformation. I spend a lot of time talking to banks, big industries, manufacturers working through how they are integrating and transforming their IT platforms and moving them forward," explained William Morrish, General Manager Product Sales at Interoute, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 09:30 PM EDT Reads: 3,820
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, will discuss some of the security challenges of the IoT infrastructure and relate how these aspects impact Smart Living. The material will be delivered i...
Mar. 28, 2017 09:30 PM EDT Reads: 2,216
SYS-CON Events announced today that Ocean9will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Ocean9 provides cloud services for Backup, Disaster Recovery (DRaaS) and instant Innovation, and redefines enterprise infrastructure with its cloud native subscription offerings for mission critical SAP workloads.
Mar. 28, 2017 08:15 PM EDT Reads: 2,325
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, will provide a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services ...
Mar. 28, 2017 07:00 PM EDT Reads: 4,475
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), will provide an overview of various initiatives to certifiy the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldw...
Mar. 28, 2017 06:00 PM EDT Reads: 848
SYS-CON Events announced today that Linux Academy, the foremost online Linux and cloud training platform and community, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Linux Academy was founded on the belief that providing high-quality, in-depth training should be available at an affordable price. Industry leaders in quality training, provided services, and student certification passes, its goal is to c...
Mar. 28, 2017 03:45 PM EDT Reads: 4,146
SYS-CON Events announced today that SoftLayer, an IBM Company, has been named “Gold Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. SoftLayer, an IBM Company, provides cloud infrastructure as a service from a growing number of data centers and network points of presence around the world. SoftLayer’s customers range from Web startups to global enterprises.
Mar. 28, 2017 03:00 PM EDT Reads: 2,119
"delaPlex is a software development company. We do team-based outsourcing development," explained Mark Rivers, COO and Co-founder of delaPlex Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
Mar. 28, 2017 03:00 PM EDT Reads: 9,646
SYS-CON Events announced today that CA Technologies has been named “Platinum Sponsor” of SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business – from apparel to energy – is being rewritten by software. From ...
Mar. 28, 2017 02:15 PM EDT Reads: 2,206
SYS-CON Events announced today that Technologic Systems Inc., an embedded systems solutions company, will exhibit at SYS-CON's @ThingsExpo, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Technologic Systems is an embedded systems company with headquarters in Fountain Hills, Arizona. They have been in business for 32 years, helping more than 8,000 OEM customers and building over a hundred COTS products that have never been discontinued. Technologic Systems’ pr...
Mar. 28, 2017 02:15 PM EDT Reads: 3,694
In his keynote at @ThingsExpo, Chris Matthieu, Director of IoT Engineering at Citrix and co-founder and CTO of Octoblu, focused on building an IoT platform and company. He provided a behind-the-scenes look at Octoblu’s platform, business, and pivots along the way (including the Citrix acquisition of Octoblu).
Mar. 28, 2017 02:00 PM EDT Reads: 14,275
SYS-CON Events announced today that Loom Systems will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Founded in 2015, Loom Systems delivers an advanced AI solution to predict and prevent problems in the digital business. Loom stands alone in the industry as an AI analysis platform requiring no prior math knowledge from operators, leveraging the existing staff to succeed in the digital era. With offices in S...
Mar. 28, 2017 01:15 PM EDT Reads: 1,647
SYS-CON Events announced today that HTBase will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. HTBase (Gartner 2016 Cool Vendor) delivers a Composable IT infrastructure solution architected for agility and increased efficiency. It turns compute, storage, and fabric into fluid pools of resources that are easily composed and re-composed to meet each application’s needs. With HTBase, companies can quickly prov...
Mar. 28, 2017 12:45 PM EDT Reads: 3,170
SYS-CON Events announced today that Cloud Academy will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud computing technologies. Ge...
Mar. 28, 2017 11:30 AM EDT Reads: 4,729
SYS-CON Events announced today that T-Mobile will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. As America's Un-carrier, T-Mobile US, Inc., is redefining the way consumers and businesses buy wireless services through leading product and service innovation. The Company's advanced nationwide 4G LTE network delivers outstanding wireless experiences to 67.4 million customers who are unwilling to compromise on ...
Mar. 28, 2017 11:30 AM EDT Reads: 2,500
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 20th International Cloud Expo, which will take place on June 6–8, 2017, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buyers...
Mar. 28, 2017 11:00 AM EDT Reads: 3,761
SYS-CON Events announced today that Infranics will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 6-8, 2017, at the Javits Center in New York City, NY. Since 2000, Infranics has developed SysMaster Suite, which is required for the stable and efficient management of ICT infrastructure. The ICT management solution developed and provided by Infranics continues to add intelligence to the ICT infrastructure through the IMC (Infra Management Cycle) based on mathemat...
Mar. 28, 2017 10:45 AM EDT Reads: 3,337