How stressful is it to be a software engineer and why do you stress out?

Updated on : December 7, 2021 by Braiden Weiss



How stressful is it to be a software engineer and why do you stress out?

I would say that the stress in the software has more to do with the person. If you are prone to being a very stressful person, then it will be an incredibly stressful position. Thousands or millions of people affected, all eyes on you to get that feature shipped, etc.

However, if you're a super laid-back, low-stress person, the software doesn't really put much stress on the individual contributor level. Same as above - this is a small feature on a huge product, it will be fine and work well for people, visibility will pass and it will move on to the next.

I guess most of the stress comes from the fact that the field is, b

Keep reading

I would say that the stress in the software has more to do with the person. If you are prone to being a very stressful person, then it will be an incredibly stressful position. Thousands or millions of people affected, all eyes on you to get that feature shipped, etc.

However, if you're a super laid-back, low-stress person, the software doesn't really put much stress on the individual contributor level. Same as above - this is a small feature on a huge product, it will be fine and work well for people, visibility will pass and it will move on to the next.

I guess most of the stress comes from the fact that the field, by its nature, is full of unknowns. How long will it take something you've never done? Well, it's incredibly difficult to say for sure. Now if you're bound by that timeline, getting spec changes, then your code is buggy, etc. Now the shipping dates are in doubt and his head is on the chopping block - Yes, very stressful.

BUT! The above situation is not the majority of companies. Most people understand how difficult this is because they have done it and work well together and with patience. If software is very stressful, it's one of three things: being a stressed person, the wrong company / coworkers, a stressful position.

The last one, sure, a CTO who has a $ 50 million deal based on a feature launch that is overdue, is stressful. But at the engineering level, it generally doesn't happen.

Try to imagine that you are trying to answer these questions every 10 minutes.

Is this what the customer wanted?

Will I finish this on time?

Is this good enough?

Is it safe enough?

Did I follow the convention correctly?

It's easy to understand? If not, how can I make it more understandable?

Is it sufficiently proven?

Did I go through all the cases?

Are all dependencies in the correct place?

Is it backed up?

What happens if I do irreversible damage to the database by pressing Enter?

How will this solution scale to 100 times the current load?

Did I extract and secure all external variables?

Etc.

The order of these questions

Keep reading

Try to imagine that you are trying to answer these questions every 10 minutes.

Is this what the customer wanted?

Will I finish this on time?

Is this good enough?

Is it safe enough?

Did I follow the convention correctly?

It's easy to understand? If not, how can I make it more understandable?

Is it sufficiently proven?

Did I go through all the cases?

Are all dependencies in the correct place?

Is it backed up?

What happens if I do irreversible damage to the database by pressing Enter?

How will this solution scale to 100 times the current load?

Did I extract and secure all external variables?

Etc.

The order of these questions may vary. The number of them generally increases as the project progresses.

Maybe I worry too much. Maybe not.

It's not only stressful, it's scary.

But I love it.

Health

They are not allowed to do their job.

That sounds crazy just saying it, right? Wait, a company is going to pay this person a fortune to develop software, how the hell are they going to tell that person not to go and do it?

Well, it's not exactly like that, but a frequent occurrence in software is promoting managers who became good developers and hoping that somehow great leadership principles will materialize magically, and that they understand team dynamics, morale, and productivity. .

It just so happens that sometimes those things just don't materialize.

A manager ends up on an extremely skilled team

Keep reading

They are not allowed to do their job.

That sounds crazy just saying it, right? Wait, a company is going to pay this person a fortune to develop software, how the hell are they going to tell that person not to go and do it?

Well, it's not exactly like that, but a frequent occurrence in software is promoting managers who became good developers and hoping that somehow great leadership principles will materialize magically, and that they understand team dynamics, morale, and productivity. .

It just so happens that sometimes those things just don't materialize.

A manager ends up in a team of extremely skilled and pragmatic software developers who work well within their teams and even across teams, and then something strange happens ... They start to play with team dynamics.

