DEV Community

Cover image for Personal projects. Do you work on them? Have you finished one?
Denis Veleaev
Denis Veleaev

Posted on

Personal projects. Do you work on them? Have you finished one?

Hi. πŸ‘‹

I'm Denis. I've recently completed a mega workshop called 30 projects in 30 days.

I want to give a talk in my company about the lessons I've learned from it. But I'd like to know who can be interested in it and what problems related to my topic developers experience.

If you have a spare minute, may I ask you several questions on that? It will help me a lot!

Please please please answer these questions:

  1. Do (or did you) you work on personal projects? Why?
  2. Are they small or medium/large?
  3. How many years of experience in development do you have?
  4. Do you tend to start and abandon these projects? Why?
  5. Have you completed at least one personal project? Was it successful?
  6. What's your process? Do you start with coding or any investigation?

Thanks a lot in advance!

Top comments (22)

Collapse
 
mikenikles profile image
Mike

Hi Denis, congratulations on completing that mega workshop! That sounds like a busy month of work ;-).

Here are my thoughts on your questions.

  1. Do (or did you) you work on personal projects? Why?: Yes, continuously for my entire career. Personal projects give me a chance to experiment, learn, break things. Ideally, you can do all that at work, but that depends heavily on the company culture. Later in my career, they also started to help me educate others by writing about my experiences.
  2. Are they small or medium/large?: From small to large. Some turned into startups, some projects ended without anyone ever seeing them.
  3. How many years of experience in development do you have?: Twenty
  4. Do you tend to start and abandon these projects? Why?: Earlier in my career, I had many projects I started and abandoned. I lacked the confidence to publish my work. As I got older, I realized no matter the status of a project, others may benefit so I started to build in public and work on projects for longer before abandoning them.
  5. Have you completed at least one personal project? Was it successful?: Yes, I've had a few projects that were successful over the years. The most recent one is your-analytics.org that is not officially launched, but has good usage.
  6. What's your process? Do you start with coding or any investigation?: Always investigation first! What painpoints exist? What annoys me in my daily workflow? Can I improve that? Does it impact other people? Are there solutions already? If so, can I add value to creating a new project?

I hope that helps and good luck with your talk, let me know if I can provide more details on any of the above.

Collapse
 
denisveleaev profile image
Denis Veleaev

Thanks a lot, Mike! That's really insightful information. Glad to see such a proactive person!

Collapse
 
rtivital profile image
Vitaly Rtishchev

I guess working on personal projects is the main way to acquire new knowledge. As a Frontend engineer most time at work I use React and set of technologies coming with it, and there is almost nothing else. It's fine for the first several years but then it all gets identical as your knowledge grows and you learn how to solve different tasks.

So to continue learning I work on some small projects with technologies that will never get use at work. I usually do not share them and they remain incomplete as I lose interest in them after I've learned new stuff. Of course, not all of them get abandoned and sometimes I have strength to work on them after I've achieved all of my goals. Here are a few examples:

Omatsuri

omatsuri.app/

I've released this app this August. I wanted to learn how to use web workers and create a PWA. And on top of that knowledge I now have a cool application for my everyday work and 600+ starts on github (github.com/rtivital/omatsuri). I do not track people who use it, but I'm sure that it brings some value for developers, so I'd consider this as success.

Frontend Raccoon

vk.com/jsraccoon
jsraccoon.ru/

This is a project of different kind. Back in 2015 when I was learning JavaScript for several years I did not feel any progress so I've decided to create a community to push me forward and give me several points of view on my learning path by discussing my thoughts. I've been working on it for 3 years and stoped all hard work in 2018 when I got my current job as I've reached the level from where it's impossible to improve this way. Over three years I got 18 000 subscribers, I've built a blog website and got lots of stars to my github profile. So this is also a success although this project is now abandoned.

Collapse
 
denisveleaev profile image
Denis Veleaev

Thanks for sharing! That's actually the kind of stories I'm looking for!

Collapse
 
louislow profile image
Louis Low • Edited

I wanna play the game! I wanna play the game! Here I come...

Do (or did you) you work on personal projects? Why?

