Pull to refresh

How to grow as a programmer and software architect

Reading time 3 min
Views 4.2K

Hey Habr! I'm Ruslan, a Java programmer with experience in IT of 15 years who still doesn't understand how to grow as a technical specialist in a company.

Tell me your story...
Tell me your story...

Prehistory

I started programming at school in 1997-1998 and I still like to create something from nothing and solve my and people's tasks using code. The problem is I don't want to always code small parts of systems based on tasks from technical leads or managers. I want to create software, which is not always only about coding. Unfortunately, I was able to get out of the vicious circle only twice in my life. Once I did a distributed database in a startup and the second time it got experience in people and technical management.

However, management is not my passion. I want to talk to customers helping them to achieve their goals with software. To project software systems and be responsible for many of their parts, usually needed to work quite long in one company or to sell yourself as a software architect, which is difficult to do without relevant experience in past. Besides, the architects mostly draw things and don't do them, I'm interested in both.

I think there is another way, it's enough to have a head-on their shoulders and "The position makes the person." Unfortunately, nobody cares what I think and I decided to make software in my spare time even if it's something small.

The first attempt was fixing the "Code Review for IntelliJ IDEA" plugin. Not a big deal but something helpful.

Then I tried to remove my personal pain and created a Chrome plugin to add a Reply feature to Microsoft Teams Web UI. 4000+ users found it useful and it was already much more motivating.

Eventually, I remembered how I found my job in Germany and realized what I want to do next.

The only place on the internet having all the jobs with relocation

I realized that there is no single place on the internet where I could look for a job with visa support and relocation assistance. I decided to make such a place.

I tried to do something like that for remote jobs in 2017 but didn't take that project too seriously, I just played with JavaScritpt. Then I discovered Pieter Levels and his remoteok.io, he was already making money on a similar project while I was still playing.

The 1st version: PHP & web UI

Well, I was copying Pieter's approach right? So I chose PHP, Jquery, and Bootstrap to make a website.

Main screen
Main screen
A job
A job
The location of the job
The location of the job
Job posting
Job posting

Soon I realized that I was really bad at UI things and would not be able to continue with PHP. I didn't know what to do. A friend of mine recommended me to try a Telegram channel and I decided it was a good idea.

The 2nd version: Java & Telegram channel

I bought a domain name from GoDaddy, so as a website, I left only one page leading to the channel: https://relocate.one.

https://relocate.one
https://relocate.one

It required a small configuration of Nginx but DigitalOcean guides helped me.

I wrote 3 components in Java 15 (I'm mainly a Java programmer) to fetch information, send it to the Telegram channel, and allow employers to post jobs directly to the channel.

Components
Components

Fetching and sending are run by cron. Right, you see it correctly, I use SQLite as a database. It's done intentionally to start the project faster. The schema by the way is quite stupid but it's OKish at the moment even though it has many extra fields left from the 1st version of the project and it's not normalized not to have one more table right now. Come on! I even don't know if people need this project.

DB Schema
DB Schema

RSS sources are transformed directly into SQL using XSLT, email subscriptions are processed using Java Mail, websites are parsed using Jsoup, and JSON sources are processed using Jackson.

I use ordinary HttpClient to send messages from the Send component but the Bot uses API.

I had a Linode from the 1st iteration of the project so I deployed my code there.

Looking for users

This is probably the most difficult part of my project. I had no clue where to find people interested in jobs with relocation. It's obvious to me that somewhere on the internet there are people who need this. How to reach them? Till now I published information about the channel on the following resources:

Well, I'll try Product Hunt a bit later and that's it. I don't understand how to reach users.

Conclusion

I'll continue working on the project extending the list of job sources. Besides, I plan to write a backend service in GoLang and a Flutter mobile app that will use this service. Initially, I didn't want to experiment but now it looks OK to try something new in the scope of the project.

Well, I have revealed all of my cards. What do you think? Will it help me to grow as a programmer and become a software architect? (Formally I was an architect BTW) Do you like the project concerning jobs with relocation?

Tell me please more about yourself. Do you do side projects? Which technologies do you use and why? How do you find your users? Which services do you use? How much time do you usually spend to make an MVP?

Thanks!

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+4
Comments 0
Comments Leave a comment

Articles