It's like buying a new Ferrari, opening the hood and saying "man, you know what, I bet I could shorten this line and it would be so much better." and start hacking ... stop !!!

It starts off innocently enough.

“Hey guys, I don't want to change anything because you guys are kicking some ass! I just want to schedule a quick review every day to make sure we're on the right track and you don't need anything from me. "

Then we get to one more process, we need additional follow-up, we need upward visibility, we need to know exactly who is doing what verbatim, over and over again. Anyone in this field has been there.

¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿What ¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿?

So now the team is in 5 additional meetings a week, and the interruption results in wasted time before and after the meeting, of course. With 6 developers, suddenly the team has lost 50 hours of development per week, and in that time, it's pretty obvious that a lot less work would be produced, right?

There must be something else!

He! Speaks!!!

Except, of course, that empowerment literally means authority or power given to someone to do something.

So if you want to improve meetings and take your time to get back to work and have the confidence and power to build a good working project that PMs and UI / UX engineers collaborate and sign with.

I need visibility of what you are doing!

I mean, how else do they feel safe to justify their jobs, except to keep that power and show charts and graphs and shit to the VPs about the great job they're doing as a manager?

Meanwhile, as an engineer, you sit in a meeting and watch your hours of alertness and concentration fade as your manager tries to figure out what might be keeping you from working.

If you're really lucky, the manager will even ping you during the day to check every hour how he can help you work faster and eliminate distractions. It's great!

Welcome to software development!

This is usually where I give an uplifting, candid speech about how it's not so bad and all that. The truth is, it's that bad, and there are a lot of such managers in this field.

I'll say this though: some development managers are absolutely amazing leaders, amazing human beings, and their teams are a pleasure to work with. They make it worthwhile to stay in this field professionally and truly listen to their people, and I am still good friends with several to this day.

However, the truth is that things change very quickly in software, and that perfect team rarely stays perfect. That fact alone is quite stressful because your perfect team is always one hire away from being the dumpster fire floating down the river of shit.

When you find that leader who is truly special, hold on and never let go, and cherish every damn day you spend informing them.

A2A

I'd love to be able to tell you it's one or the other, but honestly, your career stress isn't really about your career, it's not about the teams you work for, the companies you work for, your bosses, or your projects. .

Stress is about how well you handle the friction and obstacles that you will face when trying to achieve your goals and deal with not only your own conflicting priorities, but also the conflicting priorities of everyone you have to interact with in order to achieve them. If you are able to juggle priorities and inspire others to juggle theirs to help you achieve what

Keep reading

A2A

I'd love to be able to tell you it's one or the other, but honestly, your career stress isn't really about your career, it's not about the teams you work for, the companies you work for, your bosses, or your projects. .

Stress is about how well you handle the friction and obstacles that you will face when trying to achieve your goals and deal with not only your own conflicting priorities, but also the conflicting priorities of everyone you have to interact with in order to achieve them. If you are able to juggle priorities and inspire others to juggle theirs to help you achieve what you need with a smile on your face, you will suffer much less stress than those who are not. The less able you are to do this, the greater the stress of each job.

In any job there is friction. You are given goals and deadlines. It is your responsibility to stand up and say “this time frame is not reasonable. I would have to leave other things that are important to me to achieve it in the time you want. I can absolutely do that, but you're going to pay me for that. "

Knowing yourself, knowing what you are capable of and what you are not capable of and having the confidence to stand up for what you know you are and not being afraid to express that is the key.

A couple of things about me to give you some context. Understanding myself is the key to understanding why I have the perspectives that I have ...

I am good at my job. I have been programming for 35 years, since I was 8 years old. I've probably programmed in more languages ​​than I haven't. I have worked as a one-man team on small utility applications to automate my own work up to large, high-performance teams working on large-scale, state-of-the-art mission critical systems. I have written flow control systems for multinational oil and gas pipelines in software for the space program.