Yes, I did tons of fully completed personal projects. Workplace projects are usually boring compare to a personal project that I can choose which topic I like to start with. I can polishing skills and use my most comfortable quirks in the development, in the company has its own culture and rules, I cannot have 100% ideal environment setup to maintaining my constant working and thinking rhythms.

Are they small or medium/large?

I build a variety of small to enormously large projects, and I can apply my own version of perfectionism on the projects, while in the company, I do not have that kind of luxury. Usually, my personal projects are way awesome than I built for the company, due to many restrictions, rules and culture.

How many years of experience in development do you have?

Over 10+ years, adopting several different industries, from the embedded platform (electronic, firmware, UI) to modern web development.

Do you tend to start and abandon these projects? Why?

For an experienced developer, people know how to manage, even know how to start and end the project with well-documentation. A the same time, creating a community for the project. Still, haven't mentioned about the Passion yet.

Have you completed at least one personal project? Was it successful?

I completed every single personal project with love. All successful.

What's your process? Do you start with coding or any investigation?

Both or any at the same time.

Visit my portfolio website and Github profile.

Collapse
 
taufik_nurrohman profile image
Taufik Nurrohman • Edited

Do (or did you) you work on personal projects? Why?

I do. Because I will have full control on my own project, not to be tied by other ideals.

Are they small or medium/large?

They are small to my view. If I have to compare them with projects such as jQuery and React, Laravel and Symfony.

How many years of experience in development do you have?

What development? As I remember, I start coding in 2009.

Do you tend to start and abandon these projects? Why?

No, I still maintain them until now and still accept questions regarding to my projects usage and features, unless nobody no longer need them.

Have you completed at least one personal project? Was it successful?

Can personal satisfaction be counted as β€œsuccess”? Or, is it all about money?

What's your process? Do you start with coding or any investigation?

Mostly I would just look at other large projects and try to make the lite version of them.

Collapse
 
denisveleaev profile image
Denis Veleaev

That's cool! Thanks!
Regarding the criteria of success. I guess, the project is successful if it's useful for other people

Collapse
 
taufik_nurrohman profile image
Taufik Nurrohman • Edited

Yea, I’m still trying to get more stars and users. Hope it will be better in the future. You can have a look at my GitHub projects to determine whether they will be useful for others or not.

Collapse
 
goglichidzemike profile image
GoglichidzeMike

Jesus man that sounds like a lot of work!! I will for sure attempt it shortly, I have just taken up web-development this year.

1.Do (or did you) you work on personal projects? Why?
I do, I think that's the best way to learn. Doesn't matter what I am learning, I always do something on the side.

Also, sometimes you need to take your mind off of something and work on something else.

2.Are they small or medium/large?
small to medium.

3.How many years of experience in development do you have?
Almost one!

4.Do you tend to start and abandon these projects? Why?
Rarely, I abandon them if I realize I can do something bigger and need to restart to do so.

5. Have you completed at least one personal project? Was it successful?
Yes and Yes

6.What's your process? Do you start with coding or any investigation?
I do a small research before I start, mostly to realize if I have enough knowledge to do the project. Then planning and coding.

Collapse
 
denisveleaev profile image
Denis Veleaev

That's cool! A successful personal project with 1 year of experience is a rare case! Thanks a lot for your answer!

Collapse
 
goglichidzemike profile image
GoglichidzeMike

Thanks mate! Pandemic had me going, since the beginning of the year, I would say in total 3-4 months I did 3-5 hours a day studying, and I started from 0. See where it takes me next year!

Collapse
 
michaelphipps profile image
Phippsy

Do (or did you) you work on personal projects? Why?
Yes. Often it is for learning purposes. Sometimes it is because I am procrastinating. Sometimes I'm exploring an idea.

Are they small or medium/large?
Small

How many years of experience in development do you have?
25 years.

Do you tend to start and abandon these projects? Why?
Yes. Because they serve the purpose.

Have you completed at least one personal project? Was it successful?
I'd consider the company I work with now a personal project. So yes.

What's your process? Do you start with coding or any investigation?
Have Idea
Sketch Idea
Focus on front end user experience (sketching)
Work out the data model
Prototype.
Decide if I need/want to continue.

Collapse
 
