What is the hardest part of your job?

twitter logo github logo ・1 min read

Many people assume that solving those big, complicated problems is the hardest part of being a software engineer. Sure those problems are hard, but for many, they probably aren't the hardest part of their jobs. What do you do and what is the hardest part of your job?

twitter logo DISCUSS (53)
markdown guide
 

I recently became a technical lead and now I have a team of 2 that I am responsible for. At first, I assumed that I, plus 2 more people meant that we would get 3x as much work done as before and it would be a piece of cake. Oh boy, how wrong I was! Leading a team is HARD WORK! Figuring out exactly how much support each member needs and how to best give it to them while also continuing to technically contribute myself is tough. I have had to accept that contributing less is OK because my time is better spent sharing my knowledge and helping others on my team grow.

TL;DR The hardest part of my job is learning how to effectively lead a team.

 

3x+ work done will be possible eventually, but it will be due to how much more clever equally intelligent and motivated people can be working in a group, not due to proportional scaling. You have the opportunity to create extensions of the way you think that is a drain at first, but provided they stick with you, will eventually become a force multiplier. Over time, with established team culture, leadership will become much easier, so you have a lot to look forward to.

 

I was in that position for two years more or less and was easy for me, my team was so proactive that was easy to advice and help when was necessary. I had to face one person going out of the team even the company and replace them with another person less qualified. None of those challenges modified my way of working, I did a daily starting meeting (like a daily scrum meeting) to schedule their tasks for the day. This allowed me to check what they were doing and identify their issues to plan helping chats. In addition, you have to assume you spend some time managing your team and you will not doing the same tasks as before, in some way, you are the expert and has to start the way of doing things or remove the rocks from the path.

Hope this can help you.

 

Leading a team takes a very different skill set then developing software. I've had different sizes of dev teams working under me - but for me, even managing myself is a hard thing, and managing other people as well is even harder.

 

I am in the same situation! The hardest part for me is coping with the lack of actual coding time as I spend most of the time planning, assigning task and review everybody's else PRs. I feel like I am just less than 1/2 Dev in the team.

 

Not having a leader in a company where only 10x engineers are retained. It's my first job, had to implement a full stack application from zero, not having mentories and not know if doing right exhaust me.

 
 

10x not in the sense that devs are themselves productive but in the sense that they are required to meet ridiculous deadlines day-in and day-out.

That and they brag about the abuse they endure. Most toxic trend in the industry since the whole "need ten years experience with HTML5" three years after it came out.

 
 

I work in a startup and I can relate so much to this!

 

I had exactly the same problem in my previous job (it was my first job also), not having mentors and good project managers is a hell

 

Coworkers. I'm the only venezuelan in a group of mexicans (which is ok) but, they sure don't understand me and I don't understand them and that's caused me more frustrations than normal πŸ˜…

Adapting to cultures is super difficult and even more so when you're an immigrant. I'm learning though :3

 

I'm Mexican, si tienes preguntas te puedo ayudar :)

 

Not receiving credit for my suggestions. As a consultant developer, me and some colleagues pointed multiple points where the client's process could be improved. They agreed in the meetings but not really applied anything. But as the time passed, most of our insights were applied as if they were ideas from other people.

 

That sounds incredibly frustrating and disheartening πŸ˜”

 

For me it is actually navigating bureaucracy. Getting anything done takes ages because of rigidly defined processes, controls, policies, and compliance tasks. I have to engage with 11 teams external to my own in order to take an application from start to finish, and it is absolutely exhausting sometimes. Life in the enterprise.

 

11 teams?! Wow sounds like a big organization. We have 4 dev teams at Kenna and it already feels huge

 

Yeah, it’s a giant institution, everything is siloed still, so there is nonsense. If you need a SQL DB, first submit a hardware request to the provisioning team, then when that’s complete, submit a request to the data management team for your DB. That kind of stuff.

 

An architect that tells me to use something he doesn't know how to use himself. If you want me to inject something into my project, it should be on you to prove that it works. Also, being the only one who can get it to work somehow translates to me not properly understanding it. He speaks strictly in accusations, and it gets frustrating when I'm the only one who understands a problem yet I'm being told I don't understand a problem. Thankfully, he's mostly aloof and I deal with him only in weekly meetings.

 

Good luck with your new role!

I've been in a leadership (+mgmt) position for ~2 years now. Previously I was an individual technical contributor and was the technical lead on most projects.

My challenges in that role is that I had to do a lot of thinking and planning in terms of design, breaking down work, coming up with schedules and assignments. The team, and my management, would all wait on me... so some pressure there.

As the responsible person for the execution of the technical work, how would I balance assigning the difficult and most interesting/challenging work to others, especially when my instinct is to just take ownership of that part because of fear of failure or missed deadlines.

A lot this resolved over time and also by the team itself. Some teammates demonstrated a lot of ownership on the project and it easier to assign them larger and more difficult tasks.

It all came down knowing the team I worked with, their talents, and who was up to do X.

Now the hard part for me after doing this for several years is trying to tame my engineering instinct. I enjoy building things, seeing everyone else do the "real" work is hard. It's taken me time to adjust to my new role which is more mgmt and less technical leadership.

 

Thanks for sharing! This is all fabulous insight!!!

 

Managing people! Everyone is different and you have to find the flexibility to connect with each person on your team in a way that they can relate to. Coming in new and building trust with different personalities takes patience and thoughtfulness, People are so different and we can’t change their personalities but we can focus on and give recognition for what they do well which helps build trust

 