I am motivated by challenges and tend to get emotionally involved in the tasks that are asked of me. The greater the challenge, the more emotionally involved I become.

I'm an empath, so I tend to get emotionally involved in other people's problems more easily than I should.

I never fail. That sounds hugely arrogant at first glance, but my relationship to failure is this: it's a shitty word that only exists to make you feel bad about an unfavorable outcome in a given situation. The story you tell yourself about the situation is what makes you believe that you have failed, but the reality is that you have not yet succeeded; That is not the definition of failure. The only time you fail is when you stop working to achieve success. Given this perspective in combination with my history of sacrificing my own personal needs to deliver what is asked of me, no matter how many lessons I need to learn or how long it takes me to get there, I stick to this assessment.

I live outside of my comfort zone so much that I'm not entirely sure what my comfort zone is like anymore.

These character traits are my strengths, but they are also my weaknesses, and they can make a fatal combination. They have the potential to make my professional life very stressful for what most people would consider a more than reasonable amount of time if allowed. In fact, the load of stress over the course of my career has had the potential to further paralyze. I'm only still here because I understand that I'm only under as much stress as I accept.

I often have to remind myself:

“I am only under this stress because I have allowed someone else to dictate my role and delivery conditions. I didn't get up and speak up when I learned that there were steps I didn't know how to accomplish in this project and I didn't know how long it would take to accomplish. So now I have until Friday to deliver this thing that I don't know how to deliver. "

The key takeaways from that are that I'm only under this pressure because I didn't speak when I should have and I don't allow myself to fail!

To get to where I am today, you have to put yourself under a certain pressure. You need to know your tools, your languages, your problem domain, your solution, your target environment and audience, and a host of other variables. This is not easy or fast. The faster you want to get to where I am today, the more pressure and stress you will have to endure to get there. That doesn't mean it can't be done if that's what you want to do. I haven't done anything special to get here. It just takes unwavering discipline. Anyone can do this as long as they have the motivation and tenacity. I'm not special. I did what it took to get here.

In short, software development can be as stressful or as stress-free as you allow it to be. The more stress you are able to handle and the more you successfully take on and deliver, the faster you will rise to the top and the quicker you will bring home 6-7 figures while 99% of the rest of the industry sits in the middle-high of 5.

Yes. They are both quite stressful and quite laid back.

Why stressful?

  1. Several times when I took on a big task, I faced the problem of continuous changes in the design of functions and interfaces. I plan my tasks ahead of time and design changes on the fly cause delays.
  2. Sometimes big tasks are not divided properly and a great deal of time is spent planning. Sometimes I incorporate one thing into the design and then I realize that I have to do that too and therefore I can't do this.
  3. Errors can happen at any time. Usually when working with startups, I have to wake up at 3am to kill them.
  4. Some startups in India work 6 days a week and
Keep reading

Yes. They are both quite stressful and quite laid back.

Why stressful?

  1. Several times when I took on a big task, I faced the problem of continuous changes in the design of functions and interfaces. I plan my tasks ahead of time and design changes on the fly cause delays.
  2. Sometimes big tasks are not divided properly and a great deal of time is spent planning. Sometimes I incorporate one thing into the design and then I realize that I have to do that too and therefore I can't do this.
  3. Errors can happen at any time. Usually when working with startups, I have to wake up at 3am to kill them.
  4. Some startups in India work 6 days a week and more than 12 hours a day. I have worked under such conditions for about 18 months. There was no life apart from work. However, I learned a lot during that phase that led to a much better paying job with all the perks and relaxations.

