Posts with the tag development:

Migrate Entities to Microservice From Doctrine

Doctrine is one of the most used ORMs in PHPLand, with many applications heavily coupled to it. With more and more companies moving to microservices one of the tasks is to migrate their entities to come from the microservice instead of from Doctrine. Here I’ll describe how I migrated an entity so that it was stored in a Microservice instead of MySQL and came from Doctrine. In my approach I used the original entity class, this allowed for using feature flags for migrating each repository method one at a time.

Musings about estimations

Estimations are one of the most important parts of project planning and one of the most common tasks that developers do no matter which language they code in, what team they are on, or which company they work for. Estimating is hard, so hard we pretty much get it wrong a lot of the time. Not enough details - guesstimates Estimating without enough information is in my opinion of the leading causes of estimating poorly and causes project overruns.

Some musings about Code Review

Code review is the process of having others review code that is written and accepting feedback and adapting the code to the feedback given. These days code review is seemingly at every IT department and widely ruled agreed upon as a best practice. It is often one of the largest sources of conflicts within a development team since giving and receiving criticism about work is often hard to do while remaining detached from the work itself.

Is Your It Harmful?: Product Team

Here I try to explain in nontechnical ways things that happen in IT departments which in my opinion are generally harmful to the company. The aim of this series is to help company founders who aren’t experienced in IT be able to judge the health of their IT department. The Product Team is there to decide which features are to built first and how the features are to work. They are one of the most crucial parts of the development processes since they choose the path for the project and help make sure that the project brings the most business value as possible.

Ticket Types

Over the years of leading teams and working in various IT environments I’ve discovered, there are generally three types of tickets within the small to medium size companies. An Idea An Idea Request is where someone has an idea, and it would be nice to try it out and see if it works or not. An idea is not a request that is based on current business needs but on the possibility to improve something that is already working.

Are you a good developer

In development we constantly bemoan bad developers. But what I’ve noticed is everyone generally thinks they’re doing a good job and the other developers are bad. I don’t think you can exactly define what is a good developer down to a tee but I think you can have rough benchmarks for whether or not you’re good. These generally are if you follow well defined practices. There are levels of development practices ranging from the basics (DRY) to advance (CQRS).

What I learned with a big database

So I recently started a new side project that involves data mining. While working on this project I’ve learned a little bit about how to manage a larger than usual database. At the point of writing this the database is approximately 50GB and growing daily. So here are a few things I’ve learned. Backups This is probably the main area where I learned a bunch of stuff. Usually when you’re dealing with a database of approximately 1GB in size, backups at midnight are rather routine.

Symfony Password encoding

A very simple breakdown of how the password encoding works with Symfony 2. Encoder factory The encoder factory is where you get your password encoders from. You pass in a User entity and it returns an Encoder. Encoders are created from the encoder configs and stored within the factory, there is only a single instance of the encoder unless you clone it outside of the factory. The encoder configs are passed to the factory upon creation.

Hack: Types

Facebook’s Hack bring lots of features that a lot of other programming languages get to take advantage of. One of major advantages of Hack over PHP is a typing system. So here’s a quick run over of the typing system as I understand it. Annotate Annotating is when you define which type is going to be used. You can type the following: function arguments function return class variable constants For function arguments you just put the type before the variable name for the argument.

Don't return null

If you’re programming in an object orientated language that supports exceptions you should never return null in a method that returns an object. Most object orientated languages support exceptions. Exceptions give us an extremely expressive way to represent error conditions. We throw an exception and the program bails out of where it is and then goes to the error handling section. We can create custom exceptions to express exactly what sort of error occured.