Connecting with a technical audience in a meaningful way, as a marketer. I'm on the greener side when it comes to dev, though I'm working to sell an extremely technical product. My main goal is to produce content that is actually helping to solve problems or answer questions. We've started to publish more pieces from our technical team, like this one on PHP and WordPress from our CTO (pagely.com/blog/wordpress-performa...)... though I need to make sure we're offering real value with each piece of content we publish.

 
 

The hardest part, for me, is dealing every day with obsolete technology. Not only because of the lack of productivity, but the feeling of being stuck in a technological hole.

That's why I decided to spend my free time studying new technologies, to be up to date.

 

Explaining the existing codebase we're working on.

One time a new guy joined me as a team and it takes a MONTH to explain our existing codebase. I don't know maybe the doc I've written is not verbose enough πŸ˜„

And this guy also hardly working with Git and causes many conflict on the master branch (he didn't checkout a new branch to play around).

 

Let's not forget when PM pushes you to finish the app, but you haven't finished the whole proposed codebase design. Now you ends up writing spaghetti code for the first release and rewrite it from the scratch.

This is happening right now, I'm rewriting this f**** up codebase.

 

I think the hardest part of my job is managing the expectations of my clients/users and our partners by framing our message on what is conveyed to them.

There will be times, we can not provide them with an immediate answer or we need to find ways to delay or frame our response in a tactful way to say No.

Then again I don't deal with it on a daily basis compared to my superiors who need to get consent from partners or client/users to get a project going as smoothly as possible.

 

Knowing that it's a complete dead end and that I'll never really do anything I enjoy.

 

my biggest problem is getting motivated to finish off projects after the shiny newness and interesting parts are done.

 
 

The client !! Clients are always a challenge sometimes you can have good clients with good knowledge of their business and clear scope and roadmap, but most of the times client are always changing the priorities on the way and are not too flexible , companies in their digital transformation managed by sales/marketing ideas without realistic deadlines and thinking just in the money

 

Two jobs ago, the hardest part was holding to together from the stress. New requirements had to be delivered yesterday. We had no tests. More time was spent playing politics than working in a company of about 20 people. That company doesn't exist anymore.

In my last job, it went from learning how to Salesforce, to learning how to write good automated tests, to learning how to write good Sencha UI code, to learning how to write good automated tests, to learning how to write Capybara (selenium in Ruby tests), to learning how to support a team, to trying to change the culture, to finding a new job after three years of surprisingly unmarketable experience.

In my current job, it's dealing with clients while still delivering. They often want this, then this, then this - all while I'm still working on the thing before those! If I responded to every email with the depth I usually do, I'd have literally no time to work on features for them. So it's often in their best interests for me to delay in responding, or to give shorter answers.

 

The client balance is always hard, you want to give all of them the complete answer but you simply dont have the time.

 

I'm a WordPress developer and I work as a freelancer. The hardest parts of my job are two things! First is dealing with clients which I think is not my not best skill. Second, working all alone and not having much people around me which I can not bear!

 

I would say that the hardest part of my job is bridging the gap between what the requirements actually mean and what is technically feasible. As if this is not enough of a challenge in itself, let's make it even more volatile by throwing in political discussions and human emotions to ante up the challenge with even more interesting constraints. On the one hand we have the facts and figures, and on the other hand we have human nature creating bumps in an otherwise smooth road to success. Finding the right balance between creating the perfect platform and meeting the expectations of the outside world is fun yet challenging.

 

Working for idiots.
I've had my share of stupid bosses/superiors, and I have to say that's absolutely the worst in my book.
Going to work knowing you'll be forced to do wrong things in a way that you know is wrong, that's a real problem for me. Especially when I know what the right thing to do is.

Solving problems is the fun part at work, at least for me.
About that - here's a free tip: 99.9% of the time, someone else have already encountered your current problem. They've done the hard work, they've solved it, and most importantly, they've posted the solution online. You just need to find it and adapt it to your specific needs.

 

I'm an embedded qa engineer, but electronic engineer by education and most of my experience. The hardest part of my job is creating tests which take into account hardware that our software runs on and the level of unpredictability that comes with realworld hardware. Cloud services are one thing, with virtually limitless resources and scalability, real embedded computers you can hold in the palm of your hand don't behave like that, level of abstraction is much lower.

 

Wow I cant imagine having to write tests for hardware, thats impressive!

 
 

To wake up in the morning. Or the afternoon. Yawn

 
 

All the "other stuff". Who knew how much creative writting would be required to be technical. I'm writing documentation sure! But there's also product explanations in marketing materials, slide decks for sales training, product evaluations and communications with clients, management or other teams.

I'm getting more efficient but Holy cow, I did not expect this!

 
 

Having customers that say "we want to achieve <GOAL>" but has only the vaguest of notions what <GOAL> means and zero willpower to achieve <GOAL>?

 

Assigning and getting something done as a Project Manager from someone who is senior than me :X

 

Currently team communication. Office politics. 😰

 

Firing people. Glad that isn't part of my current job.

 

Not being able to keep up with my physical health and fitness sometimes.

 

Dealing with challenging client demands within the confines of the toolset decided by the agency.

Classic DEV Post from Aug 21

The Ladybug Crew's Learn to Code Stories

Molly Struve profile image
Elasticsearch wrangler. Speaker. Runner. Show Jumper. Always Ambitious. Never Satisfied.

Customize your DEV feed to keep up with the technologies you care about.

Get Started