A couple of introverts sitting in front of multiple dark screens with green or white texts running on each, typing with untraceably fast fingers, only the keyboard clacking breaks the silence…
Although during the last decade the perception of programmers may have changed: instead of mom’s basement, they are now imagined in a fancy, futuristic, well-equipped environment, the basic personality traits of geeks are still perceived the same.
Just typing, and typing all day…
… well honestly, no. As software developers we spend most of our times with designs, research and problem solving. We could actually sit down and start writing your application the second we got the assignment, but that’s not the effective way. You want good, steady result, fast, and there is only one way to that: design, plan, research, and finally code.
Yes, we can type fast. Yes, we can sit in silence and focus for 8 hours without so much as taking a lunch break – or at least some of us can. Yes, we are coding in the evening, in the weekend, in our freetime, even in our dreams sometimes – because we LOVE solving problems. Give us the most complex ideas, the impossible tasks, and we will trigger happy, and start working on them straight away.
Yes, we ARE geeks, but that doesn’t make us mysterious, unapproachable, introvert or unsocial. We can easily come across arrogant, but most of the time it would just take forever to make you understand the details – we don’t have God complex, we just know, that it’s better to get it done, than explaining how will we get it done.
We adore technology and advancement!
I mean, there is probably no surprise there, but we love to surround ourselves with the latest technological advances – be it about our physical surroundig, or our codebase. So we research, we read, we learn. We get familiar with new frameworks, libraries, advanced solutions every day – then apply our newly acquired knowledge in your software, making it better, stronger, faster, safer.
How do you recognize a good developer?
Now this can be hard – as a person not knowing anything about software development, how can you tell, who will be the professional skilled enough to get the job done?
The good news is, you don’t need technical knowledge to make that decision. Good professionals stand out. Not by having millions of frameworks listed in their CV-s, not by having multiple years of experience – although that is not a bad thing –, not by asseverating they are the best, or the only ones who have a solution for you.
Good professionals stand out, because they are enthusiastic and passionate. They simply love what they are doing, they are able to switch to problem solving mode, and even start braimstorming with you to enhance your ideas as soon as they understood your needs. They are perfectionists, simply because they want to be proud of their making, and give it the best they can think of.
„Okay, but what about the sneak peek?”
And yes, here we are, after all this talk about what developers are not doing, let’s see how we at Cuurios actually turn your idea into software, so next time you work with a programmer, you will have a better understanding of what we really do [1].
- Driven by curiosity we listen carefully what you want and challenge what you need.
- We read the documentation, getting a nice, overall picture of what you need.
- We read the documentation again, going into details, stop here and there for a second, making notes.
- We just sit and stare. Now this might look like we are not doing anything, just staring out of the window, waiting for the day to end, but this is the part where at least 20% of the work gets done. We write and design the whole application in our head, tracing our steps, making mental or actual notes, connections, stripping the whole use case down to logic, numbers, actions, and finally breaking it down to parts.
- We read the documentation again. I know, by now we should know by heart, right? But at this point, we make notes, create diagrams, start researching for the best solution, the latest technologies, the most useful libraries.
- Brainstorm. Yes, programmers rarely work completely alone. We use our colleagues recommendations on solving similar problems they encountered, share our experience, and learn from eachother. Even if this happens online.
- Depending on the duration of a project, we prepare the sprints, or the first couple weeks at least, read the documentation one last time (I know, right?), include every little detail in tickets, organize the workflow, then get started with the typing all day…
From here on out, we do the same routine every day – although it’s never the same and never gets boring:
- In the morning, we prepare for the day. We go through what we finished the day before, decide on and preapre for the next steps.
- A daily scrum meeting keeps us accountable – also a very good place to see if someone got stuck, needs help, or just a different approach or idea to get out of a deadlock.
- During the day: design, research, code, test, debug, finalize, repeat. For each and every small part of the application, until we get a result we would proudly present.
Good software developers take pride in their work. They don’t just enjoy creating solutions for you, they are just as happy – if not even prouder and happier – as you are, when you start using what they made for you.
[1] The working method described here is Cuurios-specific, other companies and teams may have different ways to divide tasks and manage their workflow.