Click here to close now.

Welcome!

Microservices Journal Authors: Roger Strukhoff, Carmen Gonzalez, Liz McMillan, Pat Romanski, Elizabeth White

Related Topics: Microservices Journal, SYS-CON MEDIA

Microservices Journal: Article

i-Technology Viewpoint: When to Leave Your First IT Job

"Don't Work in Cubicles, Ever" – IT Workplace Advice From the Front-Line

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.

Final Thoughts

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.

Comments (8) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
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.
Schedule bullies do not only apply to the IT industry, many industr...

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

Hi,

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.

Cheers,
Tiger

Yakov Fain 10/05/05 04:20:53 PM EDT

Chris,

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.
Yes, not all managers are the smartest people in the world, but they need to worry about more things than just bringing a server up. Try to ajust to the environment you're in now, or you'll run out of emploeyrs to go to. It's a small world, really.
Meanwhile, our friends from Asia will be more than happy to move into your noisy cubicle.
Put yourself together and see what has to be done to have a better review then "in the middle of the pack".
As the President Bush put it, "You can run, but you can't hide!".

Sorry for the angry tone :)

@MicroservicesExpo Stories
17th Cloud Expo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy. Meanwhile, 94% of enterprises a...
The Workspace-as-a-Service (WaaS) market will grow to $6.4B by 2018. In his session at 16th Cloud Expo, Seth Bostock, CEO of IndependenceIT, will begin by walking the audience through the evolution of Workspace as-a-Service, where it is now vs. where it going. To look beyond the desktop we must understand exactly what WaaS is, who the users are, and where it is going in the future. IT departments, ISVs and service providers must look to workflow and automation capabilities to adapt to growing ...
The truth is, today’s databases are anything but agile – they are effectively static repositories that are cumbersome to work with, difficult to change, and cannot keep pace with application demands. Performance suffers as a result, and it takes far longer than it should to deliver new features and capabilities needed to make your organization competitive. As your application and business needs change, data repositories and structures get outmoded rapidly, resulting in increased work for applica...
The speed of product development has increased massively in the past 10 years. At the same time our formal secure development and SDL methodologies have fallen behind. This forces product developers to choose between rapid release times and security. In his session at DevOps Summit, Michael Murray, Director of Cyber Security Consulting and Assessment at GE Healthcare, examined the problems and presented some solutions for moving security into the DevOps lifecycle to ensure that we get fast AND ...
The Internet of Things (IoT) promises to evolve the way the world does business; however, understanding how to apply it to your company can be a mystery. Most people struggle with understanding the potential business uses or tend to get caught up in the technology, resulting in solutions that fail to meet even minimum business goals. In his session at @ThingsExpo, Jesse Shiah, CEO / President / Co-Founder of AgilePoint Inc., showed what is needed to leverage the IoT to transform your business. ...
Thanks to Docker, it becomes very easy to leverage containers to build, ship, and run any Linux application on any kind of infrastructure. Docker is particularly helpful for microservice architectures because their successful implementation relies on a fast, efficient deployment mechanism – which is precisely one of the features of Docker. Microservice architectures are therefore becoming more popular, and are increasingly seen as an interesting option even for smaller projects, instead of bein...
Grow your business with enterprise wearable apps using SAP Platforms and Google Glass. SAP and Google just launched the SAP and Google Glass Challenge, an opportunity for you to innovate and develop the best Enterprise Wearable App using SAP Platforms and Google Glass and gain valuable market exposure. In his session at @ThingsExpo, Brian McPhail, Senior Director of Business Development, ISVs & Digital Commerce at SAP, outlined the timeline of the SAP Google Glass Challenge and the opportunity...
In his session at DevOps Summit, Tapabrata Pal, Director of Enterprise Architecture at Capital One, will tell a story about how Capital One has embraced Agile and DevOps Security practices across the Enterprise – driven by Enterprise Architecture; bringing in Development, Operations and Information Security organizations together. Capital Ones DevOpsSec practice is based upon three "pillars" – Shift-Left, Automate Everything, Dashboard Everything. Within about three years, from 100% waterfall, C...
What are the benefits of using an enterprise-grade orchestration platform? In their session at 15th Cloud Expo, Nate Gordon, Director of Technology at Appcore, and Kedar Poduri, Senior Director of Product Management at Citrix Systems, took a closer look at the architectural design factors needed to support diverse workloads and how to run these workloads efficiently as a service provider. They also discussed how to deploy private cloud environments in 15 minutes or less.
of cloud, colocation, managed services and disaster recovery solutions, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. TierPoint, LLC, is a leading national provider of information technology and data center services, including cloud, colocation, disaster recovery and managed IT services, with corporate headquarters in St. Louis, MO. TierPoint was formed through the strategic combination of some of t...
SYS-CON Events announced today Sematext Group, Inc., a Brooklyn-based Performance Monitoring and Log Management solution provider, will exhibit at SYS-CON's DevOps Summit 2015 New York, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Sematext is a globally distributed organization that builds innovative Cloud and On Premises solutions for performance monitoring, alerting and anomaly detection (SPM), log management and analytics (Logsene), search analytics (S...
SYS-CON Media announced today that Blue Box as launched a popular blog feed on Cloud Computing Journal. Cloud Computing Journal aims to help open the eyes of Enterprise IT professionals to the economics and strategies that utility/cloud computing provides. Blue Box Cloud gives you unequaled agility, without the burden of designing, deploying and managing your own infrastructure. It’s the right choice when public cloud just won’t do. Blue Box Cloud is a managed Private Cloud as a Service (...
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo in Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading in...
SYS-CON Media named Andi Mann editor of DevOps Journal. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. DevOps Journal brings valuable information to DevOps professionals who are transforming the way enterprise IT is done. Andi Mann, Vice President, Strategic Solutions, at CA Technologies, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, communicator, and thought lea...
When OpenStack aficionados gather in Vancouver in a couple of weeks, one of the hot topics will be containers, a “new” alternative to virtualization. Actually, container technology has been around for a couple of decades, but it is trending among the IT community at a fever pitch these days and stands to have a huge impact on the future of cloud computing.The appeal of container technology is easy to appreciate. In a nutshell, containers can enable you to run many more applications on the same h...
Docker is an open platform for developers and sysadmins of distributed applications that enables them to build, ship, and run any app anywhere. Docker allows applications to run on any platform irrespective of what tools were used to build it making it easy to distribute, test, and run software. I found this 5 Minute Docker video, which is very helpful when you want to get a quick and digestible overview. If you want to learn more, you can go to Docker’s web page and start with this Docker intro...
"ClusterUP is the most exciting company in the DevOps space," said Chhavi Upadhyay, CEO of ClusterUP. "We are solving the toughest challenges for DevOps, around creating a solution from using a container for app deployment, to facilitating creation of software stacks using drag and drop workflows for complex applications. At ClusterUP we believe that containers are here to stay and most applications can benefit from microservices architecture."
The 5th International DevOps Summit, co-located with 17th International Cloud Expo – being held November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the...
Over the years, a variety of methodologies have emerged in order to overcome the challenges related to project constraints. The successful use of each methodology seems highly context-dependent. However, communication seems to be the common denominator of the many challenges that project management methodologies intend to resolve. In this respect, Information and Communication Technologies (ICTs) can be viewed as powerful tools for managing projects. Few research papers have focused on the way...
As the world moves from DevOps to NoOps, application deployment to the cloud ought to become a lot simpler. However, applications have been architected with a much tighter coupling than it needs to be which makes deployment in different environments and migration between them harder. The microservices architecture, which is the basis of many new age distributed systems such as OpenStack, Netflix and so on is at the heart of CloudFoundry – a complete developer-oriented Platform as a Service (PaaS...