dendihandian profile image
Dendi Handian • Edited
  1. Yes. When I learn a technology/language/framework/tool I want to make every examples of their usages and I don't want to get lost track of their updates, that's why I distinctly make the learning into personal projects.

  2. Start small. when I get an idea for improvement or features, I'll make them medium or even large as my skill grows.

  3. As my career goes until now, it is 3 years.

  4. It's hard to keep them up to date if you have company works/jobs, but try to improve them if you have free time.

  5. They never done because we might want to add more features or improve them in the future. So if you confident enough just show them as your portfolios.

  6. Sometimes I do what I feel want to do. I start to code the UI and later got idea to research and investigate a thing, or the vice versa.

Collapse
 
webbureaucrat profile image
webbureaucrat • Edited
  1. Do (or did you) you work on personal projects? Why?

Yes, for a number of reasons. In no particular order:

  • I work with a lot of horrible legacy code at work. I want the opportunity to work with newer, better technologies and set my own standard of code quality.
  • Somewhat relatedly, I need to upskill to stay relevant. I don't want to work in VB.NET/C# forever, so I better stay up to date on my own time.
  • I recognize that knowing how to code right now is a privilege, and I want to give back with some public service and nonprofit work.
  • portfolio/resume building.
  • vainglorious feeling of accomplishment.
  1. Are they small or medium/large?

I have a large abandoned project I'd like to return to eventually. I also have a lot of small projects / libraries and a couple medium sized projects.

  1. How many years of experience in development do you have?

A little in high school, a computer science degree, +4 years professional.

  1. Do you tend to start and abandon these projects? Why?

I started a large project a couple years ago and abandoned after about a year. One reason is I built it on a three-month bender and burned myself out. Another is I wasn't quite skilled for what I was doing, so eventually I was just learning too many things at once. A third is that TypeScript strict mode is fine, but still not as aggressive a type system as I like for a large project. If I return to the project, I'll probably convert it to ReScript, which is very strict and so will probably scale better.

  1. Have you completed at least one personal project? Was it successful?

Here's the thing: By and large, you don't "complete" software projects. With a few exceptions, a healthy codebase is continually maintained and improved. Is my COVID-19 tracker complete? I started it and put it production for the first time over a long weekend, but I'm still regularly pushing commits.

I hope it doesn't sound like I'm just being cheeky. Thinking of software projects as never "complete" has some real implications because I have to never say to myself, "I'll start on that new project when I've finished this current one." I have to resign myself to maintaining the projects I'm working on or resign myself to a graveyard full of broken, abandoned projects.

Were they successful? Also kind of hard to answer. I would say yes, all my production-worthy side projects have been successful because I've always built projects I intend to use, so if they do fulfill my purpose, that's a success. If I can send them to my friends and they find them useful, that's even more of a success. I don't set up analytics to find out if anyone else is using them.

  1. What's your process? Do you start with coding or any investigation?

I have a sort of non-process process. If I start with an idea, it's usually a while before I start on it. It's as much as a week of informal, semi-conscious brainstorming sessions in the shower, on the bike trainer, and so on, spaced by absently browsing frameworks, libraries, and tooling options in my spare time. This is mainly in the service of deciding whether something is feasible. After that, it's a day or two deciding what the first feature should be. That's my minimum viable product.

Only after that do I actually consciously set aside time for a project, and I just sit down at the keyboard and start writing, planning screens and databases etc as I go.

Collapse
 
denisveleaev profile image
Denis Veleaev • Edited

Thanks! That's a valuable answer!

Collapse
 
dmahely profile image
Doaa Mahely

I have a year of 'professional' experience with another year doing development on my own. When I first started working I didn't understand how other people had the energy and bandwidth to work on side projects. After close to a year of full time work, I started feeling an itch and began learning React, and that is how my latest personal project started.

It started out pretty small, as it was just supposed to be for practice but I kept adding more things, and now it's a full stack project of medium size. It's not fully finished yet, but I'm planning to release a first version very soon, with more things in mind. We'll see if it's successful or not lol.

