Cover Letter
I am a hands on code software engineer with more than 10 years of experience leading agile teams in various domains designing, developing and delivering value added systems. I am not an expert. I keep learning and sharing my knowledge and understanding. I am interested in Linux, containers and container orchestration. I like to travel and meet with different people and try to understand their perspectives about life.
FROM golang:1.9 | |
WORKDIR /go/src/github.com/purplebooth/example | |
COPY . . | |
RUN go build -ldflags "-linkmode external -extldflags -static" -a main.go | |
FROM scratch | |
COPY --from=0 /go/src/github.com/purplebooth/example/main /main | |
CMD ["/main"] |
Picking the right architecture = Picking the right battles + Managing trade-offs
- Clarify and agree on the scope of the system
- User cases (description of sequences of events that, taken together, lead to a system doing something useful)
- Who is going to use it?
- How are they going to use it?
https://blog.overops.com/my-alpine-desktop-setting-up-a-software-development-environment-on-alpine-linux | |
https://thenewstack.io/alpine-linux-heart-docker |
package google.CaesarCipher; | |
import java.util.*; | |
/** | |
* Problem: | |
* Fortunately for you, the minions aren't exactly advanced cryptographers. | |
* In their code, every lowercase letter [a..z] is replaced with the | |
* corresponding one in [z..a], while every other character (including | |
* uppercase letters and punctuation) is left untouched. That is, 'a' |
class Node(): | |
"""A node class for A* Pathfinding""" | |
def __init__(self, parent=None, position=None): | |
self.parent = parent | |
self.position = position | |
self.g = 0 | |
self.h = 0 |
Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.
- Follow standard conventions.
- Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
- Boy scout rule. Leave the campground cleaner than you found it.
- Always find root cause. Always look for the root cause of a problem.