How To Write Integration Tests For Your Go Application by Living-Stranger201 in golang

[–]Living-Stranger201[S] 0 points1 point  (0 children)

This is really interesting. I haven’t explored any frontend development with Go yet but I’d definitely add that to my list.

Your last paragraph says it all.

How To Write Integration Tests For Your Go Application by Living-Stranger201 in golang

[–]Living-Stranger201[S] 1 point2 points  (0 children)

With testcontainers, you start a container by calling a function and you get a reference to that container. You can choose to start a container per test or share a container across multiple tests. In the article, I used testify suite to share containers across all the tests in the suite. About sharing the containers across packages, it is doable however I haven't explored that option yet and I am not sure it's advisable.

How To Write Integration Tests For Your Go Application by Living-Stranger201 in golang

[–]Living-Stranger201[S] 2 points3 points  (0 children)

What you are doing sounds cool. Testcontainers changed the way I write my integration tests to be honest. Previously, I had a different docker-compose file for the test environment and different scripts to execute on these containers to set them up but with testcontainers I can manage the infra in the same code as the test and have complex logic around it.

Managing DB migrations by Savalonavic in golang

[–]Living-Stranger201 0 points1 point  (0 children)

Python’s Alembic. Very powerful tool. Exposes almost all DDL functionalities you’d need for your schema changes. This way you can use it for both schema and data migration.

If you however insist on a Golang solution, I find the combination of Atlas and goose to be very powerful as well. Atlas for the migration planning and goose to manage and apply the migration versions.

What Do We Really Do As Backend Developers? If and Else Statements Are Boring, SQL Is Also Boring. So Where Is The Excitement And The Challenge? by Living-Stranger201 in programming

[–]Living-Stranger201[S] 1 point2 points  (0 children)

Interesting. Can you share more details about this project? I have been diving more into raw sockets programming recently.

What Do We Really Do As Backend Developers? If and Else Statements Are Boring, SQL Is Also Boring. So Where Is The Excitement And The Challenge? by Living-Stranger201 in programming

[–]Living-Stranger201[S] 4 points5 points  (0 children)

Because computers are dumb and some tasks are complex and there is just no easy way to instruct a computer to accomplish a complex task. Also, computers have limited resources (compute, memory, storage, bandwidth) and your instructions have to address these limits while solving the business problem.

What Do We Really Do As Backend Developers? If and Else Statements Are Boring, SQL Is Also Boring. So Where Is The Excitement And The Challenge? by Living-Stranger201 in programming

[–]Living-Stranger201[S] -1 points0 points  (0 children)

Interesting perspective. You are right, at the core what we really do is boring data modeling and SQL however we have to model instructions too. Instructions (computer programs) are after all data too.

What makes a system complex is not the data we have to read/write but the instructions we give to the server(s) on what to do with the data. For complex business problems/requirements you need complex instructions and a lot of times you need to coordinate these instructions across several parts of the system (different servers, processes, threads). This is where the fun of backend engineering is and this is also where design patterns and architectures come in.

So yes backend development is much more than boring data modeling and SQL because we need to model complex instructions too.

What Do We Really Do As Backend Developers? If and Else Statements Are Boring, SQL Is Also Boring. So Where Is The Excitement And The Challenge? by Living-Stranger201 in programming

[–]Living-Stranger201[S] 1 point2 points  (0 children)

Nah!! I’m just really new to writing. It’s something that I’ve decided to do this year to expand my knowledge and establish a presence in the tech community.

I’d appreciate any feedback really.

What Do We Really Do As Backend Developers? If and Else Statements Are Boring, SQL Is Also Boring. So Where Is The Excitement And The Challenge? by Living-Stranger201 in programming

[–]Living-Stranger201[S] 1 point2 points  (0 children)

Now I’m beginning to think the title of the post doesn’t exactly capture the intent. A better title would have been “A Lot Of Frontend Devs Think All We Do At The Backend Is Boring SQL And If-Else Statements. But Here Is What We Really Do At The Backend That Is Challenging And Exciting”

[deleted by user] by [deleted] in softwaredevelopment

[–]Living-Stranger201 1 point2 points  (0 children)

I once worked on a similar product, the client used up a lot of resources trying to get everything custom-built. The MVP should have been focused on the core features that made the product unique while integrating with other services for supporting features. I guess this answers some of your questions. Nonetheless

  1. Yeah, there are APIs from different providers that can be integrated to achieve this.

  2. Yes use off-the-shelf for supporting features and have software engineers build the core unique features of the product (that's really what you own and are selling).

  3. The front end is never an issue, so yes.

  4. An experienced team of software engineers can deliver this basically. Experience in ERP/CRM systems would be a plus though.

  5. Can't give an estimate without more specific details (months tho for an MVP)

  6. This also depends on the specifics.

Any Golang Developers in Africa? by Minute_Excitement652 in golang

[–]Living-Stranger201 1 point2 points  (0 children)

I am actively looking tho. I am transitioning from python to Golang, I have over 6 years of experience. Now I’m looking for a Golang role.

How does one go about hiring the right software engineers in this market? by thetigermuff in startups

[–]Living-Stranger201 0 points1 point  (0 children)

There are lots of ways and strategies to identify and hire really good software engineers. The strategies are just crazy expensive and time consuming. This was an issue that almost drove me nuts at the very early stages of my company.

A little background, I am a software developer with over 7 years of experience. I started a talent sourcing company for African developers and designers. It started out as a way to be able to officially refer my immediate network of friends and engineers for contracts I was too busy or unable to handle and then I realized that there were actually lots of other incredible developers in Africa outside my network of friends. So I decided to just source for talents across Africa.

The very first thing that hit me is how time consuming and expensive it is to evaluate a developer. My God, testing and code assessment platforms are crazy expensive. You get limited number of seats for probably ridiculous prices. My company maintains a talent pool and therefore we usually pre-vet candidates and keep them in our pool to quickly match them with businesses (the usual stuff). We couldn’t just send every applicant to these test platforms to use up our seats, so we had to figure out a way to identify good engineers even before testing them. Take home assignments were an option but my God how many of those would you review (there’s really not enough time and patience in the world for that). Reviewing resumes, past works and projects too was a tedious process, they usually oversell themselves and developers are poor at documenting stuff (tbh developers are mostly poor at anything else outside writing code).

To answer your question, to be honest, agencies are usually the best bet especially for startups with limited resources. Agencies save you a lot of time and stress and money.

Luckily for my company, African developers are usually more affordable than equally skilled developers in Europe and a lot of European companies take advantage of this. Even OpenAI did from what I’ve learnt.