Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "pet project"
- Sleep 7h+ each night (you think you don't need it - but you do!)
- drink NO coffee (you've slept enough!)
- pair-up (you're not as good as you think)
- get a grasp on the problem (it's time will spent!)
- communicate constantly (you're not alonw especially)
- refactor just as much
- learn from you partner
- celebrate even small accomplishments (you need success!)
- go home and do something else (your pet project does not need more than 5hrs per week!)
- repeat (because repetition makes perfection!)20
A man goes inside a pet shop and starts to move around the cages to scout the pets. He sees a monkey with a price of 5000$ and goes to the merchant to ask for details. Hey mister, the monkey…what does it know to worth that much money? Well, it knows Windows 95, 98, 2000, and also knows Word, C++, Visual Basic and last but not least, it knows how to play computer games. - Good monkey, it's worth the money. He goes and finds another monkey with a price of 10000$ and again he will ask the merchant. "What does this monkey know?" "It knows Linux, Unix, Corel and Autocad." "Nice, even I don't know those things." On a last scout run he finds another monkey just sitting there with a price 20000$. The story repeats, and he goes with a lack of confidence to ask the merchant for details. "And what does this monkey do for that ridiculous amount of money?" "I never saw her doing anything, but the other two call her Project Manager!"4
*Write code for a pet project*
"How the fuck did this part work?"
*Can't understand anymore*
*Lose some more motivation*
I am so fucking jealous of all you assholes. Oh look at me, i am a full stack developer and yada yada. I have the time and patience to do whatever app or game i want and show it off.
If i get home, i am glad i can stay awake for dinner and play a little game before i go to bed and my next day starts.
I have ideas, i need to do some self study to get all parts of those ideas going, but i fucking can't.
I have no motivation and no energy to spend when i get home, and even the weekends rarely i will feel like proframming jack shit. When or how do you even do it?! It's driving me up the wall and it makes me feel useless.
Stop being better then me in every possible way!29
My feed is full of sickening "Look what my perfect boyfriend/husband got me for Valentine's!" posts.
Well, my boyfriend simply opened a bug on something I implemented in our pet project. Now that's romance.4
Want to work on a pet project, but gf demands all of my time. So, I work at nights. Then I get bitched at why I'm always tired and don't want to do anything -.-4
That empty feeling when a project is about to be completed...like you have to give away a pet you've grown attached to...7
My PC died 2 weeks ago. I've been stuck on mobile since and will be too broke for a new machine for an indefinite (though certainly not infinite) period.
It's hell. One can only read so many ebooks and meditate so much.
What's the longest you've ever been without your machine, unwillingly?
Worst part is I was just starting a pet project and now it's on hold!
Pic related, my feels as time drags on when I'm not at work.11
Happily agree to help colleague with 'a quick problem' on their pet project. Realise a few seconds in that they can't actually see a difference between JS and JSON.5
Other than being an a**hole, Linus. Guy changed computing as we know it with a little pet project59
When I saw an O(1) algorithm solution. I was so amazed that I got goosebump. Still wondering how one is able to come up with such algorithm.
Another times when I understand how the whole thing works in a project. This class is doing this, that class is doing that, this file contains the configuration, etc. Its like everything is connected.
Other times when you see your pet project start to take shape. You just want to cuddle it.12
Today boss called me on my personal phone to ask where the fuck I am after not answering a low prio mail for 10 minutes from his pet project.
We have voip.
We have chat.
No pressure meant...2
Lessons I've learnt so far on programming
-- Your best written code today can be your worst tomorrow (Focus more on optimisation than style).
-- Having zero knowledge of a language then watching video tutorials is like purchasing an arsenal before knowing what a gun is (Read the docs instead).
-- It's works on my machine! Yes, because you built on Lenovo G-force but never considered the testers running on Intel Pentium 0.001 (Always consider low end devices).
-- "Programming" is you telling a story and without adding "comments" you just wrote a whole novel having no punctuation marks (Always add comments, you will thank yourself later for it I promise).
-- In programming there is nothing like "done"! You only have "in progress" or "abandoned" (Deploy progressively).
-- If at this point you still don't know how to make an asynchronous call in your favourite language, then you are still a rookie! take that from me. (Asynchronous operation is a key feature in programming that every coder should know).
-- If it's more than two conditions use "Switch... case" else stick with "If... else" (Readability should never be under-rated).
-- Code editors can MAKE YOU and BREAK YOU. They have great impact on your coding style and delivery time (Choose editors wisely).
-- Always resist the temptation of writing the whole project from scratch unless needs be (Favor patching to re-creation).
-- Helper methods reduces code redundancy by a large chunk (Always have a class in your project with helper methods).
-- There is something called git (Always make backups).
-- If you don't feel the soothing joy that comes in fixing a bug then "programming" is a no-no (Coding is fun only when it works).
-- Get angry with the bugs not the testers they're only noble messengers (Bugs are your true enemy).
-- You would learn more than a lot reading the codes of others and I mean a lot! (Code review promotes optimisation and let's you know when you are writing macaroni).
-- If you can do it without a framework you have yourself a big fat plus (Frameworks make you entirely dependent).
-- Treat your code like your pet, stop taking care of it and it dies! (Codes are fragile and needs regular updates to stay relevant).
Programming is nothing but fun and I've learnt that a long time ago.6
I think I know now where "Pet project" got its name from: 1) Most of us would rather play with it all day instead of going to work. 2) As it grow bigger, eventually you'll have to shed out a couple bucks for it, and.. 3) Your PM would be FURIOUS if he caught you playing with it at the office.1
I created this Pet lost and found app (only available in my country for now) , written in Flutter (client side), elixir (backend), MySql (dB).
Just a small project for a charity organizations.
Just in case the gif is not moving https://youtu.be/oO5Q7xS7rOQ3
$category = 'Story';
Holy shit it finally worked I finally got a private server up and running for an old game, after countless forum posts and broken links (note the form isn't that active anymore since 2010)
After finding a working server source you also need a client with the same version
Even though this was a pet project, it feels good to finally complete it. I might even try to build some custom stuff into it6
ARGH the next person to tell me how X is the best toolchain is getting their fucking head cut off! Holy fucking shit, this is even more annoying than the whole IDE debate. At least with IDEs everyone has a favourite one and they hate others accordingly, with build toolchains there's always a huge group of fucktards sucking each other's dick by adding new features, and they're always too busy wanking their sparkling features for small projects to realise how fucking inefficient their polished dings and dongs are for any bigger job.
For the millionth time, no, we're not switching to this popular toolchain just because it gave you a blowjob with your pet project (although that would indeed be a tempting offer), so stop talking how fast and flexible it is. Until you can show how it compiles a 500 MB project faster than our current setup, I don't give a shit how many people jerk on that nookie.3
Made an Android app a while ago. I needed some pet project so I decided to go with Java for Android. First time, no experience at all.
So everything went ok, I had a little help from a colleague, structuring code, and pushing to the store. Work done app was doing ok.
A year later I came back to this project. I needed to fix a bug - date time and daylight savings crap. 😥
Spent a week on it. Ready to push a new version to the store, with some extra features! Build apk. All good.
Wait. I need to sign the APK? Wtf. I had to format my hard drive. How do I recover my fucking certificate?
*Google's for a while*
No fucking way. I can't restore the certificate. Or get the keystore back. The solution is to create a new app with a brand new package name?
Thanks for nothing, I'm done with Android development.9
Childish thing really, and slightly related to my current job
Was working on a small pet project (it was a website really) back in college, and collaborating with another friend on it who lived in a different city. Had to show him my progress but he wasn't a programmer, just had to show him how much front end part is done and the functionalities till that time. Of course hosting it online was the best solution, but I was a student and broke.
So I got this python script caller pagekite which would make my laptop into a server for the duration I run the script. It ran but I couldn't manage to show him the site for days since I didn't know where it was connecting to. (No one had any docs on it back then)
Did some tinkering and saw that it connects to localhost, so I fired up my xampp server and it worked as I wanted it to :')
Since that day, I decided that I want to be a developer and learn and implement more of such things.
Moral: the smallest, insignificant things can sometimes give you the most happiness.
Multiple all-nighters (all day every day):
1) Working, studying and developing an Android game as pet project. Last few weeks before release (yup, I've set a deadline for a pet project) my day consisted of uni, work, more work and 4-5h sleep.
2) Having worked on my thesis (Development of a CPU/SoC + Firmware + Linux kernel) and actual paid work. In parallel. Because, you know, I need to eat and pay rent and shit while I'm writing the thesis. And debts at that moment were not an option (still made some). All-day all-night all-week. After submitting the thesis I went to the doc and enjoyed 2 weeks of doing nothing.
3) Sometimes on my main open-source project after regular work hours. If I have the motivation and ideas that I want to check out or prove it gets late/early too fast.
A year ago I was hired as a Jr dev to assist the senior dev because he was so busy. Within 2 months he was pushed out and I replaced him. I thought maybe he just got busy with other things or found a new job.
After working alone this past year, I was told last week that since I am so busy with things outside the job, they were hiring someone to help me finish the project I'm currently on.
(for context : I work as a contracted dev for a small dev company of 5 or so people. One for each language/os.)
I can't help but think that I'm probably being pushed out and replaced. I flat out asked that, but never got a reply. Now I'm 70% through a project and disgruntled with everything. Not sure how I'm supposed to feel really.
If they want to replace me for one reason or another that's fine, I just wish they weren't shady about it.
I should probably be working right now, but I'm going to take my kids to the pet store to clear my head. I'll enjoy a little time away from my computer.3
I don't want to work on the project at my job anymore. It's an over engineered piece of shit.
I work on my pet project at home, but only for about 20 minutes at a time. After that, I feel the need to walk away and waste my time with other non-productive activities.
How do I get my love for development back? Has the corporate world killed it?5
Biggest pet peeve is when someone develops a shitty project using XYZ technology/language and a tutorial and they somehow think they know XYZ and all of it's intricacies and are an expert dev in XYZ. 😐😐😐. No you fucking know how to follow a tutorial and you have a small understanding of XYZ. End rant.
I am writing a UI api for microcontrollers as a pet project.
I usually follow kernel.org for coding style so visited the site to see if there are any changes, these docs are so funny8
>end of the work
>me tired and want to go home to pet my cat, dog... and fishes or whatevs
>while shutting down monitors I was asked to help fix the bug
>ok, though I was not working on that part of the project
>fixing it and feeling proud
>today I got angry messages that it wasn't a bug and I shouldn't have touched it
>the person who asked me to 'fix' it did not understand why it worked in the way it worked (and I fixed it in the way he wanted it to work)
>I guess next time when I feel tired I should just be avoiding helping people
>time to think of prepared excuses3
I made Skype Bot which queries the data using wsdl authentication on our ticketing tool and send the data whoever has requested in skype itself(without logging or touching the ticketing tool).
Manager: Is that even possible?
Me: (In excitement) Everything is possible if you have the will.
Now, He wants me to work on his pet project. I dont know how to react!4
I can't remember the last time I had THIS MUCH FUN developing an Android app! 😳 Have a paper due, but learning RN is actually making this pet project a huge distraction! 😳 This is a whole new world of mobile development 😆, but what if another framework takes it's place 😵. But there's still people who know Angular, and that's widely used...right 😓 and moble dev has never been this easy, so maybe it'll stick around like Node...
who cares... I'M FUCKING LOVING React Native now!!! 😆4
I think the best feeling is seeing you pet project slowly developing and growing.
I think the worst feeling is hearing someone 'meh'-ing while talkingabout it. 😓2
- Favourite pastime while waiting for your code to compile
- Most heroic/ingenuous bug fix
- Hardest to track down bug
- Worst legacy code you wrote and left behind leaving a job
- Weirdest project
- Last side project you actually finished
- Explain your job like I'm five/the way you do it for non-tech people
- That time your past self (almost) got you in trouble
- Software pet peeves
- Story about how you freaked someone out
- Feature that most certainly was a bug once
- Post something for your favourite previous weekly tag!
OpenCV, or I wouldn't have a job :)
And my pet-project, FullMetalEngine:
I am able to work 15 hours on my pet project then take a short walk outside and feel like a balanced man, but even just an hour on a commercial project is a massive effort even though the code is clean, the stack is modern, I'm good friends with the client and I also like the concept. The mere fact that I'm doing it for money takes the fun out of it.3
Started working on a per project in Rust (first time using Rust) .. a scripting language.
Rust is great, so fast, compiles in 0.5-1.2seconds on my $200 laptop as well! Pretty rare for safety, speed, AND compile speed to exist in one beautiful language.
Also my scripting language is the opposite of beautiful. Oh God.3
The best happened today.
These past 2 weeks have been shit. People wronged me big time, got thrown under the bus for shit that the people behind refused to own up to it. Took that shit because I just couldn't be bothered to fucking argue.
I'm the only dev on this project and we're so close to release so I bit my tongue and took it on the chin but it's been eating me alive since then.
The tipping point was yesterday. 5 people failed to communicate shit properly amongst themselves on all channels got me forced to be the last one finishing work yesterday 4 hours after everyone left. I had every right to refuse and leave on time but again, we're so close to release and I don't want to see this project fail.
But see, I got angry. So fucking angry that nothing else has been on my mind since yesterday.
I don't take out my anger at others, that's not who I am (moslty) so today I was at work and secluded myself from everyone else otherwise I would've exploded in someone's face.
I was also supposed to meet up with friends tonight but with all this shit going on I decided not to go because I would not have been fun to be around.
Left work on time today, fell asleep on the train because I am too exhausted.
When I was about to walk into my house I noticed this little super cute puppy following me. I had no idea where or how long he's been behind me as I was walking home but he seemed way too happy when I saw him. His tail wagging like he's excited to see me even though I have never seen him. I petted him, played a bit with him. He seemed to be the happiest dog ever 😁. He managed to put a smile on my face for the first time in the last few days.
He then ran away.. I guess he got bored 😅
I am feeling so much better now all because of this little puppy 🐶. I'm so glad I ran into him because I've been smiling since then.
I wish I had took a picture of him 😥
Doggo, you probably won't read this, but thanks mate you made my month in those few minutes 🤘
If you have a dog, go pet him and appreciate how much happiness they bring in your life. If you have a cat.. Uhh I don't know... Uhh pray it doesn't kill you in your sleep I guess?
Thanks for reading3
Note: I posted this as a comment, but figured it could be a rant on its own.
I absolutely hate what frameworks like Bootstrap did for the web. True, 10 or 20 years ago quick personal / pet project sites looked plain and boring, and only sites with dedicated developers had a nice layout. But what did Bootstrap bring? Those "minimal effort" sites still look boring as fuck, except now they have Bootstrap look & feel. What's even worse is that thanks to Bootstrap, every fucking UI kit is just Bootstrap with more bloat. To further prove my point, if you google "material CSS" you'll find a ton of projects, and except for the official Google projects, they all look & feel like a mutilated incest child of Bootstrap and MD because instead of making their own implementations, everyone just started with Bootstrap. And the same goes for all sorts of templates which look & feel nothing like Bootstrap, but thanks to its shitty influence devs still start with Bootstrap instead of writing clean CSS which does what a template needs without extra bloat.1
I'd love to start a pet project, but my brain refuses to come up with an idea. 😑
At least I'm used to it, seems like my creativity is not existent.14
It's always a great feeling when a solution you made for a pet project last night turns out to be exactly what you need for issues that arose today.
Pet peeve: the claim that static typing prevents errors.
Today I worked on a C# project that's a mess of nulls, side-effects, inferences, and race conditions. Then I went back to a JS project that's twice the size but written in a clean, well-tested, FP style and currently has fewer than 10 issues logged.
Look, I get that there are upsides to static typing, and I'm open to introducing typescript or flow for our JS code.
I just can't stand the faux-concern from the static typing dingleberries when they are the ones who produce these horrendous lumps of unmaintainable shit, and the JS/Python/Ruby/etc people are over here quietly reinventing functional programming and code modularity.10
I have already started the process of a side project by desiging the software, the architecture, the 3d model, ordered all the electronics of a pet 'smart' stable for my guinea pigs.
Which would automatically feed them and refill their water tanks silently but for me the point on playing around with dozens of sensors for like different water levels, water quality, hay, temperature, water quality (you get the point) ... Building a nice looking web interface or an App to control everything and get a live feed from different angles ( sounds a bit crazy altogether but it looked like a cool project )
I even started a instructable and had a github repo for sharing the source of the app/web interface and the whole micro service based server
I'm still at it and hopefully will start to build the ***ing wood and acrylic parts in the next month's but currently and for the last month's free time ist my archenemy
Keep you posted if you are interested 😀
Finish my only pet project;
Learn a new compiled language;
Get better at functional programming;
Read more books about networks and software engineering;3
Been doing a pet project for almost 5 years now. Actually coding the second version of it. Due to COVID the need for the product itself disappeared, or at least was put on hold, and the time has given me time to think. I'm having serious doubts about completing the project, even though it might help some people in their own projects. It's taken me a lot of time as I've done quite a bit of exploring and trying out new things. I keep tweaking this and that, changing something, questioning, if I did the right thing with some solution..
I would just like to throw my gloves on the table and be done with it. There's no market for this type of product without incredibly heavy marketing and I know that won't happen. Some people try to hype me to finish it. The reason for this is simply so they don't have to use a worse product that exists and my alternative would be free. It might disappoint some people, but I've invested hundreds of hours in this and as I see no good point to it, I should put my time in something else.
I'm not getting paid for this. I have projects where I do get paid in addition to working a full time job. The commitment to this would be too great in the long run and I really don't want that.1
I find myself faced with a morel dillema. Do I work on a pet project of mine and finally get some leadway or play overwatch?
Have you ever been in that situation where you really wanted to start a pet project, but you didn’t have the energy to do it after work, but in the same time you didn’t want to work on your project you have been assigned to at your job, so you slacked all day because you didn’t have the guts to work on your pet project at your job? I’m pathetic.3
the pet project I thought would take 2 weeks but took waaayy longer -.-
tries to get dimensions from the width, works half the time, will make a setup process in the beginning eventually and allow people to change the values.
Background download, lockscreen and wallpaper all use different methods, trying to see which one works better, doesn't use a separate background process by itself hence easier on the system resources.
the "dismiss" is there just so the notifs carry images in phone. Somehow, notifs with just images and no buttons didn't show the images on phone, hence a temporary workaround, will be replaced with actual buttons later :p
Search and sketch don't work the way I want em to, are there but not accessible, will be there eventually.
tips? things I should change? anything?
And not the final logo, took it from a sample package to submit it, will tinker with the logo thing later :p
For people who actually finished or published their pet projects.
How do you plan it?
Time wise, and setting project limits.7
Programmer looking for a new language
I normally never use other people's libraries and instead either write my own library/ies for the specific task or use an old one. I only ever use someone else’s if I need a quick frame work to test an idea, never for something I will actually use.
I prefer to work object / class orientated.
I have worked on distributed servers with NodeJS before, however trying to distribute a load across one computer across it's multiple threads has proved problematic due to the heavy delays of standard io transfer speeds.
Why do I want to switch?:
Side Note: I have been working on a pet project to have a distributed database (made with nodejs), and so far, there are no language specific problems, but I feel like it would be more efficient if I used a programming language designed more to cater for multi threading.5
Well i managed to finish a pet project after a very very long time while drunk coding for the first time. Def gonna do it again 12/104
Family is out of country. Im getting 6 days off because of religious holidays. I think 6 days would be enough to jump start my new pet project. Bring it on!4
Test studying tool. Load your questions and answers in a human-readable format. Take a test. Get summary of results. My pet project at the university, 98% of code is mine. http://gronostajo.github.io/drill2/3
OK. We've got this tiny little pet project of mine (work related)…
I rescued it from the git archive, simply put: someone hot glued an elasticsearch scroll + document processor (processing) together.
After a lot of refactoring, I had an simple, much improved (non-parallel) Akka Worker System without an Akka topology / hierarchy.
I left out the hierarchy at first, because I didn't know Akka at all.
I've worked with a lot of process workflows, and some systems that come very close to IPC, so I wasn't completely in the dark.
Topology requires knowledge / creation of a state machine / process workflow. And at that point of time I just had... Garbage. Partially working garbage.
I finished yesterday the rewrite into several actors... Compared to before, there are 8 actors vs 2... And round about 20 classes more. Mostly since I rewrote the Receive Methods of Akka as Command DTOs... And a lot of functions needed to be seperated into layers (which where non existent before)
Since that felt more natural than the previous chaos of passing strings or other primitive types around, or in the worst case just object....
(Yes: Previously an Actor was essentially a class with one or more functions "doEverything" and maybe a few additional functions which did everything - from Rest Client to Processing)).
Then I draw the actual state machine based on everything I've written in the last weeks and thought about how to create the actual topology and where / how parallelizing might make sense.
Innocent me stumbled in the Akka Docs on Akka Typed... (Didn't know it existed, since I'm very new to Java and Akka).
Hm, that sounds an a lot like what I did. In an different way, yes. But not so different that it might be VERY hard to port to.... And I need to change (for implementation of hierarchy) a few classes....
[I should have known at this stage that my curiosity would get the best of me, but yeah. Curiosity killed the cat.]
Actually the documentation is not bad. It's just that upon reading the first more complex examples, my brain decided to go into panic state.
The've essentially combined all classes in one class in all source code examples [which makes sense more sense later], where it is fscking hard for an chaotic brain like mine to extract information....
The thing is: It's not hard to understand… actually very simple.
It was just my brain throwing an fuck you tantrum.
So I've opened more examples in other tabs and cross referenced what happened there and why...
Few frustrated hours later I got that part.... And the part why it's called Akka Typed. It was pretty simple....
Open the gates of hell, bloody satan that was too easy for fucks sake.
Nooooow.... I just need to port my stuff to Akka Typed.
Cause. Challenge accepted, bitch - eh brain. You throw tantrum, you work overtime. -.-
I just cannot decide wether to go FP or OOP.
Now... I'm curious wether FP is that hard... Hadn't dealt with it at large before.
Can someone please stop me... I'm far too curious again. -.- *cries*6
Tech and product teams have to be aligned. If not, there’s chaos where dev teams suffer. No skunk project(s), no adhoc project(s), No special or pet projects for the CTO or Product Manager. Figure out what needs to get done, plan a road map, plan milestones to get there, consider the folks who ACTUALLY does the work. Protect your teams work-life balance.1
When sales throws you under a bus because you never answer emails promptly about their pet project, yet multiple emails to them asking for a specification for that project go unanswered. When I mentioned the multiple emails the vp of company advised that they do not have the time for trivial stuff such as emails.
Do you guys have people in your office that just REFUSE to cooperate, or people who tell you they'll cooperate, but then they literally do anything except for cooperate?
I'm having trouble with the latter; I've been trying to get one of our less experienced members to work on our deployment. He's successfully configured at least 4 other deployments, and this one is the EXACT SAME as the other ones. The issue is that the person who is im control of this particular master console is someone higher up than me, but they don't know how to delegate. Thus everything that they touch becomes their own little pet project that no one else can dare touch, because they'll "mess it up" (not do it the right way according to his limited bible of best practices).
So now I'm stuck here, trying to convince HIS BOSS to get him access, but i even HE cant get him to do it! Now I'm sitting here waiting, getting more and more fed up with this guy, because like i said, it's his MO: im on two other projects with him, and they're all moving at a GLACIER'S pace.
Seriously, if you dont have the time for a project, but it on the backburner, dont start it and make your other projects suffer.6
[Q] I am working on a small pet project for quite some time now, a basic job searching app (main target IT & fellow devs).
I was wondering if any of you guys have any suggestions, problems to fix that are present in platforms which you are/have been using, ideas?
What really grinds your gears when using other websites and what makes you use them?
P.S am not a recruiter, nor am I working for an agency.
*rating recruiters/companies will be there 100%*1
I want to finally implement a minor pet project I spent some time designing a while ago. It's a web service based on encrypted data handling. I'm willing to get out of my comfort zone (that is .NET) and practice the use of different tech. What do you recommend for it?1
When you ask a question on HN, hoping it will become one of those awesome resources for learning new stuff to use in your small pet project, and it only gets 2 votes and just sits there for the past 3 days...
When is it a good idea to use linked lists?
In my pet project, I want to have a list of items with an index. The index of an item should be updateable, and the index of the other items should adjust.
A linked list would make it very easy to adjust the order since you just need to update the "next" node of 2 items, but I think this would make getting the index of items more troublesome.
What is the preferred way to do something like this, am I just overthinking it, and would updating all the indices of the items not be such a big job?
The project uses React and mongo (express-mongoose) btw, if that's important.4
OK... I give up. I've ranted before about brainstorming myself in a corner with my current pet project. I've known I'm out of my element for a while... Anyone have any tips on how to find a development partner in the node community on a tight budget?
Be agile, practice patterns, read the core literature (GoF, uncle Bob...)
Actually finish a pet project.