Why relaxed?

  1. I visit the office between 1 and 2 in the afternoon and return today between 7 and 8 in the afternoon, unless there is some urgent work. For the past 2 years, I have been attending the office for only 6-7 hours. The only downside is getting your work done on time.
  2. Even during office hours, he spent a lot of time playing pool, discussing politics and finances, and eating in a cafe. You can assume that I normally work only 4 hours at the office.
  3. Good salary to be able to buy all the things that relax me. For ex. Just yesterday I was sitting in my recliner drinking apple juice and reading Mark Bowden's Killing Pablo.
  4. Attribution: I don't have to worry about things like someone else representing my work and I will be in hindsight. However, it happens with the types of software that work in companies, but I inquire beforehand about the culture and work ethic of the company. If I find a problem, I prefer not to join. All of my managers to date have attributed my work to me, helped me in professional growth, and some of them have even helped me in non-work related situations.
  5. Benefits like Uber for business, free food, other aids make my life very simple. I have nothing to worry about except work.
  6. My current and last companies provide an excellent work-life balance. I am a fan of non-fiction and have read over 60 books in the last two years. This has enriched my knowledge in the fields of history, economics, evolutionary biology, theology, politics and the evolution of human institutions, culture and other aspects.

In my career path, I feel that it is easy to find a relaxed job. However, you should keep the following things in mind:

  1. Make it clear for yourself that the reason for your work is not just money. Although money matters a lot. But you should also take programming seriously.
  2. If you are clear that you enjoy programming, be open to decisions. My first job was at Intel and I switched to a very small startup with almost no walk. From a very relaxed job (5 days, 6 hours a week) I moved to a stressful job (6 days, 12 hours a week). Many of my friends and family told me that they would regret the decision. I do not. I worked there for seven months and learned a lot in Android Development. Today I belong to a good category of Android developers, if not the best. My latest change is also from a large company to a startup that took its first step in the high growth stage. The work-life balance is not as good as it was at my last job. But that's okay, since it's not bad at all. I work here 7 to 8 hours a day (5 days). The taxi service is gone.
  3. I think one should work in a startup at a young age at least once in the career, preferably in the first 3 years of the career. There are tremendous opportunities for growth and learning, and you will be able to handle bigger pressures easily as your whole life will be under pressure. A small 1-2 year commitment can give you vast knowledge of technology, marketing, and most importantly, how to run a business. And if it's your luck, you might find yourself as one of the first developers on the next Uber or Airbnb.
  4. You should also work in a large company. At Directi I learned ways to be a better player while working as a team. What processes should be followed for better collaboration in development. I learned the importance of code reviews, tools (like CI), and visual and interaction design. Best coding practices and design patterns. In Directi, even the implementation of large functions has been easy for me due to the practices implemented. Now, I am applying these practices in my current company.
  5. And if it is possible to also work in a high growth company. This is my first time working in a high growth startup. It's been a month and people here take technology very seriously. The culture is very good. Since then, it has just received a lot of funding. It has few things out of place like the cafeteria and office space. But they are working on it.

In my 16-year career as a software developer, I have met a few developers. So I can answer this question.

Many developers have hobbies. This is very helpful in relieving work stress. Actually, one of my friends finally quit work to change his hobby to work. Now he works as a photographer and is very happy.

Working as a software developer can be very stressful. In my early working years, the stress came from feeling unsure about whether I would learn everything to do the job the right way. In programming there are no recipes. How to make a pizza in which you know how to make Hawaiian pizza and you can do it with your eyes closed.

Keep reading

In my 16-year career as a software developer, I have met a few developers. So I can answer this question.

Many developers have hobbies. This is very helpful in relieving work stress. Actually, one of my friends finally quit work to change his hobby to work. Now he works as a photographer and is very happy.

Working as a software developer can be very stressful. In my early working years, the stress came from feeling unsure about whether I would learn everything to do the job the right way. In programming there are no recipes. How to make a pizza in which you know how to make Hawaii Pizza and you can do it with your eyes closed. Developers are faced with basically new situations every day and need to find a way and most of the time they need to learn new things along the way to get the job done. And this can be stressful. Without knowing what happens and if it will be possible to do the job.

For me it was also stressful if there were more people involved and everyone expected something and everyone at the same time. Or everyone wanted this button to have another color and it was impossible to meet all the needs. He was also stressed when doing a job and needed to rewrite it because expectations changed.

