loading...

Discussion

pic
Editor guide
 

Understand your worth.

Being successful as a startup is hard. More fail than succeed, which means you need to operate with that mindset.

Especially for newer developers, it can be easy to get "stuck", feeling like you owe the company something if you've been with them from the start.

But sometimes you just need to know when it's time to walk away. Very often newer startups will trade pay for equity or other incentives. But you cant pay bills with equity, and cool benefits like snacks and beer can't be put away for retirement.

If you don't see a light at the end of the tunnel, don't be afraid to walk away. You need to look after yourself too, and sometimes that means making the hard choices.

 

Thanks for that!

Especially for newer developers, it can be easy to get "stuck", feeling like you owe the company something if you've been with them from the start.

I'm struggling with this at the moment, I have been working on my current startup for around 5 years. My "boss" is a friend of mine for a long time so I kinda feel bad for even considering moving on. On the other hand, my workload and responsibilities have increased during these years, whilst my paycheck has not.

It's somewhat okay because they are not strict and I can take some time to make my own things or work on side projects, or get some free days now and then. Which I value.

It's definitely a hard choice to move away, and scary!

 

Five years is a long time.

If the startup is having a hard time getting off the ground, it might be in everyone's best interest to make some changes.

For you to grow independently on your own, and for them to get some new perspectives or ideas from a fresh hire.

Then, if you still want to, you can come back later with your own new ideas from working on other things.

 

If the direction isn't clear, neither will your code.

This sounds simplistic, but when I look back at the startups I have worked for, what worked, what didn't - where we succeeded and where we failed - comes down to that core principle.

I remember the last startup I was working for, customers were asking us to do all these new features that they would pay for and we were always discussing whether we should do them or not. But our leadership team wanted to keep us focused on what we were trying to build and grow into. We were a niche player.

In the end, it worked out and if we had of added all those other distracting features, they would have taken us away from this goal.

Conversely, I worked for a startup where we catered to every change and flip from a customer and we became bogged down in extra work and bugs and lost our way.

Whether it's the team you are leading or you yourself, keep that direction/vision on point.

 

Thanks for the comment!

I can relate to this; I have been struggling for a while now with this, there is no clear direction for almost none of the projects we work on.

I have, on a couple of occasions, raised this topic. My "manager" and other teammates have acknowledged that there is a problem, and they were willing to make changes. Two days that is, after two days back to the same rhythm again.

I have been making efforts myself to have a clear direction, at least in the parts that affect me.

I can relate to the clients asking for loads of features, we have one of those clients at the moment, and it freaking bothers me. They ask for features and features and give no time to improve the codebase at all. Making it harder and harder as the days pass by, we currently have around three years of tech debt accumulated in the project. The project is two years old... 😠

I have also explained why this is expensive and why we should focus some of our attention on this, they almost ignored me. My boss understands this but does nothing...

 

This reads very familiar to projects/products I have been a part of. In some cases, I took the work on myself to "stabilize" things and reduce some of this debt. However, you can't do this all the time and you can't do this with core parts on your own.

Once I had a manager that was very heavy on the data side - so I combed DevOps and gave them the stats - that worked. I showed them how much time the team was investing and wasting on it.

When I find people lost on direction - asking for many things all at once and looking around in the room and realizing I'm not the only one that is confused - I like to stop the meeting and ask them - "What's the problem you want me to solve?". In one discussion, this actually had my manager going "What?", in which case I repeated the line again and again.

When people realize they can't articulate the problem (hopefully) they realize that something's wrong.

 

Don't neglect your health. No one ever wrote "I wish I had worked more" on their tombstone. Sleep, exercise, good diet. Be careful of "death marches". Just because the head of sales told a customer it was "a piece of cake to add functionality X" doesn't mean you have to work nights and weekends. And if you do, is management there, beside you? I thought not.

 

Nice advice, I always prioritize my health before the job.

What are "death marches"?

And if you do, is management there, beside you? I thought not.

Definitely not, some times but mostly not.

 

Architecture is pivotal! In a small startup you implicitly become one of the core architects of this venture. Understanding best practices (depending on your project) for software architecture is key.

Books on this vary in quality and are very opinionated, but a good one to start IMO is Clean Architecture by Robert C Martin

 

I say this to any architect (in fact, I said it just today or yesterday here on Dev), but it's especially relevant to those in small, cash-strapped startups nobody has heard of (hopefully yet), whose only option may be to hire junior devs:

If you're not architecting with junior devs in mind (can a junior be brought up to speed and start making contributions quickly, without a long, drawn-out onboarding period?), then it's not good architecture.

 

True, I have been architecting at my startup for years, and mostly doing everything front end related as well.

I have not read that book, I will check it out though. Thanks!

 
  1. Read "The Lean Startup", it's a really useful book and it's faster to get the information from there instead of learning it from your own experience.
  2. Learn how to do Marketing. It's not the best product that wins, it's the product with the best Marketing.
 

I second the Marketing! You could have the best product ever, but it won't go anywhere if no one knows about it. Find your audience (work out who your audience is, and if they're the ones who can pay for it) and find out how to market to them. I'm learning it now, and it is amazing how much information is out there to learn from.

 

I will check it out! Thanks!

 

Actually, I am working in a Startup as well, and I am also facing some problems such as doing boring work and not doing something special or not being able to make something useful. I have accepted it as I do not have any experience and I do not have any worth while holding a Bachelor's in Computer Science Degree.

I am also working at my full speed and for 8 hours and still getting paid around $200 dollars a month, sometimes I think that that is not enough. But I have also accepted that this is the worth of a new developer or for a person getting his career started.

If you have enough experience then you should change your job or position, and find something that will make you feel at comfort and doing what you ment to be doing.

 

Most of my friends got 2600 EUR/month jobs with their BSc in AI, not even CS. Obviously rates will vary greatly from place to place (I get stupidly envious when I hear what devs in the US get paid), but the notion that you do not have any worth with 'just' a BSc is bullshit.

 

Yes, the Place Plays A Great Role in Terms of Salary and Wage, But in my country the Software Engineer, have worth but not same as that of europe or other developed countries.

 

Your main goal should be Create Value First, Startup’s have 2 choices, valuable product, or perfect product, create a product that is valuable first, release it, then slowly perfect it over multiple iterations.

 

If it seems needlessly convoluted, it probably is. If it doesn't, it probably still is. Learn about the KAMAL Stack (though even Heroku is probably too much, and you may never need Kubernetes, IMO - the sooner you start thinking in serverless FaaS and DBaaS, the simpler it will be to boil down to essentials).

 

That resonates with me, most of the projects we work on are convoluted as Londons motorways xD

 

It’s just a job, don’t make it your world (unless you’re the founder). Find meaning and friends outside of the job. By all means be hyped, but don’t put everything else on hold because of the job.

To be fair this should be applicable to any job not just small/young start ups.

 

Nice advice, I've come to this conclusion some years back, and it was one of the best decisions I've made. I got into climbing again and started going outside quite often, that boost my energy levels and improved my mental health quite a bit.

And yeah, this should be applied to any job.

The job is part of your life, not your life.

 

I think you have to forget about perfection in your code. You need to be able make any changes at any stage ASAP. For me, it’s easier to work on feature in just one file instead go through many abstractions 😄
P.S. Not clean code at all but really fast to implement or delete features

 

I would say:

  • One task at the time (make sure it is finished before you open next task)
  • Priorities
  • Make sure that what you do makes your happy (I think this is the most important one)
 

Have a varied technical stack so that you are versatile and can work on a variety of projects.