My only other personal project was for an application contest, and I stopped working on it soon after the contest, so this one is the first one without an imposed deadline. This time around, I went through with a different process. I usually start with programming the logic and leave the frontend to the end, with no thought for design. But this time I took my time with designing all the screens, then working on the frontend with mock data then lastly the backend. While I was in the design phase, I thought about what features I wanted to have and investigated how I'd implement them. I wrote everything down in a list then depending on my availability and time I worked on them.

I hope this was helpful :)

Collapse
 
denisveleaev profile image
Denis Veleaev

That really was helpful! Thanks a lot!

Collapse
 
tomavelev profile image
Toma • Edited

I don't believe that you could archive any meaningful project in one day, let alone 30 in 30 (without prior preparation - and it's not 30 days then). Also, The body and the mind needs rest :). In my country, there is a thing called ailyak. It could be translated as being chill. It is a sceptical view on the value of endless "hard work".

Collapse
 
sandordargo profile image
Sandor Dargo

Gosh, 30 in 30! That's helluva lot! Congrats! What did you do?

Do (or did you) you work on personal projects? Why?
Yes, I always work on a personal project. Either to learn something new, to try something I don't do at work or to try to make some money on the side, or to share some knowledge.

Are they small or medium/large?
I considered them small.

How many years of experience in development do you have?
Seven.

Do you tend to start and abandon these projects? Why?
Previously yes, but usually by the time I abandoned a project, I learnt something out of it. But once it became too complex and it was only for me, it was not worth to continue it. that's how I felt.

Nowadays I finish them. I decide on where I want to go, I give myself maximum of 3 months and I do it.

Have you completed at least one personal project? Was it successful?

Time will decide.
During the last 3 months, I completed Daily C++ Interview (that gives me daily tasks by the way), DevReads and Cmake Project Creator. They are not yet successful if you consider success in terms of popularity. But I learnt a lot about Cmake, C++, AWS.

What's your process? Do you start with coding or any investigation?

Some study on where I want to go and I break down the tasks. Then I set monthly, weekly and daily goals. I also have an accountability partner.

Collapse
 
cchana profile image
Charanjit Chana

Congrats, Denis!

Here are my answers to your questions:

  1. Do (or did you) you work on personal projects? Why? Yes, they are a great way to learn new skills or to sharpen up on them. I've always built things in my spare time to varying degrees of success but have slowed down over the past year.
  2. Are they small or medium/large? Small-medium. Not that they lack ambition, I just try to keep it small enough to fit in around other things in life. I have looked into larger projects but then scale it back so I can look at delivering a subset of useful features and then if there's any appetite, building as I go.
  3. How many years of experience in development do you have? Coming up to 17 years now, all as a web dev. For personal projects, more like 20+ but nothing of note until my career got going.
  4. Do you tend to start and abandon these projects? Why? I do a lot of prototyping and experimenting, so yes is the honest answer but generally if it's a full on project it will see the light of day and I'll do minimal promotion for it. I try and leave projects live for a year or so and then make a call on how to move it forward. Can I give it enough attention? Is it useful? Is anyone even using it?
  5. Have you completed at least one personal project? Was it successful? About 15 years ago, I ran a fairly successful website that paid for itself and then some. Had to retire it after a couple of years because it began to eat up too much time and the returns were diminishing... More recently, I've got two going in 1 Thing A Week and SiteJoy. They both content driven sites and have been a good outlet for me. I've failed at the first one many times then hit on a formula that works for me. The second one, I actually planned for 10 years but kept putting it off until the start of the pandemic when I ploughed through and rapidly built the site out. Very happy with how both are doing!
  6. What's your process? Do you start with coding or any investigation? Prototyping for me, I generally have an idea of how it should look so I start in the browser or sometimes in Sketch. Beyond that I try to do my research while building it out. Positive investigation drives me to code more and the more progress I make with code, the more investigation I'm willing to do to validate my ideas! Having said that, one particular project I've had in mind for 15+ years met a dead-end because I did do some thorough investigating first. Not just around viability, but around the technical challenges I was sure to face. Despite the desire to do it, it's not something I could build alone. I think I'd be able to project manage it, but I really don't see it getting far without specialist input on scalability and UX.
Collapse
 
doctorx profile image
Doctorx

Yep. Nope

Collapse
 
denisveleaev profile image
Denis Veleaev

πŸ˜‚