I also unfortunately met some toxic people in my career who made my job as a developer hell. Fortunately, it was not that long.

So these were the first sources of stress in my career. How did I manage? Not very well. I was upset, thinking about it all the time. So it added fuel to the stress. To stop thinking about these problems was basically impossible.

But I have learned to cope with many situations. Observing and learning from others.

So having a hobby is a great stress reliever. It also helps a lot to play sports. One of my friends goes boxing, the other jogs. One plays, another travels.

It is also very useful to deepen the learning of communication skills. Yes, software developer. Communication. Therefore, it is important to recognize the sources of stress, what problem causes it and why. And be true to yourself. If two people want the same thing at the same time, don't try to build a time machine. Sit them next to each other and wait until they prioritize tasks.

Etc. It is also useful to talk with people, co-workers, not be 100% inside a computer. Finally, talking to someone is a solution, even if no solution is offered.

Good diet, sleep, family, fine line between work and private life. Do not answer calls after x pm as a general rule. It also adds to the ability to deal with stress.

Stress is basically our reaction to the situation. If we take care of ourselves we can handle it without stress.

Please vote because despite the occasional stress, software development is amazing!

Well, I have worked in two completely different industries. Aeronautics and Software. I will explain how stressful it is for Indians to work in the software industry.

Before we begin, two points to test your actual stress level.

  • I will ask all IT employees if they have been told something like this: "If an error is found in your code, your engineering license will be disenrolled and canceled, and you will have a difficult time getting another job for years to come. . " (I don't think anyone from the software has received such a statement.)
  • Let's try another, "If a line of code is missing, hundreds
Keep reading

Well, I have worked in two completely different industries. Aeronautics and Software. I will explain how stressful it is for Indians to work in the software industry.

Before we begin, two points to test your actual stress level.

  • I will ask all IT employees if they have been told something like this: "If an error is found in your code, your engineering license will be disenrolled and canceled, and you will have a difficult time getting another job for years to come. . " (I don't think anyone from the software has received such a statement.)
  • Let's try another, "If a line of code is missing, hundreds of lives will be lost." (There's no way the Software folks will hear this.)

Still, people have used the F *** word so many times to reveal their stress for Quora.

Most complaints from software engineers are around 12 hours of work (in an air-conditioned cube or working from home). There are no festival permits or customer requirements etc. I think it's a pretty relaxed and stress-free job. That is one of the reasons I moved into the software industry.

But let me now reveal to you the job stress that I became aware of during my role as an aeronautical technician (eventually called an engineer after the experience):

Few of my batch mates are still working in airlines, so I'll combine their job stress as well.

  • Many aircraft engineers and mechanics have to work in bright sunlight for nearly 12 to 14 hours a day in a smoky environment. If you're not on the track, check the partition filled with the smell of paints, gasoline, and other harmful chemicals. It depends on whether the review division is AC or Non-AC, there is no certainty. Isn't it a stress-free zone?
  • When an aircraft approaches a runway, few engineers have a scheduled arrival and departure schedule. They must be available on the track, whatever happens. Otherwise, any software engineer sitting inside the aircraft can get frustrated due to a 5 minute delay in their meetings.
  • Few aeronautical engineers work in the unscheduled maintenance division, especially for helicopters. They get sudden calls even at 2am for whatever failure has occurred and sometimes they don't even get a chance to go home until maintenance is complete, because some VIP or Celebrity may have to take that helicopter ASAP.
  • Few engineers have lost their lives due to human error. Two of them were on my contact list. One was my third year in college and another was my senior year. Their families did not receive adequate compensation. But they lived a totally stress-free life, didn't they?
  • During this COVID-19 situation, few engineers have not been paid for a few months and few have lost their jobs that they had fought for 4-5 years in the past. Now that 4-5 years of fighting will continue again and leave you stress free, won't it? It goes without saying that profitable airlines are far inferior to IT companies around the world.

And the list can be very long.

So, I would like to say that the stress of people who work in the software industry is also virtual like their products.

Every time an IT technician, if you feel like your stress level is too much, you certainly have a lot more time to overthink your stress level.

Hope my answer is helpful!

Most programmers don't deal with potentially life-threatening things (obviously some do), so they don't have that kind of stress that my wife (a nurse practitioner) deals with on a regular basis.

Computer programming is an endless series of problem solving. It requires the ability to think logically to translate customer needs into a working code. For most of us, that aspect of programming is much more fun than stressful.

Stress comes from:

  • Deadlines. Usually the company wants to know when things will get done. Sometimes there are deadlines that absolutely must be met. We can provide is
Keep reading

Most programmers don't deal with potentially life-threatening things (obviously some do), so they don't have that kind of stress that my wife (a nurse practitioner) deals with on a regular basis.

Computer programming is an endless series of problem solving. It requires the ability to think logically to translate customer needs into a working code. For most of us, that aspect of programming is much more fun than stressful.

Stress comes from:

  • Deadlines. Usually the company wants to know when things will get done. Sometimes there are deadlines that absolutely must be met. We can provide estimates based on the state of the art, but most of what we do is new in a sense. A large number of unpredictable variables make it impossible to provide consistently reliable estimates. Worse still, we often end up with extremely unrealistic imposed deadlines. Too many managers are great at creating an extremely stressful environment due to these deadlines.
  • Brains working overtime. Since we are continually solving problems, many of us tend to take work home with us, especially when we get caught up in something particularly challenging. He is not directly visible to others, but sometimes we are chewing on a problem as he speaks.
  • Production problems. The biggest producer of sweat is when something goes down in production that needs to be fixed right away and we can't figure out why or how to fix it. Sometimes we end up with executives breathing down our necks (literally sometimes) until the problem is fixed. Sometimes they call us in the middle of the night, creating physical stress due to lack of sleep. Sometimes we must cancel important personal events to solve problems, creating family or social stress.
  • Distracting problems. We are happy when we can create code to solve problems. We are not so happy when we have friction-induced stress; all the little tangential things that don't work as expected can add up to a bit of a headache. Examples: the third-party library does not work as expected; my operating system keeps crashing for some reason; the expense tracking tool is tedious and requires us to waste an hour entering all receipts; the test should fail, but it is not because the mock frame is not behaving as I think it should; ...
  • Corporate stupidity. Read Dilbert for examples of the kinds of stress that silly people and environments can create.

I notice that the question has changed to ask for a rating on a scale of 1 to 10. I'm going to say, for me personally, it's a 6. Part of my personal stress comes from showing up on many teams and companies and being expected to have a lot of answers.

Software developer / software engineer jobs tend to be stressful. There are many reasons for this.

  • You make mistakes all the time. You have to diagnose and correct them. That means you have to understand and accept what you did wrong. No rationalization or shifting of blame is allowed. Over time, you make fewer mistakes on basic tasks, but more complex tasks are also assigned to you, so your stress doesn't decrease.
  • There is a lot of money at stake, so there is a lot of pressure to produce. I have had bosses behind me as I tried to diagnose a problem, telling me exactly how much money I had spent.
Keep reading

Software developer / software engineer jobs tend to be stressful. There are many reasons for this.

  • You make mistakes all the time. You have to diagnose and correct them. That means you have to understand and accept what you did wrong. No rationalization or shifting of blame is allowed. Over time, you make fewer mistakes on basic tasks, but more complex tasks are also assigned to you, so your stress doesn't decrease.
  • There is a lot of money at stake, so there is a lot of pressure to produce. I've had bosses behind me as I tried to diagnose a problem, telling me exactly how much money the company was losing on this and how limiting my career would be if I didn't fix the problem RIGHT NOW.
  • Production pressure often manifests as demands for unpaid overtime. Bosses will take over your life if you let them. You have to draw a line somewhere, but that line becomes a constant sore spot for bosses. They never really accept that there are limits to what they can demand of you.
  • The field keeps changing and you have to keep up. New languages, new libraries, new development environments, new target environments. The level of performance that users expect continues to rise. The bar keeps going up. You should plan to learn about a college course with new material every year, forever, probably in your spare time.
  • Software jobs are project oriented. When the project is finished, they may or may not have another that needs your skill set, and the developers are too expensive to keep staff in case you need them later. Keep your resume polished and keep a 6 month cash cushion, because suddenly you will be looking for work at some point.

There is also the usual stress that occurs in any job: toxic co-workers, office politics, bad commutes.

As a reference, I work as a consultant on a streaming platform for a client in the public transport sector. I do a lot of different things in this project, such as data science, cloud architecture, data engineering, and backend development, but most of my work falls under the umbrella term of software engineering.

Here is a summary of what I did in the last few weeks. There were more meetings than usual, but other than that it was pretty typical.

Technical

  • I analyzed how our machine learning models work in production and sent some reports to management.
  • Imp implemented
Keep reading

As a reference, I work as a consultant on a streaming platform for a client in the public transport sector. I do a lot of different things in this project, such as data science, cloud architecture, data engineering, and backend development, but most of my work falls under the umbrella term of software engineering.

Here is a summary of what I did in the last few weeks. There were more meetings than usual, but other than that it was pretty typical.

Technical

  • I analyzed how our machine learning models work in production and sent some reports to management.
  • We made improvements to our custom map matching algorithm to track vehicles in underwater tunnels (this is the fun part).
  • He outlined how we can make it even better with machine learning. I can't wait to get started on the prototype.
  • I worked on query optimization in one of our key databases.
  • Improvements were made to the way some of our backend services handle connections to Redis cache servers.
  • The usual bug fix here and there.

Non-technical

  • Tasks assigned to the latest addition to our team to bring him up to date. All my team members have over 15 years of experience, so onboarding is pretty straightforward.
  • I left the city to exchange experiences with a company that operates in the same sector and faces many of the same problems as us.
  • Completed travel expenses (the least fun part).
  • I participated in a workshop with a team within the client company I am working for that is also working on applied machine learning.
  • I participated in a workshop to plan a new module in the system to support edge analysis on board vehicles.
  • I went out of town again to talk about my project in a meeting.
  • Filled out travel expenses again (sigh).
  • Discussed the project progress in the weekly team meeting with the client.
  • Introduced our project to a UX designer we've hired to help us and set up a meeting with him and my project manager.
  • Met with my boss who informed the team about our new hourly rates (the most fun part).

You start afresh. Everything is new and fun. You can make things

But then, Things will change The technology that you like will go out of fashion.

Something new will appear. And then something new again and again, and again, and again and again.

Usually, that "new" new isn't going to be faster or better or even really "new". It is going to become popular because of social dynamics and a set of strange circumstances.

And you have to learn everything "new" new. Because if you're out of the hottest and hottest, you're unemployed.

There is a ceiling.It has a finite amount of concentrating power per

Keep reading

Start again. Everything is new and fun. You can do things

Pero luego, las cosas cambiarán. La tecnología que te gusta pasará de moda.

Aparecerá algo nuevo. Y luego algo nuevo una y otra vez, y otra vez, y otra y otra vez.

Por lo general, ese "nuevo" nuevo no va a ser más rápido ni mejor, ni siquiera realmente "nuevo". Se hará popular debido a la dinámica social y a un conjunto de circunstancias extrañas.

Y tienes que aprender todo lo "nuevo" nuevo. Porque si estás fuera de lo último y más caliente, estás desempleado.

There is a ceiling You have a finite amount of concentration power per day. Mine is around 3-4 hours. This time you can work. More than that is impossible. There is a finite “brain power” that you can’t ever overcome. Your development, really, stops.

Knowing is impossible. The more you try to learn, the more you understand how really little you do really know. And you can do nothing about that gap.

Technology is not really that important. Functional, object-oriented, typed, untyped, lisp, garbage collected, performant or not performant, well written or poorly written, with or without tests.

These are the geek's questions. The real questions are:

  1. How fast can you make it?
  2. What is the cheapest way to do it?
  3. (Probably, in very very good and rare companies) How can we support this cheaply?

Does any of this even worth it?

I haven't used a smartphone for two years. I severely limit my internet and social network usage and my life are significantly better.

I am less depressed, I connect better with people outside of the internet.

I mean, the typical web site economy is to deprive you of the joy and the meaning of life by harvesting and selling your attention to the ad network.

We automate people's jobs, but we cannot provide those people with the Basic Income. It is efficient, and it is cheaper. But is it a good thing? Does it make people suffer less?

Medicine does.

But a typical software development job?

I really doubt that

  1. Dealing with non-technical project owners and their magical beliefs, feelings-based decision making and basic inability to express what they need or want with any kind of actionable language.This part is really crazy.
  2. No obtener requisitos claramente definidos
  3. Cuando el código es escrito por Jackass: "Cuando escribí este código, solo Dios y yo sabíamos lo que hacía. Ahora, solo Dios lo sabe".
  4. Variety of things, depending on the company or seniority. Some programs, some programs hack to find flaws, some test and give feedback to improve things, some design or propose ideas for new products, and most do a little bit of
Keep reading
  1. Dealing with non-technical project owners and their magical beliefs, sentiment-based decision making, and basic inability to express what they need or want with any kind of actionable language, this part is really insane.
  2. Not getting clearly defined requirements
  3. When the code is written by Jackass: "When I wrote this code, only God and I knew what I was doing. Now, only God knows."
  4. A variety of things, depending on the company or seniority. Some program, some hack programs to find flaws, some test and give feedback to improve things, some design or come up with ideas for new products, and most do a little of everything.
  5. Well I guess you've never had a code review where the reviewer often want's you to go off spec then has an argument with you about why your solution is garbage and won't work even though you are simply following a spec written by someone else. Or maybe you've never had a code review where the reviewer wants you to change 100's of trivial things because of personal preference often ignoring any coding guidelines. Maybe you've never had a code review where a reviewer just wants to show how much better they are at coding than you.In other words sometimes code reviews are actually a personal attack. The reviewers is often calling into question your abilities for whatever reason (maybe they just don't like you). I've had my fair share of these types of reviews over the last 14 years and they suck. It's often hardest when it's your superior who is doing the review and if you are in a small company there is often little room for you to complain.
  6. You might find you are at an organization with hires a rockstar type programmer in which the rockstar feels that everyone is beneath them in terms of ability and so their code reviews often become just a shit flinging contest. Unfortunately in the world of programming this is extremely common. What's worse is that these types often have the ear of the upper management so you can either just cope with their intolerance or quit.
  7. People should understand how size and age of the company really affects it's environment and it's culture for software engineer.
    1. In a large company, don't expect much "creative freedom". (For whatever reason, people don't perceive programming as a "creative" endeavor, but it really is.) and you will be mostly working in 24*7 production support projects ,which is health hazardous.
    2. In a smaller company, you usually have more creative freedom, and a lot more responsibility. But then you are working a lot more hours, and usually lack stability too. Projects come and go, funding in a roller coaster, you'll be working lots of hours and from home, layoffs can happen out of nowhere, etc.
    3. If you are new and you are job searching, you should keep this in mind with what matches your own personality. Do you like more rigid structure, solving one small problem at a time? Go to a larger or more established company. Do you seek increased responsibility, are self-motivated, like taking on bigger problems by yourself, and want some recognition (either internally or externally by actually releasing products?) - then maybe go with a smaller company or a start-up. Stress is inevitable part of software engineers life at initial stage ,over a period of time it may calm down.

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.